generate method

String generate()

Implementation

String generate() {
  final sb = StringBuffer();

  final minutes = (DateTime.now().toUtc().difference(refDate)).inMinutes;

  sb.write(_format36(minutes));
  if (_previousTimestamp == minutes) {
    _counter++;
    sb.write(_format36(_counter));
  } else {
    _counter = 0;
  }

  if (workerId != 0) sb.write(_format36(workerId));
  if (minutes != _startTimestamp) {
    sb.write(_format36(_rand.nextInt(256)));
  } else {
    sb.write(_format36(_rand.nextInt(2048) + 256));
  }

  _previousTimestamp = minutes;

  return sb.toString().toUpperCase();
}