Sha256: 9051682b927d3e25ffc6b50f2dc41f33b8987c516df7e7be6d916d4f613448e0
Contents?: true
Size: 914 Bytes
Versions: 1
Compression:
Stored size: 914 Bytes
Contents
require 'queuel/iron_mq/poller' module Queuel module IronMq class Queue def initialize(client, queue_name) self.client = client self.name = queue_name end # For IronMQ it should just be (message) def push(*args) queue_connection.post *args 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 queue_connection @queue_connection ||= client.queue(name) end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
queuel-0.0.1 | lib/queuel/iron_mq/queue.rb |