Class: FakeSQS::Actions::SendMessageBatch
- Inherits:
-
Object
- Object
- FakeSQS::Actions::SendMessageBatch
- Defined in:
- lib/fake_sqs/actions/send_message_batch.rb
Instance Method Summary collapse
- #call(name, params) ⇒ Object
-
#initialize(options = {}) ⇒ SendMessageBatch
constructor
A new instance of SendMessageBatch.
Constructor Details
#initialize(options = {}) ⇒ SendMessageBatch
Returns a new instance of SendMessageBatch.
5 6 7 8 9 |
# File 'lib/fake_sqs/actions/send_message_batch.rb', line 5 def initialize( = {}) @server = .fetch(:server) @queues = .fetch(:queues) @responder = .fetch(:responder) end |
Instance Method Details
#call(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 |
# File 'lib/fake_sqs/actions/send_message_batch.rb', line 11 def call(name, params) queue = @queues.get(name) = params.select { |k,v| k =~ /SendMessageBatchRequestEntry\.\d+\.MessageBody/ } results = {} .each do |key, value| id = key.split('.')[1] msg_id = params.fetch("SendMessageBatchRequestEntry.#{id}.Id") delay = params["SendMessageBatchRequestEntry.#{id}.DelaySeconds"] = queue.("MessageBody" => value, "DelaySeconds" => delay) results[msg_id] = end @responder.call :SendMessageBatch do |xml| results.each do |msg_id, | xml.SendMessageBatchResultEntry do xml.Id msg_id xml.MessageId .id xml.MD5OfMessageBody .md5 end end end end |