class EvilEvents::Core::Broadcasting::Emitter
@api private @since 0.1.0
Public Instance Methods
emit(event, adapter: nil)
click to toggle source
@param event [EvilEvents::Core::Events::AbstractEvent] @option adapter [Symbol,NilClass] @raise [EvilEvents::IncorrectEventForEmitError] @return [void]
@since 0.1.0
# File lib/evil_events/core/broadcasting/emitter.rb, line 13 def emit(event, adapter: nil) unless event.is_a?(EvilEvents::Core::Events::AbstractEvent) raise EvilEvents::IncorrectEventForEmitError end adapter_proxy = AdapterProxy.new(event, explicit_identifier: adapter) log_activity(event, adapter_proxy) adapter_proxy.broadcast! 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/broadcasting/emitter.rb, line 32 def raw_emit(event_type, id: nil, payload: {}, metadata: {}, adapter: nil) event_object = EvilEvents::Core::Bootstrap[:event_system].resolve_event_object( event_type, id: id, payload: payload, metadata: metadata ) emit(event_object, adapter: adapter) end
Private Instance Methods
log_activity(event, adapter_proxy)
click to toggle source
@param event [EvilEvents::Core::Events::AbstractEvent] @param adapter_proxy [EvilEvents::Core::Broadcasting::Emitter::AdapterProxy] @return [void]
@since 0.1.0
# File lib/evil_events/core/broadcasting/emitter.rb, line 47 def log_activity(event, adapter_proxy) activity = "EventEmitted(#{adapter_proxy.identifier})" message = "ID: #{event.id} :: " \ "TYPE: #{event.type} :: " \ "PAYLOAD: #{event.payload} :: " \ "METADATA: #{event.metadata}" EvilEvents::Core::ActivityLogger.log(activity: activity, message: message) end