Module: Qyu::Workers::Concerns::Callback

Included in:
Base
Defined in:
lib/qyu/workers/concerns/callback.rb

Instance Method Summary collapse

Instance Method Details

#callback(method, type, &block) ⇒ Object

Meant to add callbacks to Qyu::Worker

Usage:

Qyu::Worker.new do

callback :execute, :after do
  # Do something after execution
end

end



18
19
20
21
22
# File 'lib/qyu/workers/concerns/callback.rb', line 18

def callback(method, type, &block)
  @_callbacks ||= {}
  @_callbacks[method] ||= {}
  @_callbacks[method][type] = block
end

#run_callbacks(method, &block) ⇒ Object



24
25
26
27
28
# File 'lib/qyu/workers/concerns/callback.rb', line 24

def run_callbacks(method, &block)
  find_callback(method, :before)&.call
  find_callback(method, :around) ? find_callback(method, :around).call(block) : yield
  find_callback(method, :after)&.call
end