Class: FrenzyBunnies::QueueFactory

Inherits:
Object
  • Object
show all
Defined in:
lib/frenzy_bunnies/queue_factory.rb

Instance Method Summary collapse

Constructor Details

#initialize(connection) ⇒ QueueFactory

Returns a new instance of QueueFactory.



2
3
4
# File 'lib/frenzy_bunnies/queue_factory.rb', line 2

def initialize(connection)
  @connection = connection
end

Instance Method Details

#build_queue(name, options) ⇒ Object



6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# File 'lib/frenzy_bunnies/queue_factory.rb', line 6

def build_queue(name, options)
  exchange_name = options[:exchange] || 'frenzy_bunnies'
  exchange_type = options[:exchange_type] || :direct
  routing_key = options[:routing_key] || name
  durable = options[:durable]
  prefetch = options[:prefetch]
  arguments = options[:arguments] || {}

  channel = @connection.create_channel
  channel.prefetch = prefetch

  exchange = channel.exchange(exchange_name, :type => exchange_type, :durable => durable)

  queue = channel.queue(name, :durable => durable, :arguments => arguments)
  queue.bind(exchange, :routing_key => routing_key)
  queue
end