class EvilEvents::Core::System::Broadcaster

@api private @since 0.1.0

Attributes

adapters_container[R]

@return [EvilEvents::Core::Broadcasting::Adapters]

@since 0.1.0

event_emitter[R]

@return [EvilEvents::Core::Broadcasting::Emitter]

@since 0.1.0

event_notifier[R]

@return [EvilEvents::Core::Events::Notifier::Abstract]

@since 0.3.0

Public Class Methods

new() click to toggle source

@since 0.1.0

# File lib/evil_events/core/system/broadcaster.rb, line 23
def initialize
  @adapters_container = EvilEvents::Core::Broadcasting::Adapters.new
  @event_emitter      = EvilEvents::Core::Broadcasting::Emitter.new
  @event_notifier     = EvilEvents::Core::Events::Notifier::Proxy.new

  @adapters_container.register_core_adapters!
end

Public Instance Methods

emit(event, adapter: nil) click to toggle source

@param event [EvilEvents::Core::Events::AbstractEvent] @option adapter [Symbol,NilClass] @return void

@since 0.1.0

# File lib/evil_events/core/system/broadcaster.rb, line 36
def emit(event, adapter: nil)
  event_emitter.emit(event, adapter: adapter)
end
process_event_notification(manager, event) click to toggle source

@param manager [EvilEvents::Core::Events::Manager] @param event [EvilEvents::Core::Events::AbstractEvent] @return void

@since 0.3.0

# File lib/evil_events/core/system/broadcaster.rb, line 76
def process_event_notification(manager, event)
  event_notifier.notify(manager, event)
end
raw_emit(event_type, id: nil, payload: {}, metadata: {}, adapter: nil) click to toggle source

@param event_type [String] @option id [NilClass,String] @option payload [Hash] @option metadata [Hash] @option adapter [Symbol,NilClass] @return void

@since 0.1.0

# File lib/evil_events/core/system/broadcaster.rb, line 48
def raw_emit(event_type, id: nil, payload: {}, metadata: {}, adapter: nil)
  event_emitter.raw_emit(
    event_type, id: id, payload: payload, metadata: metadata, adapter: adapter
  )
end
register_adapter(adapter_name, adapter_object) click to toggle source

@param adapter_name [Symbol, String] @param adapter_object [Object] @return void

@since 0.1.0

# File lib/evil_events/core/system/broadcaster.rb, line 67
def register_adapter(adapter_name, adapter_object)
  adapters_container.register(adapter_name, adapter_object)
end
resolve_adapter(adapter_name) click to toggle source

@param adapter_name [Symbol, String] @return [EvilEvents::Core::Broadcasting::Dispatcher::Dispatchable]

@since 0.1.0

# File lib/evil_events/core/system/broadcaster.rb, line 58
def resolve_adapter(adapter_name)
  adapters_container.resolve(adapter_name)
end
restart_event_notifier() click to toggle source

@return void

@since 0.3.0

# File lib/evil_events/core/system/broadcaster.rb, line 83
def restart_event_notifier
  event_notifier.restart!
end