lib/queuel/iron_mq/queue.rb in queuel-0.0.1 vs lib/queuel/iron_mq/queue.rb in queuel-0.1.0

- old
+ new

@@ -1,37 +1,26 @@ require 'queuel/iron_mq/poller' +require 'queuel/base/queue' +require 'forwardable' module Queuel module IronMq - class Queue - def initialize(client, queue_name) - self.client = client - self.name = queue_name + class Queue < Base::Queue + extend Forwardable + def_delegators :queue_connection, :peek + + def peek(options = {}) + Array(queue_connection.peek(options)) end # For IronMQ it should just be (message) - def push(*args) - queue_connection.post *args + def push(message) + queue_connection.post message end - def pop(*args, &block) - bare_message = queue_connection.get(*args) - unless bare_message.nil? - Message.new_from_iron_mq_object(bare_message).tap { |message| - if block_given? && !message.nil? - yield message - message.delete - end - } - end - end - - def receive(options = {}, &block) - Poller.new(self, options, block).poll - end - private - attr_accessor :client - attr_accessor :name + def pop_bare_message(options = {}) + queue_connection.get options + end def queue_connection @queue_connection ||= client.queue(name) end end