class Realize::Pipeline
Main runner that encapsulates a collection of transformers and knows how to kick off the transformation process.
Attributes
resolver[R]
transformers[R]
Public Class Methods
new(transformers = [], resolver: Objectable.resolver)
click to toggle source
# File lib/realize/pipeline.rb, line 16 def initialize(transformers = [], resolver: Objectable.resolver) raise ArgumentError, 'resolver is required' unless resolver @resolver = resolver @transformers = Transformers.array(transformers) freeze end
Public Instance Methods
transform(record, time = Time.now.utc)
click to toggle source
# File lib/realize/pipeline.rb, line 25 def transform(record, time = Time.now.utc) transformers.inject(record) do |memo, transformer| transformer.transform(resolver, memo, time, record) end end