Constants
No documentation available
VariableNameChecker::RB_RESERVED_WORDS
is the list of all reserved words in Ruby. They could be declared like methods are, and a typo would cause Ruby to raise a NameError
because of the way they are declared.
The :VariableNameChecker
will use this list to suggest a reversed word if a NameError
is raised and found closest matches, excluding:
* +do+ * +if+ * +in+ * +or+
Also see MethodNameChecker::RB_RESERVED_WORDS
.
Attributes
Read
No documentation available
Read
No documentation available
Read
No documentation available
Read
No documentation available
Read
No documentation available
Class Methods
lib/did_you_mean/spell_checkers/name_error_checkers/variable_name_checker.rb
View on GitHub
# File tmp/rubies/ruby-3.3.0/lib/did_you_mean/spell_checkers/name_error_checkers/variable_name_checker.rb, line 68
def initialize(exception)
@name = exception.name.to_s.tr("@", "")
@lvar_names = exception.respond_to?(:local_variables) ? 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
No documentation available
Instance Methods
lib/did_you_mean/spell_checkers/name_error_checkers/variable_name_checker.rb
View on GitHub
# File tmp/rubies/ruby-3.3.0/lib/did_you_mean/spell_checkers/name_error_checkers/variable_name_checker.rb, line 79
def corrections
@corrections ||= SpellChecker
.new(dictionary: (RB_RESERVED_WORDS + lvar_names + method_names + ivar_names + cvar_names))
.correct(name).uniq - NAMES_TO_EXCLUDE[@name]
end
No documentation available