Class: EventSourcery::EventStore::EventBuilder

Inherits:
Object
  • Object
show all
Defined in:
lib/event_sourcery/event_store/event_builder.rb

Instance Method Summary collapse

Constructor Details

#initialize(event_type_serializer:) ⇒ EventBuilder



4
5
6
# File 'lib/event_sourcery/event_store/event_builder.rb', line 4

def initialize(event_type_serializer:)
  @event_type_serializer = event_type_serializer
end

Instance Method Details

#build(**event_data) ⇒ Object



8
9
10
11
12
# File 'lib/event_sourcery/event_store/event_builder.rb', line 8

def build(**event_data)
  type = event_data.fetch(:type)
  klass = event_type_serializer.deserialize(type)
  upcast(klass.new(**event_data))
end