Module: Sequent::Core::SerializesEvent

Included in:
EventRecord
Defined in:
lib/sequent/core/event_record.rb

Instance Method Summary collapse

Instance Method Details

#eventObject



8
9
10
11
# File 'lib/sequent/core/event_record.rb', line 8

def event
  payload = Sequent::Core::Oj.strict_load(self.event_json)
  Class.const_get(self.event_type).deserialize_from_json(payload)
end

#event=(event) ⇒ Object



13
14
15
16
17
18
19
20
# File 'lib/sequent/core/event_record.rb', line 13

def event=(event)
  self.aggregate_id = event.aggregate_id
  self.sequence_number = event.sequence_number
  self.organization_id = event.organization_id if event.respond_to?(:organization_id)
  self.event_type = event.class.name
  self.created_at = event.created_at
  self.event_json = Sequent::Core::Oj.dump(event.attributes)
end