Sha256: 4b2e346e9656f7e73bdb6b3401adc603847eec3344e09ecbf5a82a30eba8deba

Contents?: true

Size: 991 Bytes

Versions: 1

Compression:

Stored size: 991 Bytes

Contents

require 'firehose/version'

require 'amqp'
require 'logger'

module Firehose
  autoload :Subscription, 'firehose/subscription'
  autoload :Publisher,    'firehose/publisher'
  autoload :Producer,     'firehose/producer'
  autoload :Consumer,     'firehose/consumer'
  autoload :Default,      'firehose/default'
  autoload :Broker,       'firehose/broker'
  autoload :Rack,         'firehose/rack'
  autoload :CLI,          'firehose/cli'

  # TODO move this into a configuration or session class.
  # Hang on to AMQP configuration settings.
  def self.amqp
    @amqp ||= Struct.new(:connection).new(AMQP.connect)
  end

  # TODO figure out a better way to memoize AMQP connection for production runtimes, and 
  # make it resetable for testing environment. Some sort of Firehose::Session object is probably
  # in order
  def self.reset!
    @amqp = nil
  end

  # Logging
  def self.logger
    @logger ||= Logger.new($stdout)
  end

  def self.logger=(logger)
    @logger = logger
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
firehose-0.0.16 lib/firehose.rb