class Eskimo::ASCII::DidYouMean

Present the user with the closest possible correction, if any.

DidYouMean.new(dictionary: [ 'abc', 'bca' ], item: 'abd')
# => "hint: Did you mean? abc"

DidYouMean.new(dictionary: [ 'abc', 'bca' ], item: 'asdfasdf')
# => ""

See github.com/yuki24/did_you_mean#using-the-didyoumeanspellchecker

Attributes

corrections[R]
separator[R]

Public Class Methods

new(dictionary:, item:, separator: " or ", &children) click to toggle source
Calls superclass method Eskimo::ASCII::Component::new
# File lib/eskimo/ascii/components/did_you_mean.rb, line 16
def initialize(dictionary:, item:, separator: " or ", &children)
  @corrections = ::DidYouMean::SpellChecker.new(
    dictionary: dictionary
  ).correct(item)

  @separator = separator

  super
end

Public Instance Methods

render(**) click to toggle source
# File lib/eskimo/ascii/components/did_you_mean.rb, line 26
def render(**)
  if corrections.any?
    "Did you mean? #{corrections.join(separator)}"
  end
end