/yandex_inflect

Web service client for Yandex.Inflect Russian language inflection service | Клиент веб-сервиса Яндекс.Склонятор

Primary LanguageRubyMIT LicenseMIT

YandexInflect

<img src=“https://secure.travis-ci.org/yaroslav/yandex_inflect.png” />

Yandex.Inflect webservice client (provides Russian language pluralization)

Клиент сервиса Яндекс.Склонятор (склонение слов на русском языке)

Установка

Установка в качестве gem:

gem install yandex_inflect

Или с помощью Bundler:

gem "yandex_inflect", "~> 0.1.2"

В вашем Gemfile и bundle install или bundle update.

Использование

> YandexInflect.inflections("рубин")
=> ["рубин", "рубина", "рубину", "рубин", "рубином", "рубине"]
> YandexInflect.inflections("ЭтогоСловаНетВСловаре")
=> ["ЭтогоСловаНетВСловаре", "ЭтогоСловаНетВСловаре", "ЭтогоСловаНетВСловаре", 
    "ЭтогоСловаНетВСловаре", "ЭтогоСловаНетВСловаре", "ЭтогоСловаНетВСловаре"]

Если во время общения с веб-сервисом произошла ошибка, возвращается массив, забитый оригинальной строкой.

Успешные ответы от веб-сервиса кешируются, кеш можно очистить с помощью

> YandexInflect.clear_cache

Для реализации собственного механизма кеширования/хранения данных достаточно переопределить методы cache_lookup(word) и cache_store(word, value)

Автор

  • Ярослав Маркин <yaroslav@markin.net>