class Scheduler

Constants

TIMEOUT_MULTIPLIER

Attributes

completed[RW]
completed?[RW]

Public Class Methods

build_class_instance_fields(options) click to toggle source
# File lib/remme/scheduler.rb, line 24
def build_class_instance_fields(options)
  @@class_instance_fields.each do |field_name|
    instance_variable_set("@#{field_name}", options.delete(field_name))
  end
end
run(options) click to toggle source
# File lib/remme/scheduler.rb, line 15
def run(options)
  build_class_instance_fields(options)
  perform_in(options.delete(:timeout).to_i * TIMEOUT_MULTIPLIER)
end

Public Instance Methods

perform() click to toggle source
# File lib/remme/scheduler.rb, line 31
def perform
  complete_after { notify }
end

Private Instance Methods

complete_after() { || ... } click to toggle source
# File lib/remme/scheduler.rb, line 43
def complete_after
  yield
  self.class.completed = true
end
notify() click to toggle source
# File lib/remme/scheduler.rb, line 37
def notify
  with_callbacks do
    self.class.notifier.run(self.class.message)
  end
end
with_callbacks() { || ... } click to toggle source
# File lib/remme/scheduler.rb, line 48
def with_callbacks
  self.class.before_hook.call
  yield
  self.class.after_hook.call
end