Class: Wood::NodeRewriter
- Inherits:
-
Object
- Object
- Wood::NodeRewriter
- Defined in:
- lib/wood/node_rewriter.rb
Instance Attribute Summary collapse
-
#node ⇒ Object
readonly
Returns the value of attribute node.
Instance Method Summary collapse
-
#initialize(node, name = nil, parent = nil) ⇒ NodeRewriter
constructor
A new instance of NodeRewriter.
- #method_missing(method, *args, &block) ⇒ Object
- #rewrite(new_node_val) ⇒ Object
Constructor Details
#initialize(node, name = nil, parent = nil) ⇒ NodeRewriter
Returns a new instance of NodeRewriter.
9 10 11 12 13 |
# File 'lib/wood/node_rewriter.rb', line 9 def initialize(node, name = nil, parent = nil) @node = node @parent = parent @name = name end |
Dynamic Method Handling
This class handles dynamic methods through the method_missing method
#method_missing(method, *args, &block) ⇒ Object
15 16 17 |
# File 'lib/wood/node_rewriter.rb', line 15 def method_missing(method, *args, &block) NodeRewriter.new(@node.__send__(method, *args, &block), method, self) end |
Instance Attribute Details
#node ⇒ Object (readonly)
Returns the value of attribute node.
7 8 9 |
# File 'lib/wood/node_rewriter.rb', line 7 def node @node end |
Instance Method Details
#rewrite(new_node_val) ⇒ Object
19 20 21 22 23 24 25 26 27 |
# File 'lib/wood/node_rewriter.rb', line 19 def rewrite(new_node_val) if new_node_val.respond_to? :node new_node_val = new_node_val.node end if @parent && @name @parent.set_child(@name, new_node_val) end end |