class Chrono::Schedule

Constants

TABLE

Attributes

source[R]

Public Class Methods

new(source) click to toggle source
# File lib/chrono/schedule.rb, line 13
def initialize(source)
  if @fields = TABLE[source]
  elsif %r<\A[ \t]*(?:(?<field>\S+)[ \t]+){4}\g<field>[ \t]*\z> !~ source
    raise Chrono::Fields::Base::InvalidField.new('invalid source', source)
  end
  @source = source
end

Public Instance Methods

days() click to toggle source
# File lib/chrono/schedule.rb, line 29
def days
  Fields::Day.new(fields[2]).to_a
end
days?() click to toggle source
# File lib/chrono/schedule.rb, line 41
def days?
  fields[2] != '*'
end
hours() click to toggle source
# File lib/chrono/schedule.rb, line 25
def hours
  Fields::Hour.new(fields[1]).to_a
end
minutes() click to toggle source
# File lib/chrono/schedule.rb, line 21
def minutes
  Fields::Minute.new(fields[0]).to_a
end
months() click to toggle source
# File lib/chrono/schedule.rb, line 33
def months
  Fields::Month.new(fields[3]).to_a
end
wdays() click to toggle source
# File lib/chrono/schedule.rb, line 37
def wdays
  Fields::Wday.new(fields[4]).to_a
end
wdays?() click to toggle source
# File lib/chrono/schedule.rb, line 45
def wdays?
  fields[4] != '*'
end

Private Instance Methods

fields() click to toggle source
# File lib/chrono/schedule.rb, line 51
def fields
  @fields ||= source.split(" ")
end