Посмотрите здесь http://deveiate.org/projects/Linguistics/wiki/English и проверьте этот вопрос
Если вам нужно что-то более простое, то, что, например, будет начинаться с «an», если слово начинается с гласной, вы можете использовать мой однострочный:
String.class_eval { def prepend; %w(a e i o u).include?(downcase.first) ? "an #{self}" : "a #{self}"; end }
Поместите это в файл prepend.rb
в папке config/initializers
вашего приложения.
Тогда вы сможете использовать
"carrot".prepend => "a carrot"
"apple".prepend => "an apple"