class Rubocop::Cop::VariableInspector::NodeScanner
This provides a way to scan all nodes only in current scope.
Public Class Methods
new()
click to toggle source
# File lib/rubocop/cop/variable_inspector.rb, line 128 def initialize @node_index = -1 end
scan_nodes_in_scope(origin_node, &block)
click to toggle source
# 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
Public Instance Methods
scan_nodes_in_scope(origin_node) { |node, node_index| ... }
click to toggle source
# 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