Class: Transmogrifier::Rules::Modify
- Inherits:
-
Object
- Object
- Transmogrifier::Rules::Modify
- Defined in:
- lib/transmogrifier/rules/modify.rb
Instance Method Summary collapse
- #apply!(input_hash) ⇒ Object
-
#initialize(parent_selector, pattern, replacement) ⇒ Modify
constructor
A new instance of Modify.
Constructor Details
#initialize(parent_selector, pattern, replacement) ⇒ Modify
Returns a new instance of Modify.
4 5 6 |
# File 'lib/transmogrifier/rules/modify.rb', line 4 def initialize(parent_selector, pattern, replacement) @parent_selector, @pattern, @replacement = parent_selector, pattern, replacement end |
Instance Method Details
#apply!(input_hash) ⇒ Object
8 9 10 11 12 13 14 15 16 |
# File 'lib/transmogrifier/rules/modify.rb', line 8 def apply!(input_hash) top = Node.for(input_hash) parent_keys = Selector.from_string(@parent_selector).keys parents = top.find_all(parent_keys) parents.each { |parent| parent.modify(@pattern, @replacement) } top.raw end |