Class: Synapse::Domain::SimpleDomainEventStream
- Inherits:
-
DomainEventStream
- Object
- DomainEventStream
- Synapse::Domain::SimpleDomainEventStream
- Defined in:
- lib/synapse/domain/simple_stream.rb
Overview
Implementation of a domain event stream that holds a stream of events in memory
Instance Method Summary collapse
- #end? ⇒ Boolean
- #initialize(*events) ⇒ undefined constructor
- #next_event ⇒ DomainEventMessage
- #peek ⇒ DomainEventMessage
Methods inherited from DomainEventStream
Constructor Details
#initialize(*events) ⇒ undefined
7 8 9 10 |
# File 'lib/synapse/domain/simple_stream.rb', line 7 def initialize(*events) @events = events.flatten @next_index = 0 end |
Instance Method Details
#end? ⇒ Boolean
14 15 16 |
# File 'lib/synapse/domain/simple_stream.rb', line 14 def end? @next_index >= @events.size end |
#next_event ⇒ DomainEventMessage
21 22 23 24 25 26 27 28 |
# File 'lib/synapse/domain/simple_stream.rb', line 21 def next_event assert_valid event = @events.at @next_index @next_index += 1 event end |
#peek ⇒ DomainEventMessage
33 34 35 36 |
# File 'lib/synapse/domain/simple_stream.rb', line 33 def peek assert_valid @events.at @next_index end |