Sha256: 9ef271237a21e0bfb01b702d404d7bde0acd92ccc040bffc0a5cb13282d3d143

Contents?: true

Size: 1.39 KB

Versions: 2

Compression:

Stored size: 1.39 KB

Contents

require 'concurrent'
require 'dry-configurable'
require 'virtus'
require 'active_support'
require 'active_support/notifications'
require 'active_support/core_ext'

require 'messaging/config'
require 'messaging/expected_version'
require 'messaging/instrumentation'
require 'messaging/meter'
require 'messaging/exception_handler'
require 'messaging/message'
require 'messaging/message/from_json'
require 'messaging/routing'
require 'messaging/routes'
require 'messaging/base_handler'
require 'messaging/adapters'
require 'messaging/middleware'
require 'messaging/publish'
require 'messaging/rails/railtie' if defined? ::Rails

module Messaging
  def self.setup(&block)
    Config.setup(&block)
  end

  def self.config
    Config.config
  end

  def self.logger
    Config.logger
  end

  def self.consumer_adapter
    Adapters[Config.consumer.adapter]
  end

  def self.dispatcher
    Adapters::Dispatcher.default
  end

  def self.message_store
    Adapters::Store.default
  end

  def self.[](adapter)
    Adapters[adapter]
  end

  def self.routes
    @routes ||= Routes.new
  end

  def self.stream(name)
    name = name.stream_name if name.respond_to?(:stream_name)
    message_store.stream(name)
  end

  def self.defined_messages
    ObjectSpace.each_object(Class).select { |c| c.included_modules.include? Messaging::Message }
  end

  def self.in_consumer_mode?
    File.basename($PROGRAM_NAME) == 'messaging'
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
messaging-3.4.2 lib/messaging.rb
messaging-3.4.1 lib/messaging.rb