Class: FakeSQS::Actions::DeleteMessageBatch
- Inherits:
-
Object
- Object
- FakeSQS::Actions::DeleteMessageBatch
- Defined in:
- lib/fake_sqs/actions/delete_message_batch.rb
Instance Method Summary collapse
- #call(name, params) ⇒ Object
-
#initialize(options = {}) ⇒ DeleteMessageBatch
constructor
A new instance of DeleteMessageBatch.
Constructor Details
#initialize(options = {}) ⇒ DeleteMessageBatch
Returns a new instance of DeleteMessageBatch.
5 6 7 8 9 |
# File 'lib/fake_sqs/actions/delete_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 |
# File 'lib/fake_sqs/actions/delete_message_batch.rb', line 11 def call(name, params) queue = @queues.get(name) receipts = params.select { |k,v| k =~ /DeleteMessageBatchRequestEntry\.\d+\.ReceiptHandle/ } deleted = [] receipts.each do |key, value| id = key.split('.')[1] queue.(value) deleted << params.fetch("DeleteMessageBatchRequestEntry.#{id}.Id") end @responder.call :DeleteMessageBatch do |xml| deleted.each do |id| xml.DeleteMessageBatchResultEntry do xml.Id id end end end end |