Sha256: 8f10f9d9b231797b2643232f5e588fa7c4cbb81b87c5deaa1b504b9c6166626a

Contents?: true

Size: 644 Bytes

Versions: 5

Compression:

Stored size: 644 Bytes

Contents

module Nitpick
  class LocalVariableNitpicker < LocalVariableCounter
    def nitpick!
      super
      
      @lvars.each do |name, details|
        next if @args.include? name
        next if details[:calls] > 0
        # The first assignment is a use
        next if details[:uses] > 1
        warn Warnings::UnusedVariable.new(name)
      end
    end
    
    def process_iter(exp)
      call = process(exp.shift)
      assignments = process(exp.shift)
      block = process(exp.shift)
      
      scan_for [Warnings::ShadowedVariable],
          :with => [assignments]
          
      s(:iter, call, assignments, block)
    end
  end
end

Version data entries

5 entries across 5 versions & 2 rubygems

Version Path
kevinclark-nitpick-1.0.0 lib/nitpick/local_variable_nitpicker.rb
kevinclark-nitpick-1.0.1 lib/nitpick/local_variable_nitpicker.rb
nitpick-1.0.0 lib/nitpick/local_variable_nitpicker.rb
nitpick-1.0.1 lib/nitpick/local_variable_nitpicker.rb
nitpick-1.0.2 lib/nitpick/local_variable_nitpicker.rb