class PerfectQueue::Application::Base

Attributes

decider[R]

Public Class Methods

decider() click to toggle source
# File lib/perfectqueue/application/base.rb, line 23
def self.decider
  DefaultDecider
end
decider=(decider_klass) click to toggle source
# File lib/perfectqueue/application/base.rb, line 27
def self.decider=(decider_klass)
  (class<<self;self;end).instance_eval do
    self.__send__(:define_method, :decider) { decider_klass }
  end
  decider_klass
end
new(task) click to toggle source
Calls superclass method
# File lib/perfectqueue/application/base.rb, line 34
def initialize(task)
  super
  @decider = self.class.decider.new(self)
end

Public Instance Methods

after_perform() click to toggle source

def perform end

# File lib/perfectqueue/application/base.rb, line 61
def after_perform
end
before_perform() click to toggle source
# File lib/perfectqueue/application/base.rb, line 54
def before_perform
  true
end
decide!(type, option={}) click to toggle source
# File lib/perfectqueue/application/base.rb, line 64
def decide!(type, option={})
  @decider.decide!(type, option)
end
run() click to toggle source
# File lib/perfectqueue/application/base.rb, line 41
def run
  begin
    return unless before_perform
    begin
      perform
    ensure
      after_perform
    end
  rescue
    decide! :unexpected_error_raised, :error=>$!
  end
end