class Rufus::CronLine

def initialize(line)

def initialize(line)
  super()
  @original = line
  items = line.split
  @timezone = (TZInfo::Timezone.get(items.last) rescue nil)
  items.pop if @timezone
  raise ArgumentError.new(
    "not a valid cronline : '#{line}'"
  ) unless items.length == 5 or items.length == 6
  offset = items.length - 5
  @seconds = offset == 1 ? parse_item(items[0], 0, 59) : [ 0 ]
  @minutes = parse_item(items[0 + offset], 0, 59)
  @hours = parse_item(items[1 + offset], 0, 24)
  @days = parse_item(items[2 + offset], 1, 31)
  @months = parse_item(items[3 + offset], 1, 12)
  @weekdays = parse_weekdays(items[4 + offset])
end