Class: EventStoreClient::Serializer::EventSerializer

Inherits:
Object
  • Object
show all
Defined in:
lib/event_store_client/serializer/event_serializer.rb

Constant Summary collapse

ALLOWED_EVENT_METADATA =
%w[type content-type created_at].freeze

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(serializer:) ⇒ EventSerializer

Returns a new instance of EventSerializer.

Parameters:

  • serializer (#serialize, #deserialize)


21
22
23
# File 'lib/event_store_client/serializer/event_serializer.rb', line 21

def initialize(serializer:)
  @serializer = serializer
end

Class Method Details

.call(event, serializer: Serializer::Json) ⇒ EventStoreClient::SerializedEvent

Parameters:

Returns:



12
13
14
# File 'lib/event_store_client/serializer/event_serializer.rb', line 12

def call(event, serializer: Serializer::Json)
  new(serializer: serializer).call(event)
end

Instance Method Details

#call(event) ⇒ EventStoreClient::SerializedEvent



27
28
29
30
31
32
33
34
35
36
37
# File 'lib/event_store_client/serializer/event_serializer.rb', line 27

def call(event)
   = (event)
   = (event, )
  SerializedEvent.new(
    id: event.id || SecureRandom.uuid,
    data: data(event),
    custom_metadata: ,
    metadata: .slice(*ALLOWED_EVENT_METADATA),
    serializer: serializer
  )
end