class DidYouMean::KeyErrorChecker

公共类方法

new(key_error) 点击切换源代码
# File did_you_mean/spell_checkers/key_error_checker.rb, line 5
def initialize(key_error)
  @key = key_error.key
  @keys = key_error.receiver.keys
end

公共实例方法

corrections() 点击切换源代码
# File did_you_mean/spell_checkers/key_error_checker.rb, line 10
def corrections
  @corrections ||= exact_matches.empty? ? SpellChecker.new(dictionary: @keys).correct(@key).map(&:inspect) : exact_matches
end

私有实例方法

exact_matches() 点击切换源代码
# File did_you_mean/spell_checkers/key_error_checker.rb, line 16
def exact_matches
  @exact_matches ||= @keys.select { |word| @key == word.to_s }.map { |obj| format_object(obj) }
end
format_object(symbol_or_object) 点击切换源代码
# File did_you_mean/spell_checkers/key_error_checker.rb, line 20
def format_object(symbol_or_object)
  if symbol_or_object.is_a?(Symbol)
    ":#{symbol_or_object}"
  else
    symbol_or_object.to_s
  end
end