module AMQP::Callbacks
Public Instance Methods
clear_callbacks(event)
click to toggle source
# File lib/amqp/callbacks.rb, line 29 def clear_callbacks(event) @callbacks[event].clear if @callbacks[event] end
define_callback(event, callable = nil, &block)
click to toggle source
# File lib/amqp/callbacks.rb, line 12 def define_callback(event, callable = nil, &block) f = (callable || block) @callbacks[event] ||= [] @callbacks[event] << f if f self end
Also aliased as: append_callback
exec_callback(name, *args, &block)
click to toggle source
# File lib/amqp/callbacks.rb, line 34 def exec_callback(name, *args, &block) list = Array(@callbacks[name]) if list.any? list.each { |c| c.call(*args, &block) } end end
exec_callback_once(name, *args, &block)
click to toggle source
# File lib/amqp/callbacks.rb, line 41 def exec_callback_once(name, *args, &block) list = (@callbacks.delete(name) || Array.new) if list.any? list.each { |c| c.call(*args, &block) } end end
exec_callback_once_yielding_self(name, *args, &block)
click to toggle source
# File lib/amqp/callbacks.rb, line 55 def exec_callback_once_yielding_self(name, *args, &block) list = (@callbacks.delete(name) || Array.new) if list.any? list.each { |c| c.call(self, *args, &block) } end end
exec_callback_yielding_self(name, *args, &block)
click to toggle source
# File lib/amqp/callbacks.rb, line 48 def exec_callback_yielding_self(name, *args, &block) list = Array(@callbacks[name]) if list.any? list.each { |c| c.call(self, *args, &block) } end end
has_callback?(name)
click to toggle source
# File lib/amqp/callbacks.rb, line 63 def has_callback?(name) @callbacks[name] && !@callbacks[name].empty? end
prepend_callback(event, &block)
click to toggle source
# File lib/amqp/callbacks.rb, line 22 def prepend_callback(event, &block) @callbacks[event] ||= [] @callbacks[event].unshift(block) self end
redefine_callback(event, callable = nil, &block)
click to toggle source
# File lib/amqp/callbacks.rb, line 4 def redefine_callback(event, callable = nil, &block) f = (callable || block) # yes, re-assign! @callbacks[event] = [f] self end