class BunnyBurrow::Base
Attributes
log_prefix[RW]
log_request[RW]
log_request?[RW]
log_response[RW]
log_response?[RW]
logger[RW]
rabbitmq_connection[RW]
rabbitmq_exchange[RW]
rabbitmq_url[RW]
timeout[RW]
verify_peer[RW]
verify_peer?[RW]
Public Class Methods
new() { |self| ... }
click to toggle source
# File lib/bunny_burrow/base.rb, line 27 def initialize @log_request = false @log_response = false @timeout = 60 @verify_peer = true @own_connection = true yield self if block_given? @connection = @rabbitmq_connection @own_connection = @connection.nil? end
Public Instance Methods
shutdown()
click to toggle source
# File lib/bunny_burrow/base.rb, line 40 def shutdown return if @shutdown log 'Shutting down' channel.close connection.close if @own_connection @shutdown = true end
Private Instance Methods
channel()
click to toggle source
# File lib/bunny_burrow/base.rb, line 59 def channel @channel ||= connection.create_channel end
condition()
click to toggle source
# File lib/bunny_burrow/base.rb, line 75 def condition @condition ||= ConditionVariable.new end
connection()
click to toggle source
# File lib/bunny_burrow/base.rb, line 50 def connection unless @connection @connection = Bunny.new(rabbitmq_url, verify_peer: @verify_peer) @connection.start end @connection end
default_exchange()
click to toggle source
# File lib/bunny_burrow/base.rb, line 63 def default_exchange @default_exchange ||= channel.default_exchange end
lock()
click to toggle source
# File lib/bunny_burrow/base.rb, line 71 def lock @lock ||= Mutex.new end
log(message, level: :info)
click to toggle source
# File lib/bunny_burrow/base.rb, line 79 def log(message, level: :info) return unless logger prefix = log_prefix || 'BunnyBurrow' message = "#{prefix}: #{message}" logger.send(level, message) end
topic_exchange()
click to toggle source
# File lib/bunny_burrow/base.rb, line 67 def topic_exchange @topic_exchange ||= channel.topic(rabbitmq_exchange, durable: true) end