Class: ActionSubscriber::RouteSet

Inherits:
Object
  • Object
show all
Includes:
Bunny::Subscriber, MarchHare::Subscriber
Defined in:
lib/action_subscriber/route_set.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from Bunny::Subscriber

#auto_pop!, #auto_subscribe!, #bunny_consumers, #cancel_consumers!, #create_queue

Methods included from Logging

initialize_logger, logger, #logger, logger=

Methods included from MarchHare::Subscriber

#auto_pop!, #auto_subscribe!, #cancel_consumers!, #create_queue, #march_hare_consumers

Constructor Details

#initialize(routes) ⇒ RouteSet



11
12
13
# File 'lib/action_subscriber/route_set.rb', line 11

def initialize(routes)
  @routes = routes
end

Instance Attribute Details

#routesObject (readonly)

Returns the value of attribute routes.



9
10
11
# File 'lib/action_subscriber/route_set.rb', line 9

def routes
  @routes
end

Instance Method Details

#setup_subscriptions!Object



15
16
17
18
19
20
21
22
23
24
25
# File 'lib/action_subscriber/route_set.rb', line 15

def setup_subscriptions!
  fail ::RuntimeError, "you cannot setup queues multiple times, this should only happen once at startup" unless subscriptions.empty?
  routes.each do |route|
    route.concurrency.times do
      subscriptions << {
        :route => route,
        :queue => setup_queue(route),
      }
    end
  end
end