| Class | Delayed::Lifecycle |
| In: |
lib/delayed/lifecycle.rb
|
| Parent: | Object |
| EVENTS | = | { :enqueue => [:job], :execute => [:worker], :loop => [:worker], :perform => [:worker, :job], :error => [:worker, :job], :failure => [:worker, :job], :invoke_job => [:job] |
# File lib/delayed/lifecycle.rb, line 15
15: def initialize
16: @callbacks = EVENTS.keys.inject({}) { |hash, e| hash[e] = Callback.new; hash }
17: end
# File lib/delayed/lifecycle.rb, line 23
23: def after(event, &block)
24: add(:after, event, &block)
25: end
# File lib/delayed/lifecycle.rb, line 27
27: def around(event, &block)
28: add(:around, event, &block)
29: end
# File lib/delayed/lifecycle.rb, line 19
19: def before(event, &block)
20: add(:before, event, &block)
21: end
# File lib/delayed/lifecycle.rb, line 31
31: def run_callbacks(event, *args, &block)
32: missing_callback(event) unless @callbacks.has_key?(event)
33:
34: unless EVENTS[event].size == args.size
35: raise ArgumentError, "Callback #{event} expects #{EVENTS[event].size} parameter(s): #{EVENTS[event].join(', ')}"
36: end
37:
38: @callbacks[event].execute(*args, &block)
39: end