class Rufus::Scheduler::EveryJob
def initialize(scheduler, duration, opts, block)
def initialize(scheduler, duration, opts, block) super(scheduler, duration, opts, block) @frequency = Rufus::Scheduler.parse_in(@original) raise ArgumentError.new( "cannot schedule #{self.class} with a frequency " + "of #{@frequency.inspect} (#{@original.inspect})" ) if @frequency <= 0 set_next_time(false, nil) end
def next_time_from(time)
def next_time_from(time) time + @frequency end
def set_next_time(is_post, trigger_time)
def set_next_time(is_post, trigger_time) return if is_post @next_time = if trigger_time trigger_time + @frequency elsif @first_at < Time.now Time.now + @frequency else @first_at end end