class RubyEventStore::Mappers::Pipeline

Attributes

transformations[R]

Public Class Methods

new(*transformations, to_domain_event: Transformation::DomainEvent.new) click to toggle source
# File lib/ruby_event_store/mappers/pipeline.rb, line 6
def initialize(*transformations, to_domain_event: Transformation::DomainEvent.new)
  @transformations = [to_domain_event, transformations].flatten.freeze
end

Public Instance Methods

dump(event) click to toggle source
# File lib/ruby_event_store/mappers/pipeline.rb, line 10
def dump(event)
  transformations.reduce(event) { |item, transform| transform.dump(item) }
end
load(record) click to toggle source
# File lib/ruby_event_store/mappers/pipeline.rb, line 14
def load(record)
  transformations.reverse.reduce(record) { |item, transform| transform.load(item) }
end