Sha256: 70471f9452e76c24148353e75edb3e8477b66605bfdc563d3d933ff0778aa971

Contents?: true

Size: 809 Bytes

Versions: 2

Compression:

Stored size: 809 Bytes

Contents

module Eventboss
  class QueueListener
    class << self
      def select(include:, exclude:)
        listeners = list.values.map(&:name)

        listeners &= include if include
        listeners -= exclude if exclude

        list.select { |_queue, listener| listeners.include?(listener.name) }
      end

      private

      def list
        Hash[Eventboss::Listener::ACTIVE_LISTENERS.map do |src_app_event, opts|
          [
            Eventboss::Queue.new(
              [
                opts[:destination_app] || Eventboss.configuration.eventboss_app_name,
                Eventboss.configuration.sns_sqs_name_infix,
                src_app_event,
                Eventboss.env
              ].join('-')
            ),
            opts[:listener]
          ]
        end]
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
eventboss-1.3.1 lib/eventboss/queue_listener.rb
eventboss-1.3.0 lib/eventboss/queue_listener.rb