模块 DidYouMean::Correctable

常量

SKIP_TO_S_FOR_SUPER_LOOKUP

公共实例方法

corrections() 点击以切换源代码
# File did_you_mean/core_ext/name_error.rb, line 49
def corrections
  @corrections ||= spell_checker.corrections
end
detailed_message(highlight: true, did_you_mean: true, **) 点击以切换源代码
调用超类方法
# File did_you_mean/core_ext/name_error.rb, line 10
def detailed_message(highlight: true, did_you_mean: true, **)
  msg = super.dup

  return msg unless did_you_mean

  suggestion = DidYouMean.formatter.message_for(corrections)

  if highlight
    suggestion = suggestion.gsub(/.+/) { "\e[1m" + $& + "\e[m" }
  end

  msg << suggestion
  msg
rescue
  super
end
original_message() 点击以切换源代码

仅用于兼容性

# File did_you_mean/core_ext/name_error.rb, line 5
def original_message
  # we cannot use alias here because
  to_s
end
spell_checker() 点击以切换源代码
# File did_you_mean/core_ext/name_error.rb, line 53
def spell_checker
  DidYouMean.spell_checkers[self.class.to_s].new(self)
end
to_s() 点击以切换源代码
调用超类方法
# File did_you_mean/core_ext/name_error.rb, line 38
def to_s
  msg = super.dup
  suggestion = DidYouMean.formatter.message_for(corrections)

  msg << suggestion if !msg.include?(suggestion)
  msg
rescue
  super
end