module Sequent::Core::SerializesEvent
Public Class Methods
Source
# File lib/sequent/core/event_record.rb, line 76 def self.included(host_class) host_class.extend(ClassMethods) end
Public Instance Methods
Source
# File lib/sequent/core/event_record.rb, line 48 def event payload = serialize_json? ? Sequent::Core::Oj.strict_load(event_json) : event_json Class.const_get(event_type).deserialize_from_json(payload) end
Source
# File lib/sequent/core/event_record.rb, line 53 def event=(event) self.aggregate_id = event.aggregate_id self.sequence_number = event.sequence_number self.event_type = event.class.name self.created_at = event.created_at self.event_json = serialize_json? ? self.class.serialize_to_json(event) : event.attributes Sequent.configuration.event_record_hooks_class.after_serialization(self, event) end
Source
# File lib/sequent/core/event_record.rb, line 80 def serialize_json? self.class.serialize_json? end