Class: MetherdMissing::LevenshteinDistance
- Inherits:
-
Object
- Object
- MetherdMissing::LevenshteinDistance
- Defined in:
- lib/metherd-missing/levenshtein_distance.rb
Instance Method Summary collapse
-
#initialize(words) ⇒ LevenshteinDistance
constructor
A new instance of LevenshteinDistance.
- #search(word, maximum_distance) ⇒ Object
Constructor Details
#initialize(words) ⇒ LevenshteinDistance
Returns a new instance of LevenshteinDistance.
3 4 5 6 7 8 |
# File 'lib/metherd-missing/levenshtein_distance.rb', line 3 def initialize(words) @trie = TrieNode.new words.each do |word| @trie.insert(word) end end |
Instance Method Details
#search(word, maximum_distance) ⇒ Object
10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
# File 'lib/metherd-missing/levenshtein_distance.rb', line 10 def search word, maximum_distance current_row = (0..word.length).to_a results = {} @trie.children.keys.each do |letter| search_recursive( @trie.children[letter], letter, word, current_row, results, maximum_distance ) end results end |