getMessage static method

String getMessage(
  1. CoffeeSituation situation,
  2. CoffeeRoastLevel roastLevel, {
  3. String? timeString,
  4. int? overrideMinutes,
  5. List<String>? customMessages,
})

Implementation

static String getMessage(
    CoffeeSituation situation, CoffeeRoastLevel roastLevel, {
      String? timeString,
      int? overrideMinutes,
      List<String>? customMessages,
    }) {
  // 1. Prefer custom messages if provided
  final messages = customMessages ?? _getMessages(situation, roastLevel);

  if (messages.isEmpty) return "Coffee required.";

  final index = DateTime.now().minute % messages.length;
  String msg = messages[index];

  if (timeString != null) {
    msg = msg.replaceAll('{time}', timeString);
  }
  if (overrideMinutes != null) {
    msg = msg.replaceAll('{minutes}', overrideMinutes.toString());
  }

  return msg;
}