class EventStoreClient::Mapper::Default
Attributes
serializer[R]
Public Class Methods
new(serializer: Serializer::Json)
click to toggle source
# File lib/event_store_client/mapper/default.rb, line 39 def initialize(serializer: Serializer::Json) @serializer = serializer end
Public Instance Methods
deserialize(event, **)
click to toggle source
# File lib/event_store_client/mapper/default.rb, line 15 def deserialize(event, **) metadata = serializer.deserialize(event.metadata) data = serializer.deserialize(event.data) event_class = begin Object.const_get(event.type) rescue NameError EventStoreClient::DeserializedEvent end event_class.new( skip_validation: true, id: event.id, type: event.type, title: event.title, data: data, metadata: metadata ) end
serialize(event)
click to toggle source
# File lib/event_store_client/mapper/default.rb, line 6 def serialize(event) Event.new( id: event.respond_to?(:id) ? event.id : nil, type: (event.respond_to?(:type) ? event.type : nil) || event.class.to_s, data: serializer.serialize(event.data), metadata: serializer.serialize(event.metadata) ) end