class Lita::Timing::TimeParser

Constants

DAYS

Public Class Methods

day_string_to_int(string) click to toggle source
# File lib/lita/timing/time_parser.rb, line 14
def self.day_string_to_int(string)
  wday = DAYS[string.to_s.downcase.to_sym]
  raise ArgumentError, "Expected one of: monday, tuesday, wednesday, thursday, friday, saturday or sunday" if wday.nil?
  wday
end
day_strings_to_ints(strings) click to toggle source
# File lib/lita/timing/time_parser.rb, line 20
def self.day_strings_to_ints(strings)
  strings.map { |string| day_string_to_int(string) }
end
extract_hours_and_minutes(string) click to toggle source
# File lib/lita/timing/time_parser.rb, line 24
def self.extract_hours_and_minutes(string)
  _, hours, minutes = *string.match(/\A(\d{1,2}):(\d{2})\Z/)
  if hours.nil? || minutes.nil?
    raise ArgumentError, "time should be HH:MM"
  end
  if hours.to_i < 0 || hours.to_i > 23 || minutes.to_i < 0 || minutes.to_i > 59
    raise ArgumentError, "time should be HH:MM"
  end
  return hours.to_i, minutes.to_i
end