class RubyEventStore::SerializedRecord
Constants
- StringsRequired
Attributes
Public Class Methods
Source
# File lib/ruby_event_store/serialized_record.rb, line 6 def initialize(event_id:, data:, metadata:, event_type:, timestamp:, valid_at:) raise StringsRequired unless [event_id, event_type].all? { |v| v.instance_of?(String) } @event_id = event_id @data = data @metadata = metadata @event_type = event_type @timestamp = timestamp @valid_at = valid_at freeze end
Public Instance Methods
Source
# File lib/ruby_event_store/serialized_record.rb, line 23 def ==(other) other.instance_of?(self.class) && other.event_id.eql?(event_id) && other.data.eql?(data) && other.metadata.eql?(metadata) && other.event_type.eql?(event_type) && other.timestamp.eql?(timestamp) && other.valid_at.eql?(valid_at) end
Also aliased as: eql?
Source
# File lib/ruby_event_store/serialized_record.rb, line 40 def deserialize(serializer) Record.new( event_id: event_id, event_type: event_type, data: serializer.load(data), metadata: serializer.load(metadata), timestamp: Time.iso8601(timestamp), valid_at: Time.iso8601(valid_at), ) end
Source
# File lib/ruby_event_store/serialized_record.rb, line 19 def hash [event_id, data, metadata, event_type, timestamp, valid_at].hash ^ self.class.hash end
Source
# File lib/ruby_event_store/serialized_record.rb, line 29 def to_h { event_id: event_id, data: data, metadata: metadata, event_type: event_type, timestamp: timestamp, valid_at: valid_at, } end