class Sequent::Core::Event
Private Class Methods
Source
# File lib/sequent/core/event.rb, line 18 def initialize(args = {}) update_all_attributes args fail 'Missing aggregate_id' unless @aggregate_id fail 'Missing sequence_number' unless @sequence_number @created_at ||= Time.now end
Private Instance Methods
Source
# File lib/sequent/core/event.rb, line 26 def payload result = {} instance_variables .reject { |k| payload_variables.include?(k) } .select { |k| self.class.types.keys.include?(to_attribute_name(k)) } .each do |k| result[k.to_s[1..-1].to_sym] = instance_variable_get(k) end result end
Source
# File lib/sequent/core/event.rb, line 39 def payload_variables %i[@aggregate_id @sequence_number @created_at] end
Source
# File lib/sequent/core/event.rb, line 45 def to_attribute_name(instance_variable_name) instance_variable_name[1..-1].to_sym end