Class: Rubocop::Cop::VariableInspector::NodeScanner
- Inherits:
-
Object
- Object
- Rubocop::Cop::VariableInspector::NodeScanner
- Defined in:
- lib/rubocop/cop/variable_inspector.rb
Overview
This provides a way to scan all nodes only in current scope.
Class Method Summary collapse
Instance Method Summary collapse
-
#initialize ⇒ NodeScanner
constructor
A new instance of NodeScanner.
- #scan_nodes_in_scope(origin_node, &block) ⇒ Object
Constructor Details
#initialize ⇒ NodeScanner
Returns a new instance of NodeScanner.
128 129 130 |
# File 'lib/rubocop/cop/variable_inspector.rb', line 128 def initialize @node_index = -1 end |
Class Method Details
.scan_nodes_in_scope(origin_node, &block) ⇒ Object
124 125 126 |
# File 'lib/rubocop/cop/variable_inspector.rb', line 124 def self.scan_nodes_in_scope(origin_node, &block) new.scan_nodes_in_scope(origin_node, &block) end |
Instance Method Details
#scan_nodes_in_scope(origin_node, &block) ⇒ Object
132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 |
# File 'lib/rubocop/cop/variable_inspector.rb', line 132 def scan_nodes_in_scope(origin_node, &block) origin_node.children.each do |child| next unless child.is_a?(Parser::AST::Node) node = child @node_index += 1 catch(:skip_children) do yield node, @node_index # Do not go into inner scope. unless SCOPE_TYPES.include?(node.type) scan_nodes_in_scope(node, &block) end end end end |