I’m simply trying to convert uppercased company names into proper names.
Company names can include:
- Dashes
- Apostrophes
- Roman Numerals
- Text like LLC, LP, INC which should stay uppercase.
I thought I might be able to use acronyms like this:
ACRONYMS = %W( LP III IV VI VII VIII IX GI)
ActiveSupport::Inflector.inflections(:en) do |inflect|
ACRONYMS.each { |a| inflect.acronym(a) }
end
However, the conversion does not take into account word breaks, so having VI
and VII
does not work. For example, the conversion of “ADVISORS”.titleize is “Ad VI Sors”, as the VI becomes a whole word.
Dashes get removed.
It seems like there should be a generic gem for this generic problem, but I didn’t find one. Is this problem really not that common? What’s the best solution besides completely hacking the current inflection library?