Class: Perb::Rewriter
- Inherits:
-
Parser::TreeRewriter
- Object
- Parser::TreeRewriter
- Perb::Rewriter
- Defined in:
- lib/perb.rb
Overview
This is a tree rewriter that will insert the wrapper code around every method definition.
Instance Method Summary collapse
Instance Method Details
#on_def(node) ⇒ Object
11 12 13 14 15 16 17 18 19 20 21 22 23 |
# File 'lib/perb.rb', line 11 def on_def(node) line = node.location.line || "line?" column = node.location.column || "column?" method_name = node.children[0] || "*unknown*" file_name = @source_rewriter.source_buffer.name method_info = "#{method_name} @ #{file_name}:#{line}:#{column}" block = node.children[2] return if block.nil? insert_before(block.loc.expression, "Perb::wrapper(#{Perb.build_wrapper(method_info)}) do\n") insert_after(node.loc.expression, "\nend") end |