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.
129 130 131 |
# File 'lib/rubocop/cop/variable_inspector.rb', line 129 def initialize @node_index = -1 end |
Class Method Details
.scan_nodes_in_scope(origin_node, &block) ⇒ Object
125 126 127 |
# File 'lib/rubocop/cop/variable_inspector.rb', line 125 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
133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 |
# File 'lib/rubocop/cop/variable_inspector.rb', line 133 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 |