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 529
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

Protected Instance Methods

next_time_from(time) click to toggle source
# File lib/rufus/scheduler/jobs.rb, line 559
def next_time_from(time)

  time + @frequency
end
set_next_time(trigger_time, is_post=false) click to toggle source
# File lib/rufus/scheduler/jobs.rb, line 545
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