Class: RubyTransform::Transformers::Composite
- Inherits:
-
RubyTransform::Transformer
- Object
- RubyTransform::Transformer
- RubyTransform::Transformers::Composite
- Defined in:
- lib/ruby_transform/transformers/composite.rb
Overview
Composite Transformer
Combines transformations by chaining them.
Example:
RubyTransform::Transformers::Composite.new([
RubyTransform::Transformers::Eachifier.new,
RubyTransform::Transformers::BlockMethodToProcifier.new,
RubyTransform::Transformers::Tapifier.new
])
Instance Method Summary collapse
-
#initialize(transformers = []) ⇒ Composite
constructor
A new instance of Composite.
Methods inherited from RubyTransform::Transformer
Methods included from RubyTransform::TransformerHelpers
Constructor Details
#initialize(transformers = []) ⇒ Composite
Returns a new instance of Composite.
16 17 18 19 20 21 22 23 24 |
# File 'lib/ruby_transform/transformers/composite.rb', line 16 def initialize(transformers = []) class_eval do define_method :transform do |e| transformers.inject(e) do |transformed, transformer| transformer.transform(transformed) end end end end |