module Fleck

Constants

VERSION

Attributes

config[R]

Public Class Methods

configure() { |config| ... } click to toggle source
# File lib/fleck.rb, line 22
def self.configure
  yield @config if block_given?
  @config
end
connection(options = {}) click to toggle source
# File lib/fleck.rb, line 37
def self.connection(options = {})
  opts = Fleck.config.default_options.merge(options)
  key  = "ampq://#{opts[:user]}@#{opts[:host]}:#{opts[:port]}#{opts[:vhost]}"
  conn = @connections[key]
  if !conn || conn.closed?
    opts[:logger] = Fleck.logger.clone
    opts[:logger].progname += "::Bunny"
    logger.info "New connection #{key}"
    conn = Bunny.new(opts)
    conn.start
    @connections[key] = conn
  end
  return conn
end
logger() click to toggle source
# File lib/fleck.rb, line 27
def self.logger
  @config.logger
end
register_consumer(consumer_class) click to toggle source
# File lib/fleck.rb, line 31
def self.register_consumer(consumer_class)
  unless @consumers.include?(consumer_class)
    @consumers << consumer_class
  end
end
terminate() click to toggle source
# File lib/fleck.rb, line 52
def self.terminate
  @connections.each do |key, connection|
    begin
      Fleck.logger.info "Closing connection #{key}"
      connection.close
    rescue => e
      Fleck.logger.error e.inspect
    end
  end
  @connections.clear

  true
end