Class: FakeSQS::Actions::ReceiveMessage
- Inherits:
-
Object
- Object
- FakeSQS::Actions::ReceiveMessage
- Defined in:
- lib/fake_sqs/actions/receive_message.rb
Instance Method Summary collapse
- #call(queue_name, params) ⇒ Object
-
#initialize(options = {}) ⇒ ReceiveMessage
constructor
A new instance of ReceiveMessage.
Constructor Details
#initialize(options = {}) ⇒ ReceiveMessage
Returns a new instance of ReceiveMessage.
5 6 7 8 9 |
# File 'lib/fake_sqs/actions/receive_message.rb', line 5 def initialize( = {}) @server = .fetch(:server) @queues = .fetch(:queues) @responder = .fetch(:responder) end |
Instance Method Details
#call(queue_name, params) ⇒ Object
11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
# File 'lib/fake_sqs/actions/receive_message.rb', line 11 def call(queue_name, params) queue = @queues.get(queue_name) filtered_attribute_names = [] params.select{|k,v | k =~ /AttributeName\.\d+/}.each do |key, value| filtered_attribute_names << value end = queue.(params.merge(queues: @queues)) @responder.call :ReceiveMessage do |xml| .each do |receipt, | xml.Message do xml.MessageId .id xml.ReceiptHandle receipt xml.MD5OfBody .md5 xml.Body .body .attributes.each do |name, value| if filtered_attribute_names.include?("All") || filtered_attribute_names.include?(name) xml.Attribute do xml.Name name xml.Value value end end end end end end end |