Given a set of strings, Abbrev calculates the set of unambiguous abbreviations for those strings, and returns a hash where the keys are all the possible abbreviations and the values are the full strings. Thus, given words is "car" and "cone", the keys pointing to "car" would be "ca" and "car", while those pointing to "cone" would be "co", "con", and "cone". WWW: https://github.com/ruby/abbrev