class Altria::Scheduler
Constants
- CRON_REGEXP
Public Class Methods
new(schedule)
click to toggle source
Takes a schedule as a String.
# File lib/altria/scheduler.rb, line 6 def initialize(schedule) @result, @min, @hour, @day, @month, @wday = *schedule.match(CRON_REGEXP) validate end
Public Instance Methods
scheduled?()
click to toggle source
# File lib/altria/scheduler.rb, line 11 def scheduled? [:min, :hour, :day, :month, :wday].all? do |key| send(key).nil? || send(key) == now.send(key) end end
Private Instance Methods
day()
click to toggle source
# File lib/altria/scheduler.rb, line 27 def day @day.to_i if @day != "*" end
hour()
click to toggle source
# File lib/altria/scheduler.rb, line 23 def hour @hour.to_i if @hour != "*" end
min()
click to toggle source
# File lib/altria/scheduler.rb, line 19 def min @min.to_i if @min != "*" end
month()
click to toggle source
# File lib/altria/scheduler.rb, line 31 def month @month.to_i if @month != "*" end
now()
click to toggle source
# File lib/altria/scheduler.rb, line 39 def now @now ||= Time.now end
raise_argument_error()
click to toggle source
# File lib/altria/scheduler.rb, line 51 def raise_argument_error raise ArgumentError, "Input must match with #{CRON_REGEXP}" end
valid?()
click to toggle source
# File lib/altria/scheduler.rb, line 47 def valid? !!@result end
validate()
click to toggle source
# File lib/altria/scheduler.rb, line 43 def validate raise_argument_error unless valid? end
wday()
click to toggle source
# File lib/altria/scheduler.rb, line 35 def wday @wday.to_i if @wday != "*" end