Sha256: e9158bcc694cbbaba40bad908a540d548c44b69dc9b0959094b62e4805da2e02

Contents?: true

Size: 1.15 KB

Versions: 17

Compression:

Stored size: 1.15 KB

Contents

module Shoryuken
  module Polling
    QueueConfiguration = Struct.new(:name, :options) do
      def hash
        name.hash
      end

      def ==(other)
        case other
        when String
          if options.empty?
            name == other
          else
            false
          end
        else
          super
        end
      end

      alias_method :eql?, :==

      def to_s
        if options.empty?
          name
        else
          "#<QueueConfiguration #{name} options=#{options.inspect}>"
        end
      end
    end

    class BaseStrategy
      include Util

      def next_queue
        fail NotImplementedError
      end

      def messages_found(queue, messages_found)
        fail NotImplementedError
      end

      def active_queues
        fail NotImplementedError
      end

      def ==(other)
        case other
        when Array
          @queues == other
        else
          if other.respond_to?(:active_queues)
            active_queues == other.active_queues
          else
            false
          end
        end
      end

      private

      def delay
        Shoryuken.options[:delay].to_f
      end
    end
  end
end

Version data entries

17 entries across 17 versions & 1 rubygems

Version Path
shoryuken-3.2.3 lib/shoryuken/polling/base.rb
shoryuken-3.2.2 lib/shoryuken/polling/base.rb
shoryuken-3.2.1 lib/shoryuken/polling/base.rb
shoryuken-3.2.0 lib/shoryuken/polling/base.rb
shoryuken-3.1.12 lib/shoryuken/polling/base.rb
shoryuken-3.1.11 lib/shoryuken/polling/base.rb
shoryuken-3.1.10 lib/shoryuken/polling/base.rb
shoryuken-3.1.9 lib/shoryuken/polling/base.rb
shoryuken-3.1.8 lib/shoryuken/polling/base.rb
shoryuken-3.1.7 lib/shoryuken/polling/base.rb
shoryuken-3.1.6 lib/shoryuken/polling/base.rb
shoryuken-3.1.5 lib/shoryuken/polling/base.rb
shoryuken-3.1.4 lib/shoryuken/polling/base.rb
shoryuken-3.1.3 lib/shoryuken/polling/base.rb
shoryuken-3.1.2 lib/shoryuken/polling/base.rb
shoryuken-3.1.1 lib/shoryuken/polling/base.rb
shoryuken-3.1.0 lib/shoryuken/polling/base.rb