RussianInflect
Склонение по падежам заголовков на русском языке.
Многое подсмотрено в геме petrovich. Различие в том, что RussianInflect склоняет не имена и фамилии, а словосочетания, например, названия товаров.
Installation
Add this line to your application's Gemfile:
gem 'russian_inflect'
And then execute:
$ bundle
Or install it yourself as:
$ gem install russian_inflect
Usage
RussianInflect.inflect("Хорошая погода", :nominative) # Хорошая погода
RussianInflect.inflect("Хорошая погода", :genitive) # Хорошей погоды
RussianInflect.inflect("Хорошая погода", :dative) # Хорошей погоде
RussianInflect.inflect("Хорошая погода", :accusative) # Хорошую погоду
RussianInflect.inflect("Хорошая погода", :instrumental) # Хорошей погодой
RussianInflect.inflect("Хорошая погода", :prepositional) # Хорошей погоде
Помощь гему
- Нужны тесты для всяких окончаний, исключений и т.п.
Дополнять их просто: в spec/lib/russian_inflect_spec.rb нужно добавить пример словосочетания и правильные результаты склонения по аналогии с уже добавленными примерами. - Правила склонения пока далеки от идеала и тоже ждут своего Розенталя. Они похожи на правила из гема petrovich и находятся в lib/russian_inflect/rules.yml.
- Как видите, ридми тоже не мешало бы переписать.