Class: ProcToAst::Traverser
- Inherits:
-
Object
- Object
- ProcToAst::Traverser
- Defined in:
- lib/proc_to_ast.rb
Instance Method Summary collapse
Instance Method Details
#proc_block?(node) ⇒ Boolean
23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 |
# File 'lib/proc_to_ast.rb', line 23 def proc_block?(node) head = node.children[0] return false unless head.type == :send receiver, symbol = head.children return true if receiver.nil? && (symbol == :proc || symbol == :lambda) if receiver.is_a?(AST::Node) && receiver.type == :const && receiver.children[1] == :Proc && symbol == :new return true end false end |
#traverse_node(node) ⇒ Object
11 12 13 14 15 16 17 18 19 20 21 |
# File 'lib/proc_to_ast.rb', line 11 def traverse_node(node) if node.type != :block node.children.flat_map { |child| if child.is_a?(AST::Node) traverse_node(child) end }.compact else node end end |