class DidYouMean::VariableNameChecker
Constants
- NAMES_TO_EXCLUDE
- RB_RESERVED_WORDS
-
VariableNameChecker::RB_RESERVED_WORDSist die Liste aller reservierten Wörter in Ruby. Sie können wie Methoden deklariert werden, und ein Tippfehler würde dazu führen, dass Ruby einenNameErrorauslöst, aufgrund der Art und Weise, wie sie deklariert werden.Der
:VariableNameCheckerwird diese Liste verwenden, um ein reserviertes Wort vorzuschlagen, wenn einNameErrorausgelöst wird und die ähnlichsten Übereinstimmungen gefunden werden, unter Ausschluss von* +do+ * +if+ * +in+ * +or+
Siehe auch
MethodNameChecker::RB_RESERVED_WORDS.
Attribute
Öffentliche Klassenmethoden
Source
# File 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
Öffentliche Instanzmethoden
Source
# File 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