Parent

Files

Moqueue::MockQueue

Attributes

name[R]

Public Class Methods

new(name) click to toggle source
# File lib/moqueue/mock_queue.rb, line 11
def new(name)
  if existing_queue = MockBroker.instance.find_queue(name)
    return existing_queue
  end
  super
end
new(name) click to toggle source
# File lib/moqueue/mock_queue.rb, line 20
def initialize(name)
  @name = name
  MockBroker.instance.register_queue(self)
end

Public Instance Methods

acked_messages() click to toggle source
# File lib/moqueue/mock_queue.rb, line 91
def acked_messages
  received_messages_and_headers.map do |r|
    r[:message] if @ack_msgs && r[:headers].received_ack?
  end
end
bind(exchange, key=nil) click to toggle source
# File lib/moqueue/mock_queue.rb, line 74
def bind(exchange, key=nil)
  exchange.attach_queue(self, key)
  self
end
callback_defined?() click to toggle source
# File lib/moqueue/mock_queue.rb, line 102
def callback_defined?
  !!message_handler_callback
end
null_subscribe() click to toggle source

configures a do-nothing subscribe block to force received messages to be processed and stored in received_messages

# File lib/moqueue/mock_queue.rb, line 109
def null_subscribe
  subscribe {|msg| nil}
  self
end
prefetch(size) click to toggle source
# File lib/moqueue/mock_queue.rb, line 56
def prefetch(size)
  # noop
end
publish(message, opts = {}) click to toggle source
# File lib/moqueue/mock_queue.rb, line 64
def publish(message, opts = {})
  if message_handler_callback
    receive(message)
  else
    deferred_publishing_fibers << Fiber.new do
      receive(message)
    end
  end
end
receive(message, header_opts={}) click to toggle source
# File lib/moqueue/mock_queue.rb, line 34
def receive(message, header_opts={})
  if callback = message_handler_callback
    headers = MockHeaders.new(header_opts)
    callback.call(*(callback.arity == 1 ? [message] : [headers, message]))
    received_messages_and_headers << {:message => message, :headers => headers}
  else
    receive_message_later(message, header_opts)
  end
end
received_ack_for_message?(message_content) click to toggle source
# File lib/moqueue/mock_queue.rb, line 60
def received_ack_for_message?(message_content)
  acked_messages.include?(message_content)
end
received_headers() click to toggle source
# File lib/moqueue/mock_queue.rb, line 87
def received_headers
  received_messages_and_headers.map{ |r| r[:headers] }
end
received_message?(message_content) click to toggle source
# File lib/moqueue/mock_queue.rb, line 44
def received_message?(message_content)
  received_messages.include?(message_content)
end
received_messages() click to toggle source
# File lib/moqueue/mock_queue.rb, line 83
def received_messages
  received_messages_and_headers.map{|r| r[:message] }
end
received_messages_and_headers() click to toggle source
# File lib/moqueue/mock_queue.rb, line 79
def received_messages_and_headers
  @received_messages_and_headers ||= []
end
received_routing_key?(key) click to toggle source
# File lib/moqueue/mock_queue.rb, line 48
def received_routing_key?(key)
  received_messages_and_headers.find { |r| r[:headers] && r[:headers].properties[:routing_key] == key }
end
run_callback(*args) click to toggle source
# File lib/moqueue/mock_queue.rb, line 97
def run_callback(*args)
  callback = message_handler_callback
  callback.call(*(callback.arity == 1 ? [args.first] : args))
end
subscribe(opts={}, &block) click to toggle source
# File lib/moqueue/mock_queue.rb, line 25
def subscribe(opts={}, &block)
  if @subscribe_block 
    raise DoubleSubscribeError, "you can't subscribe to the same queue twice"
  end
  @subscribe_block = block
  @ack_msgs = opts[:ack] || false
  process_unhandled_messages
end
unsubscribe() click to toggle source
# File lib/moqueue/mock_queue.rb, line 52
def unsubscribe
  true
end

[Validate]

Generated with the Darkfish Rdoc Generator 2.