Module: TCB::HandlesEvents::ClassMethods

Defined in:
lib/tcb/handles_events.rb

Instance Method Summary collapse

Instance Method Details

#event_handler_registrationsObject



35
36
37
# File 'lib/tcb/handles_events.rb', line 35

def event_handler_registrations
  @event_handler_registrations
end

#events(*event_classes, stream_id_from_event:) ⇒ Object



27
28
29
30
31
32
33
# File 'lib/tcb/handles_events.rb', line 27

def events(*event_classes, stream_id_from_event:)
  PersistRegistration.new(
    event_classes: event_classes,
    stream_id_from_event: stream_id_from_event,
    context: nil
  )
end

#on(event_class, registration) ⇒ Object



19
20
21
# File 'lib/tcb/handles_events.rb', line 19

def on(event_class, registration)
  @event_handler_registrations << registration.with(event_class: event_class)
end

#persist(registration) ⇒ Object



23
24
25
# File 'lib/tcb/handles_events.rb', line 23

def persist(registration)
  @persist_registrations << registration
end

#persist_registrationsObject



39
40
41
# File 'lib/tcb/handles_events.rb', line 39

def persist_registrations
  @persist_registrations
end

#react_with(*handlers) ⇒ Object



15
16
17
# File 'lib/tcb/handles_events.rb', line 15

def react_with(*handlers)
  EventHandlerRegistration.new(event_class: :undefined, handlers: handlers)
end