Sha256: b03b63520eb729310799f44cb0ac5a38b5c1aa3d5ba0949d87c9b97a6675784c

Contents?: true

Size: 794 Bytes

Versions: 13

Compression:

Stored size: 794 Bytes

Contents

module Eventboss
  class Queue
    include Comparable
    attr_reader :name

    def self.build_name(source:, destination:, event:, env:, generic:)
      source =
        if generic
          ''
        else
          "#{source}-"
        end

      "#{destination}-#{Eventboss.configuration.sns_sqs_name_infix}-#{source}#{event}-#{env}"
    end

    def initialize(name, configuration = Eventboss.configuration)
      @client = configuration.sqs_client
      @name = name
    end

    def url
      @url ||= client.get_queue_url(queue_name: name).queue_url
    end

    def <=>(another_queue)
      name <=> another_queue&.name
    end

    def eql?(another_queue)
      name == another_queue&.name
    end

    def hash
      name.hash
    end

    private

    attr_reader :client
  end
end

Version data entries

13 entries across 13 versions & 1 rubygems

Version Path
eventboss-1.3.1 lib/eventboss/queue.rb
eventboss-1.3.0 lib/eventboss/queue.rb
eventboss-1.2.1 lib/eventboss/queue.rb
eventboss-1.2.0 lib/eventboss/queue.rb
eventboss-1.1.3 lib/eventboss/queue.rb
eventboss-1.1.2 lib/eventboss/queue.rb
eventboss-1.1.1 lib/eventboss/queue.rb
eventboss-1.1.0 lib/eventboss/queue.rb
eventboss-1.0.6 lib/eventboss/queue.rb
eventboss-1.0.5 lib/eventboss/queue.rb
eventboss-1.0.4 lib/eventboss/queue.rb
eventboss-1.0.3 lib/eventboss/queue.rb
eventboss-1.0.2 lib/eventboss/queue.rb