class Hivent::Emitter
Constants
- WILDCARD
Attributes
events[RW]
Public Class Methods
new()
click to toggle source
# File lib/hivent/emitter.rb, line 11 def initialize @events = [] end
Public Instance Methods
broadcast(payload)
click to toggle source
# File lib/hivent/emitter.rb, line 15 def broadcast(payload) emittable_event_names(payload.with_indifferent_access).each do |emittable_event_name| emit(emittable_event_name, payload) end end
emit(name, *data)
click to toggle source
Calls superclass method
# File lib/hivent/emitter.rb, line 21 def emit(name, *data) super(name.to_sym, *data) end
Private Instance Methods
emittable_event_names(payload)
click to toggle source
# File lib/hivent/emitter.rb, line 27 def emittable_event_names(payload) [ event_name(payload), [event_name(payload), event_version(payload)].join(":"), WILDCARD ] end
event_name(payload)
click to toggle source
# File lib/hivent/emitter.rb, line 35 def event_name(payload) payload[:meta].try(:[], :name) end
event_version(payload)
click to toggle source
# File lib/hivent/emitter.rb, line 39 def event_version(payload) payload[:meta].try(:[], :version) end