/usr/lib/ruby/vendor_ruby/did_you_mean/spell_checkers/name_error_checkers/variable_name_checker.rb is in ruby-did-you-mean 1.0.0-2.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | # -*- frozen-string-literal: true -*-
module DidYouMean
class VariableNameChecker
include SpellCheckable
attr_reader :name, :method_names, :lvar_names, :ivar_names, :cvar_names
def initialize(exception)
@name = exception.name.to_s.tr("@", "")
@lvar_names = exception.local_variables
receiver = exception.receiver
@method_names = receiver.methods + receiver.private_methods
@ivar_names = receiver.instance_variables
@cvar_names = receiver.class.class_variables
@cvar_names += receiver.class_variables if receiver.kind_of?(Module)
end
def candidates
{ name => (lvar_names + method_names + ivar_names + cvar_names) }
end
end
end
|