Class: Yes::Core::Middlewares::Timestamp

Inherits:
Object
  • Object
show all
Includes:
PgEventstore::Middleware
Defined in:
lib/yes/core/middlewares/timestamp.rb

Overview

PgEventstore middleware that adds a created_at timestamp to event metadata on serialization and parses it back on deserialization.

Instance Method Summary collapse

Instance Method Details

#deserialize(event) ⇒ PgEventstore::Event

Parameters:

  • event (PgEventstore::Event)

Returns:

  • (PgEventstore::Event)


20
21
22
23
24
25
# File 'lib/yes/core/middlewares/timestamp.rb', line 20

def deserialize(event)
  return event unless event..key?('created_at')

  event.['created_at'] = Time.zone.parse(event.['created_at'])
  event
end

#serialize(event) ⇒ PgEventstore::Event

Parameters:

  • event (PgEventstore::Event)

Returns:

  • (PgEventstore::Event)


13
14
15
16
# File 'lib/yes/core/middlewares/timestamp.rb', line 13

def serialize(event)
  event.[:created_at] ||= Time.now.utc
  event
end