Class: ConstStricter::ScopedConstVisitor
Instance Attribute Summary
Attributes inherited from ConstVisitor
#const_map
Instance Method Summary
collapse
#initialize, #visit_child_nodes, #visit_constant_path_node, #visit_constant_read_node
Instance Method Details
#visit_class_node(node) ⇒ Object
9
10
11
|
# File 'lib/const_stricter/scoped_const_visitor.rb', line 9
def visit_class_node(node)
visit_scoped_node(node)
end
|
#visit_module_node(node) ⇒ Object
5
6
7
|
# File 'lib/const_stricter/scoped_const_visitor.rb', line 5
def visit_module_node(node)
visit_scoped_node(node)
end
|
#visit_scoped_node(node) ⇒ Object
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
|
# File 'lib/const_stricter/scoped_const_visitor.rb', line 13
def visit_scoped_node(node)
const_name_visitor = ConstVisitor.new
node.constant_path.accept(const_name_visitor)
const_name = const_name_visitor.const_map.keys[0]
@const_map.push(const_path: @const_path, const_name:)
@const_path << const_name
node.compact_child_nodes[1..].each do |child_node|
child_node.accept(self)
end
@const_path.pop if const_name
end
|