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