Sha256: 3df54dc49b2681e87cd14dfb75fb8f633f87dd47058993ffe4fc0c9b65410a40

Contents?: true

Size: 1.11 KB

Versions: 1

Compression:

Stored size: 1.11 KB

Contents

# frozen_string_literal: true

require 'emittance/version'
require 'emittance/errors'

require 'emittance/helpers/string_helpers'
require 'emittance/helpers/constant_helpers'
require 'emittance/event_lookup'
require 'emittance/brokerage'
require 'emittance/broker'
require 'emittance/registration'
require 'emittance/event'
require 'emittance/emitter'
require 'emittance/watcher'
require 'emittance/action'
require 'emittance/dispatcher'

##
# The base namespace for this library. You can do some basic configuration stuff by calling methods on its singleton.
#
module Emittance
  class << self
    # Enable eventing process-wide.
    def enable!
      Emittance::Brokerage.enable!
    end

    # Disable eventing process-wide.
    def disable!
      Emittance::Brokerage.disable!
    end

    # @return [Boolean] true if eventing is enabled, false otherwise.
    def enabled?
      Emittance::Brokerage.enabled?
    end

    # Not yet implemented!
    # :nocov:
    # @private
    def suppress(&_blk)
      raise NotImplementedError, "This isn't working yet!"
      # Emittance::Dispatcher.suppress(&blk)
    end
    # :nocov:
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
emittance-0.0.3 lib/emittance.rb