class Elected::Scheduler::Job

Attributes

callback[R]
name[R]
schedules[R]

Public Class Methods

new(name, &blk) click to toggle source
# File lib/elected/scheduler/job.rb, line 9
def initialize(name, &blk)
  @name      = name.to_s
  @callback  = blk if block_given?
  @schedules = Set.new
end

Public Instance Methods

at(options = {}) click to toggle source
# File lib/elected/scheduler/job.rb, line 21
def at(options = {})
  schedules.add Schedule.new(options)
  self
end
execute() click to toggle source
# File lib/elected/scheduler/job.rb, line 30
def execute
  callback.call
  true
rescue Exception => e
  error "Exception: #{e.class.name} : #{e.message}\n  #{e.backtrace[0, 10].join("\n  ")}"
  return false
end
inspect()
Alias for: to_s
matches?(time) click to toggle source
# File lib/elected/scheduler/job.rb, line 26
def matches?(time)
  schedules.any? { |s| s.matches? time }
end
run(&blk) click to toggle source
# File lib/elected/scheduler/job.rb, line 15
def run(&blk)
  raise 'must pass a block' unless block_given?
  @callback = blk
  self
end
to_s() click to toggle source
# File lib/elected/scheduler/job.rb, line 38
def to_s
  %{#<#{self.class.name} name="#{name}" schedules=#{schedules.map { |x| x.to_s }.inspect}>}
end
Also aliased as: inspect