Sha256: 4907fd508d140ff8afedea91a87b97f06c2571834abcec18aadd0d173c742c98
Contents?: true
Size: 746 Bytes
Versions: 39
Compression:
Stored size: 746 Bytes
Contents
module DispatchRider module Callbacks class Storage def initialize @callbacks = {} end def before(event, block_param = nil, &block) around(event) do |job, *args| (block_param || block).call(*args) job.call end end def after(event, block_param = nil, &block) around(event) do |job, *args| begin job.call ensure (block_param || block).call(*args) end end end def around(event, block_param = nil, &block) @callbacks[event] ||= [] @callbacks[event] << (block_param || block) end def for(event) @callbacks[event] || [] end end end end
Version data entries
39 entries across 39 versions & 1 rubygems