Sha256: 50d065042d582a3f54f380d5509cd8f936e9f1b898f07184e1526dd2d01ede57

Contents?: true

Size: 854 Bytes

Versions: 12

Compression:

Stored size: 854 Bytes

Contents

module Eventboss
  class QueueListener
    class << self
      def select(include: nil, exclude: nil)
        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
        Eventboss::Listener::ACTIVE_LISTENERS.each_with_object({}) do |(eventboss_options, listener), queue_listeners|
          queue = Eventboss::Queue.build(
            destination: eventboss_options[:destination_app] || Eventboss.configuration.eventboss_app_name,
            source_app: eventboss_options[:source_app],
            event_name: eventboss_options[:event_name],
            env: Eventboss.env
          )
          queue_listeners[queue] = listener
        end
      end
    end
  end
end

Version data entries

12 entries across 12 versions & 1 rubygems

Version Path
eventboss-1.9.2 lib/eventboss/queue_listener.rb
eventboss-1.9.1 lib/eventboss/queue_listener.rb
eventboss-1.9.0 lib/eventboss/queue_listener.rb
eventboss-1.8.1 lib/eventboss/queue_listener.rb
eventboss-1.8.0 lib/eventboss/queue_listener.rb
eventboss-1.7.0 lib/eventboss/queue_listener.rb
eventboss-1.5.0 lib/eventboss/queue_listener.rb
eventboss-1.4.1 lib/eventboss/queue_listener.rb
eventboss-1.3.5 lib/eventboss/queue_listener.rb
eventboss-1.3.4 lib/eventboss/queue_listener.rb
eventboss-1.3.3 lib/eventboss/queue_listener.rb
eventboss-1.3.2 lib/eventboss/queue_listener.rb