class Gentle::Queue

Attributes

client[R]

Public Class Methods

new(client) click to toggle source
# File lib/gentle/queue.rb, line 4
def initialize(client)
  @client = client
end

Public Instance Methods

approximate_pending_messages() click to toggle source
# File lib/gentle/queue.rb, line 22
def approximate_pending_messages
  client.from_quiet_queue.approximate_number_of_messages
end
receive() click to toggle source
# File lib/gentle/queue.rb, line 13
def receive
  queue = client.from_quiet_queue
  message = nil
  queue.receive_message do |msg|
    message = build_message(msg)
  end
  message || Message.new
end
send(message) click to toggle source
# File lib/gentle/queue.rb, line 8
def send(message)
  queue = client.to_quiet_queue
  queue.send_message(message.to_xml)
end

Private Instance Methods

build_message(msg) click to toggle source
# File lib/gentle/queue.rb, line 28
def build_message(msg)
  if received_error? msg
    ErrorMessage.new(xml: msg.body)
  else
    Message.new(xml: msg.body)
  end
end
received_error?(msg) click to toggle source
# File lib/gentle/queue.rb, line 36
def received_error?(msg)
  msg.body.include? "<ErrorMessage"
end