class MailHandler::SQS::Client
Yields an interface to a specific sqs queue
Attributes
queues[RW]
Public Class Methods
new(config)
click to toggle source
# File lib/interfaces/sqs.rb, line 19 def initialize(config) all_queues = ::AWS::SQS.new( access_key_id: config[:access_key_id], secret_access_key: config[:secret_access_key], region: config[:aws_region] ).queues @queues = config[:sqs_queues].map do |queue_name| all_queues.named queue_name end @batch_size = config[:batch_size] || 1 end
Public Instance Methods
fetch_messages()
click to toggle source
# File lib/interfaces/sqs.rb, line 33 def fetch_messages [ @queues.map do |queue| queue.receive_messages(limit: @batch_size) end ].flatten.compact end