module Qyu::Workers::Concerns::Callback
Qyu::Workers::Concerns::Callback
Meant to add callbacks to Qyu::Worker
Usage:
Qyu::Worker.new do
callback :execute, :after do # Do something after execution end
end
Public Instance Methods
callback(method, type, &block)
click to toggle source
Adds a callback option to worker
callback :execute, :after do # Do something after execution end callback :execute, :before do # Do something before execution end callback :execute, :around do # Do something around execution end
@param [Symbol] just :execute for now @param [Symbol] callback type @param [block] block to execute as callback
# File lib/qyu/workers/concerns/callback.rb, line 36 def callback(method, type, &block) @_callbacks ||= {} @_callbacks[method] ||= {} @_callbacks[method][type] = block end
run_callbacks(method) { || ... }
click to toggle source
# File lib/qyu/workers/concerns/callback.rb, line 42 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
Private Instance Methods
find_callback(method, type)
click to toggle source
# File lib/qyu/workers/concerns/callback.rb, line 50 def find_callback(method, type) @_callbacks.dig(method, type) if @_callbacks.is_a?(Hash) end