class Rufus::Scheduler::RepeatJob

def initialize(scheduler, duration, opts, block)

def initialize(scheduler, duration, opts, block)
  super
  @paused_at = nil
  @times = opts[:times]
  @first_at_no_error = opts[:first_at_no_error] || false
  fail ArgumentError.new(
    "cannot accept :times => #{@times.inspect}, not nil or an int"
  ) unless @times == nil || @times.is_a?(Integer)
  self.first_at =
    opts[:first] || opts[:first_time] ||
    opts[:first_at] || opts[:first_in] ||
    nil
  self.last_at =
    opts[:last] || opts[:last_at] || opts[:last_in]
  @resume_discard_past = nil
end