class FistOfFury::Schedule
Attributes
ice_cube_schedule[RW]
last_occurrence[RW]
options[RW]
Public Class Methods
new()
click to toggle source
# File lib/fist_of_fury/schedule.rb, line 5 def initialize start_time = FistOfFury.config.utc ? Time.now.utc : Time.now self.ice_cube_schedule = IceCube::Schedule.new(start_time) end
Public Instance Methods
method_missing(meth, *args, &block)
click to toggle source
Calls superclass method
# File lib/fist_of_fury/schedule.rb, line 10 def method_missing(meth, *args, &block) if IceCube::Rule.respond_to?(meth) rule = IceCube::Rule.send(meth, *args, &block) ice_cube_schedule.add_recurrence_rule(rule) rule elsif ice_cube_schedule.respond_to?(meth) ice_cube_schedule.send(meth, *args, &block) else super end end
scheduled_time_met?(time)
click to toggle source
# File lib/fist_of_fury/schedule.rb, line 22 def scheduled_time_met?(time) self.last_occurrence = next_occurrence(time) unless last_occurrence return false if last_occurrence_is_next_occurrence?(time) self.last_occurrence = next_occurrence(time) true end
to_s()
click to toggle source
# File lib/fist_of_fury/schedule.rb, line 29 def to_s ice_cube_schedule.to_s end
Private Instance Methods
last_occurrence_is_next_occurrence?(time)
click to toggle source
# File lib/fist_of_fury/schedule.rb, line 35 def last_occurrence_is_next_occurrence?(time) last_occurrence == next_occurrence(time) end
next_occurrence(time)
click to toggle source
# File lib/fist_of_fury/schedule.rb, line 39 def next_occurrence(time) ice_cube_schedule.next_occurrence(time) end