class Akasha::Storage::HttpEventStore::EventSerializer
Serializes and deserializes events to and from the format required by the HTTP Eventstore API
Public Instance Methods
deserialize(es_events)
click to toggle source
# File lib/akasha/storage/http_event_store/event_serializer.rb, line 23 def deserialize(es_events) es_events.map do |ev| metadata = ev['metaData']&.symbolize_keys || {} data = ev['data']&.symbolize_keys || {} revision = ev['eventNumber'] updated_at = Time.iso8601(ev['updated']) if ev.key?('updated') event = Akasha::RecordedEvent.new(ev['eventType'].to_sym, ev['eventId'], revision, updated_at, metadata, **data) event end end
serialize(events)
click to toggle source
# File lib/akasha/storage/http_event_store/event_serializer.rb, line 11 def serialize(events) events.map do |event| base = { 'eventType' => event.name, 'data' => event.data, 'metaData' => event.metadata } base['eventId'] = event.id unless event.id.nil? base end end