Class: DivergenceMeter::DidYouMean

Inherits:
Object
  • Object
show all
Defined in:
lib/divergence_meter/did_you_mean.rb

Overview

did you mean?

Instance Method Summary collapse

Constructor Details

#initialize(target, words) ⇒ DidYouMean

initialize

Parameters:

  • target (String)

    base word

  • words (Array)

    check words



9
10
11
12
# File 'lib/divergence_meter/did_you_mean.rb', line 9

def initialize(target, words)
  @target = target
  @words = Array(words)
end

Instance Method Details

#runString

calculate did you mean?

Returns:

  • (String)

    word



16
17
18
19
20
21
22
23
24
# File 'lib/divergence_meter/did_you_mean.rb', line 16

def run
  target_size = @target.size

  @words.map do |word|
    { word: word, distance: LevenshteinDistance.run(@target, word) }
  end.sort do |a, b|
    sort_distance(a, b, target_size)
  end.first[:word]
end