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.
  • Как видите, ридми тоже не мешало бы переписать.