lib/bunny/queue.rb in celldee-bunny-0.0.2 vs lib/bunny/queue.rb in celldee-bunny-0.0.3

- old
+ new

@@ -14,23 +14,35 @@ ) end def pop(opts = {}) self.delivery_tag = nil + + # do we want the header? + hdr = opts.delete(:header) + client.send_frame( - Protocol::Basic::Get.new({ :queue => name, :consumer_tag => name, :no_ack => !opts.delete(:ack), :nowait => true }.merge(opts)) + Protocol::Basic::Get.new({ :queue => name, + :consumer_tag => name, + :no_ack => !opts.delete(:ack), + :nowait => true }.merge(opts)) ) method = client.next_method return unless method.is_a?(Protocol::Basic::GetOk) self.delivery_tag = method.delivery_tag header = client.next_payload msg = client.next_payload raise 'unexpected length' if msg.length < header.size - msg + if hdr + [header, msg] + else + msg + end + end def ack client.send_frame( Protocol::Basic::Ack.new(:delivery_tag => delivery_tag) @@ -59,20 +71,25 @@ def bind(exchange, opts = {}) exchange = exchange.respond_to?(:name) ? exchange.name : exchange bindings[exchange] = opts client.send_frame( - Protocol::Queue::Bind.new({ :queue => name, :exchange => exchange, :routing_key => opts.delete(:key), :nowait => true }.merge(opts)) + Protocol::Queue::Bind.new({ :queue => name, + :exchange => exchange, + :routing_key => opts.delete(:key), + :nowait => true }.merge(opts)) ) end def unbind(exchange, opts = {}) exchange = exchange.respond_to?(:name) ? exchange.name : exchange bindings.delete(exchange) client.send_frame( - Protocol::Queue::Unbind.new({ - :queue => name, :exchange => exchange, :routing_key => opts.delete(:key), :nowait => true }.merge(opts) + Protocol::Queue::Unbind.new({ :queue => name, + :exchange => exchange, + :routing_key => opts.delete(:key), + :nowait => true }.merge(opts) ) ) end def delete(opts = {}) \ No newline at end of file