class MessageSqs
Attributes
name[R]
Public Class Methods
Public Instance Methods
deq(size=1, &block)
click to toggle source
# File lib/message-sqs.rb, line 20 def deq(size=1, &block) msgs = @client.receive_message(req_params(:max_number_of_messages => size)) Array(msgs[:messages]).each do |msg| begin block.call(msg[:body]) ensure @client.delete_message(req_params(:receipt_handle => msg[:receipt_handle])) end end end
enq(msg)
click to toggle source
# File lib/message-sqs.rb, line 15 def enq(msg) @client.send_message(req_params(:message_body => msg)) end
Also aliased as: <<
size()
click to toggle source
# File lib/message-sqs.rb, line 31 def size attr_name = 'ApproximateNumberOfMessages' ret = @client.get_queue_attributes(req_params(:attribute_names => [attr_name])) ret[:attributes][attr_name].to_i end
Private Instance Methods
req_params(params)
click to toggle source
# File lib/message-sqs.rb, line 38 def req_params(params) {:queue_url => @queue_url}.merge(params) end