class Eventboss::Queue

Attributes

client[R]
name[R]

Public Class Methods

build(destination:, event_name:, env:, source_app: nil) click to toggle source
# File lib/eventboss/queue.rb, line 19
def build(destination:, event_name:, env:, source_app: nil)
  name = build_name(
    destination: destination,
    event_name: event_name,
    env: env,
    source_app: source_app
  )
  Queue.new(name)
end
build_name(destination:, event_name:, env:, source_app: nil) click to toggle source
# File lib/eventboss/queue.rb, line 9
def build_name(destination:, event_name:, env:, source_app: nil)
  [
    destination,
    Eventboss.configuration.sns_sqs_name_infix,
    source_app,
    event_name,
    env
  ].compact.join('-')
end
new(name) click to toggle source
# File lib/eventboss/queue.rb, line 30
def initialize(name)
  @client = Eventboss.configuration.sqs_client
  @name = name
end

Public Instance Methods

<=>(another_queue) click to toggle source
# File lib/eventboss/queue.rb, line 48
def <=>(another_queue)
  name <=> another_queue&.name
end
arn() click to toggle source
# File lib/eventboss/queue.rb, line 39
def arn
  [
    'arn:aws:sqs',
    Eventboss.configuration.eventboss_region,
    Eventboss.configuration.eventboss_account_id,
    name
  ].join(':')
end
eql?(another_queue) click to toggle source
# File lib/eventboss/queue.rb, line 52
def eql?(another_queue)
  name == another_queue&.name
end
hash() click to toggle source
# File lib/eventboss/queue.rb, line 56
def hash
  name.hash
end
to_s() click to toggle source
# File lib/eventboss/queue.rb, line 60
def to_s
  "<Eventboss::Queue: #{name}>"
end
url() click to toggle source
# File lib/eventboss/queue.rb, line 35
def url
  @url ||= client.get_queue_url(queue_name: name).queue_url
end