class Rufus::Scheduler::EveryJob
Attributes
frequency[R]
Public Class Methods
new(scheduler, duration, opts, block)
click to toggle source
Calls superclass method
Rufus::Scheduler::RepeatJob::new
# File lib/rufus/scheduler/jobs.rb, line 559 def initialize(scheduler, duration, opts, block) super(scheduler, duration, opts, block) @frequency = Rufus::Scheduler.parse_in(@original) fail ArgumentError.new( "cannot schedule #{self.class} with a frequency " + "of #{@frequency.inspect} (#{@original.inspect})" ) if @frequency <= 0 set_next_time(nil) end
Public Instance Methods
check_frequency()
click to toggle source
# File lib/rufus/scheduler/jobs.rb, line 573 def check_frequency fail ArgumentError.new( "job frequency (#{@frequency}s) is higher than " + "scheduler frequency (#{@scheduler.frequency}s)" ) if @frequency < @scheduler.frequency end
next_time_from(time)
click to toggle source
# File lib/rufus/scheduler/jobs.rb, line 581 def next_time_from(time) time + @frequency end
Protected Instance Methods
set_next_time(trigger_time, is_post=false)
click to toggle source
# File lib/rufus/scheduler/jobs.rb, line 588 def set_next_time(trigger_time, is_post=false) return if is_post n = EoTime.now @next_time = if @first_at && (trigger_time == nil || @first_at > n) @first_at else (@next_time || n) + @frequency end end