Sha256: 5657d12f01673bfbfe223e9fdc615754aefcfae640101455863534cf35101738

Contents?: true

Size: 865 Bytes

Versions: 8

Compression:

Stored size: 865 Bytes

Contents

require 'queuel/iron_mq/poller'
require 'queuel/base/queue'
require 'forwardable'
require 'securerandom'
module Queuel
  module IronMq
    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(message, options = {})
        queue_connection.post build_push_message(message, options)
      end

      def size
        queue_connection.size
      end

      private
      def pop_bare_message(options = {})
        queue_connection.get options.merge(default_get_message_options)
      end

      def queue_connection
        @queue_connection ||= client.queue(name)
      end

      def default_get_message_options
        { c: SecureRandom.hex }
      end
    end
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
queuel-0.4.8 lib/queuel/iron_mq/queue.rb
queuel-0.4.6 lib/queuel/iron_mq/queue.rb
queuel-0.4.5 lib/queuel/iron_mq/queue.rb
queuel-0.4.4 lib/queuel/iron_mq/queue.rb
queuel-0.4.3 lib/queuel/iron_mq/queue.rb
queuel-0.4.2 lib/queuel/iron_mq/queue.rb
queuel-0.4.1 lib/queuel/iron_mq/queue.rb
queuel-0.4.0 lib/queuel/iron_mq/queue.rb