Spec-Zone.ru › Ruby 3.1

класс DidYouMean::MethodNameChecker

Родитель:
Объект

Константы

NAMES_TO_EXCLUDE
RB_RESERVED_WORDS

MethodNameChecker::RB_RESERVED_WORDS — это список зарезервированных слов в Ruby, которые принимают аргумент. В отличие от VariableNameChecker::RB_RESERVED_WORDS, эти зарезервированные слова требуют аргумента, и из-за наличия аргумента возникает NoMethodError.

MethodNameChecker будет использовать этот список для предложения обратного слова, если возникает NoMethodError и найдены наиболее подходящие совпадения.

См. также VariableNameChecker::RB_RESERVED_WORDS.

Атрибуты

method_name[R]
receiver[R]

Открытые методы класса

new(exception) Показать исходный код
# File lib/did_you_mean/spell_checkers/method_name_checker.rb, line 42
def initialize(exception)
  @method_name  = exception.name
  @receiver     = exception.receiver
  @private_call = exception.respond_to?(:private_call?) ? exception.private_call? : false
end

Открытые методы экземпляра

corrections() Показать исходный код
# File lib/did_you_mean/spell_checkers/method_name_checker.rb, line 48
def corrections
  @corrections ||= begin
                     dictionary = method_names
                     dictionary = RB_RESERVED_WORDS + dictionary if @private_call

                     SpellChecker.new(dictionary: dictionary).correct(method_name) - names_to_exclude
                   end
end
method_names() Показать исходный код
# File lib/did_you_mean/spell_checkers/method_name_checker.rb, line 57
def method_names
  if Object === receiver
    method_names = receiver.methods + receiver.singleton_methods
    method_names += receiver.private_methods if @private_call
    method_names.uniq!
    method_names
  else
    []
  end
end
names_to_exclude() Показать исходный код
# File lib/did_you_mean/spell_checkers/method_name_checker.rb, line 68
def names_to_exclude
  Object === receiver ? NAMES_TO_EXCLUDE[receiver.class] : []
end

Ruby Core © 1993–2022 Yukihiro Matsumoto
Licensed under the Ruby License.
Ruby Standard Library © contributors
Licensed under their own licenses.

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API