class Emittance::Brokerage

The clearinghouse for brokers. Registers brokers, and decides which broker to use when sent an event. First point of contact for event propagation.

Attributes

enabled[RW]

Public Class Methods

broker() click to toggle source

@return [Class] the currently selected broker

# File lib/emittance/brokerage.rb, line 19
def broker
  @current_broker
end
disable!() click to toggle source

Disables event propagation.

# File lib/emittance/brokerage.rb, line 44
def disable!
  self.enabled = false
end
enable!() click to toggle source

Enables event propagation.

# File lib/emittance/brokerage.rb, line 39
def enable!
  self.enabled = true
end
enabled?() click to toggle source

@return [Boolean] true if event propagation is enabled, false otherwise

# File lib/emittance/brokerage.rb, line 49
def enabled?
  enabled
end
register_broker(broker, symbol) click to toggle source

@param broker [Emittance::Broker] the broker you would like to register

# File lib/emittance/brokerage.rb, line 29
def register_broker(broker, symbol)
  registry.register broker, symbol
end
registry() click to toggle source

@return [Module] the registry containing all broker registrations

# File lib/emittance/brokerage.rb, line 34
def registry
  Emittance::Brokerage::Registry
end
send_event(event) click to toggle source

@param event [Emittance::Event] the event object

# File lib/emittance/brokerage.rb, line 14
def send_event(event)
  broker.process_event(event) if enabled?
end
use_broker(identifier) click to toggle source

@param identifier [Symbol] the symbol you have registered the broker to

# File lib/emittance/brokerage.rb, line 24
def use_broker(identifier)
  @current_broker = registry.fetch identifier
end