класс DidYouMean::VariableNameChecker
Константы
- NAMES_TO_EXCLUDE
- RB_RESERVED_WORDS
-
VariableNameChecker::RB_RESERVED_WORDS— это список всех зарезервированных слов в Ruby. Они могут быть объявлены как методы, и опечатка приведёт к тому, что Ruby выведетNameError, из-за способа их объявления.:VariableNameCheckerбудет использовать этот список, чтобы предложить обратное слово, если будет поднятаNameError, и найдёт самые близкие совпадения, исключая:* +do+ * +if+ * +in+ * +or+
Также см.
MethodNameChecker::RB_RESERVED_WORDS.
Атрибуты
cvar_names[R]
ivar_names[R]
lvar_names[R]
method_names[R]
name[R]
Открытые методы класса
# 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 Открытые методы экземпляра
# 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) - NAMES_TO_EXCLUDE[@name]
end
Ruby Core © 1993–2022 Yukihiro Matsumoto
Licensed under the Ruby License.
Ruby Standard Library © contributors
Licensed under their own licenses.