module AMQP::Callbacks

Public Instance Methods

append_callback(event, callable = nil, &block)
Alias for: define_callback
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