Class: Metamorpher::Transformer::Merger
- Inherits:
-
Struct
- Object
- Struct
- Metamorpher::Transformer::Merger
- Defined in:
- lib/metamorpher/transformer/merger.rb
Instance Attribute Summary collapse
-
#original ⇒ Object
Returns the value of attribute original.
Instance Method Summary collapse
Instance Attribute Details
#original ⇒ Object
Returns the value of attribute original
5 6 7 |
# File 'lib/metamorpher/transformer/merger.rb', line 5 def original @original end |
Instance Method Details
#merge(*replacements, &block) ⇒ Object
6 7 8 9 10 11 12 13 14 15 |
# File 'lib/metamorpher/transformer/merger.rb', line 6 def merge(*replacements, &block) original.dup.tap do |merged| replacements.sort.reduce(0) do |offset, replacement| yield replacement if block replacement = replacement.(offset) replacement.merge_into(merged) offset + replacement.offset end end end |