Linux premium71.web-hosting.com 4.18.0-513.11.1.lve.el8.x86_64 #1 SMP Thu Jan 18 16:21:02 UTC 2024 x86_64
LiteSpeed
Server IP : 198.187.29.8 & Your IP : 18.216.171.199
Domains :
Cant Read [ /etc/named.conf ]
User : cleahvkv
Terminal
Auto Root
Create File
Create Folder
Localroot Suggester
Backdoor Destroyer
Readme
/
opt /
alt /
ruby31 /
share /
ruby /
did_you_mean /
Delete
Unzip
Name
Size
Permission
Date
Action
core_ext
[ DIR ]
drwxr-xr-x
2024-07-24 10:31
formatters
[ DIR ]
drwxr-xr-x
2024-07-24 10:31
spell_checkers
[ DIR ]
drwxr-xr-x
2024-07-24 10:31
experimental.rb
139
B
-rw-r--r--
2024-07-04 16:28
formatter.rb
1.27
KB
-rw-r--r--
2024-07-04 16:28
jaro_winkler.rb
1.79
KB
-rw-r--r--
2024-07-04 16:28
levenshtein.rb
1.34
KB
-rw-r--r--
2024-07-04 16:28
spell_checker.rb
1.27
KB
-rw-r--r--
2024-07-04 16:28
tree_spell_checker.rb
2.81
KB
-rw-r--r--
2024-07-04 16:28
verbose.rb
137
B
-rw-r--r--
2024-07-04 16:28
version.rb
49
B
-rw-r--r--
2024-07-04 16:28
Save
Rename
# frozen-string-literal: true require_relative "levenshtein" require_relative "jaro_winkler" module DidYouMean class SpellChecker def initialize(dictionary:) @dictionary = dictionary end def correct(input) normalized_input = normalize(input) threshold = normalized_input.length > 3 ? 0.834 : 0.77 words = @dictionary.select { |word| JaroWinkler.distance(normalize(word), normalized_input) >= threshold } words.reject! { |word| input.to_s == word.to_s } words.sort_by! { |word| JaroWinkler.distance(word.to_s, normalized_input) } words.reverse! # Correct mistypes threshold = (normalized_input.length * 0.25).ceil corrections = words.select { |c| Levenshtein.distance(normalize(c), normalized_input) <= threshold } # Correct misspells if corrections.empty? corrections = words.select do |word| word = normalize(word) length = normalized_input.length < word.length ? normalized_input.length : word.length Levenshtein.distance(word, normalized_input) < length end.first(1) end corrections end private def normalize(str_or_symbol) #:nodoc: str = str_or_symbol.to_s.downcase str.tr!("@", "") str end end end