class MessageQueue::Adapters::Bunny::Connection

Attributes

connection[R]

Public Instance Methods

connect() click to toggle source

Public: Connect to RabbitMQ

Returns the Bunny instance

Calls superclass method MessageQueue::Connection#connect
# File lib/message_queue/adapters/bunny/connection.rb, line 7
def connect
  @connection ||= begin
                    super
                    bunny = ::Bunny.new(bunny_settings)
                    bunny.start
                    bunny
                  end
end
connected?() click to toggle source

Public: Check if it's connected to the message queue

Returns true if it's connected

# File lib/message_queue/adapters/bunny/connection.rb, line 30
def connected?
  @connection.open? if @connection
end
disconnect() click to toggle source

Public: Disconnect from RabbitMQ

Returns nothing

Calls superclass method MessageQueue::Connection#disconnect
# File lib/message_queue/adapters/bunny/connection.rb, line 19
def disconnect
  if @connection
    super
    @connection.close if @connection.open?
    @connection = nil
  end
end
new_consumer(options) click to toggle source
# File lib/message_queue/adapters/bunny/connection.rb, line 40
def new_consumer(options)
  raise "No connection to RabbitMQ" unless connection

  Consumer.new(self, options)
end
new_producer(options) click to toggle source
# File lib/message_queue/adapters/bunny/connection.rb, line 34
def new_producer(options)
  raise "No connection to RabbitMQ" unless connection

  Producer.new(self, options)
end

Private Instance Methods

bunny_settings() click to toggle source
# File lib/message_queue/adapters/bunny/connection.rb, line 48
def bunny_settings
  default_bunny_settings.merge(settings)
end
default_bunny_settings() click to toggle source
# File lib/message_queue/adapters/bunny/connection.rb, line 52
def default_bunny_settings
  {
    :heartbeat => 1,
    :automatically_recover => true,
    :network_recovery_interval => 1
  }
end