class SimpleMessaging::MessageQueue::SQS
Attributes
name[R]
Public Class Methods
new(name)
click to toggle source
# File lib/simple_messaging/message_queue/sqs.rb, line 9 def initialize(name) @sqs = Aws::SQS::Client.new @queue_url = @sqs.create_queue(queue_name: queue_name(name.to_s)).queue_url @name = name end
Public Instance Methods
delete()
click to toggle source
# File lib/simple_messaging/message_queue/sqs.rb, line 31 def delete MessageQueue.unregister_queue(name) @queue.delete end
enqueue(message)
click to toggle source
# File lib/simple_messaging/message_queue/sqs.rb, line 15 def enqueue(message) @sqs.send_message(queue_url: @queue_url, message_body: message) end
poll() { |body| ... }
click to toggle source
# File lib/simple_messaging/message_queue/sqs.rb, line 24 def poll(&block) poller = Aws::SQS::QueuePoller.new(@queue_url) poller.poll do |message| yield message.body end end
pop() { |messages.body| ... }
click to toggle source
# File lib/simple_messaging/message_queue/sqs.rb, line 19 def pop(&block) response = @sqs.receive_message(queue_url: @queue_url) yield response.messages.first.body end
Private Instance Methods
queue_identifier()
click to toggle source
# File lib/simple_messaging/message_queue/sqs.rb, line 38 def queue_identifier case MessageQueue.environment when "development" prefix = (ENV["SQS_IDENTIFIER"] || `whoami`).strip "#{prefix}-development" else MessageQueue.environment end end