Grest
require 'levenshtein'
require 'soundex'
wrd = 'GREST'.chars # KEYWORD
great = 'GREAT'.chars # VALUE
diff = (great - wrd).first # A
idx = Levenshtein.distance(wrd.join, great.join) # NO OF SHIFTS
idx.times { wrd.shift }
wrd.unshift(diff) # INSERT DIFF
# SOUNDEX ARREST?
p ((Soundex.new wrd.join).to_s == (Soundex.new 'ARREST').to_s) ? 'YEP' : 'NO'