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