Sha256: 3fe63d52f7fbc08d978a0f7c507837bebc9d38673cc1e80a071021a5ace577c0

Contents?: true

Size: 888 Bytes

Versions: 1

Compression:

Stored size: 888 Bytes

Contents

# frozen_string_literal: true

require 'logger'
require 'forwardable'
require 'bunny'
require 'jackhammer/log'
require 'jackhammer/null_exception_adapter'
require 'jackhammer/configuration'
require 'jackhammer/message_receiver'
require 'jackhammer/queue'
require 'jackhammer/topic'
require 'jackhammer/topic_manager'
require 'jackhammer/publish'
require 'jackhammer/server'

module Jackhammer
  class << self
    attr_accessor :configuration
    attr_writer :connection

    def configure
      @configuration = Configuration.instance
      yield @configuration
    end

    def connection
      @connection ||= Bunny.new(
        Jackhammer.configuration.connection_url,
        Jackhammer.configuration.connection_options
      ).start
    end

    def channel
      @channel ||= connection.create_channel
    end

    def topics
      @topics ||= TopicManager.topics
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
jackhammer-0.1.0 lib/jackhammer.rb