102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
|
# File 'lib/txray/method_index.rb', line 102
def each(node, namespace = "", &block)
return if node.nil?
case node
when Prism::ClassNode, Prism::ModuleNode
child = join(namespace, NodeHelpers.constant_name(node.constant_path))
block.call(child, node)
each(node.body, child, &block)
when Prism::SingletonClassNode
each(node.body, namespace, &block)
else
block.call(namespace, node)
node.compact_child_nodes.each { |c| each(c, namespace, &block) }
end
end
|