class Rufus::Scheduler
def do_schedule_at (at, params={}, &block)
schedule_every). It's protected, don't use it directly.
The core method behind schedule_at and schedule_in (and also
def do_schedule_at (at, params={}, &block) #puts "0 at is '#{at.to_s}' (#{at.class})" at = Rufus::to_ruby_time(at) \ if at.kind_of?(String) at = Rufus::to_gm_time(at) \ if at.kind_of?(DateTime) at = at.to_f \ if at.kind_of?(Time) #puts "1 at is '#{at.to_s}' (#{at.class})"}" jobClass = params[:every] ? EveryJob : AtJob job_id = params[:job_id] b = to_block(params, &block) job = jobClass.new(self, at, job_id, params, &b) #do_unschedule(job_id) if job_id if at < (Time.new.to_f + @precision) job.trigger() unless params[:discard_past] return nil end @schedule_queue << job job.job_id end