Module: PubSub::Emit

Defined in:
lib/pub_sub/emit.rb

Instance Method Summary collapse

Instance Method Details

#emit(event_name, explicit_payload = {}) ⇒ Object



6
7
8
9
10
11
12
13
14
15
# File 'lib/pub_sub/emit.rb', line 6

def emit(event_name, explicit_payload = {})
  abstract_event_class = explicit_payload.delete(:abstract_event_class)
  event_class = EventClassFactory.build(
    event_name,
    domain_name: self.class.name.deconstantize.demodulize,
    abstract_event_class:
  )

  EventEmission.new(abstract_event_class, event_class, event_name, explicit_payload, self).call
end