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