Module: MorpherInflect
- Defined in:
- lib/morpher_inflect.rb,
lib/morpher_inflect/version.rb
Defined Under Namespace
Classes: Inflection
Constant Summary collapse
- INFLECTIONS_COUNT =
Число доступных вариантов склонений
6
- VERSION =
'0.0.3'
- @@cache =
Кеширование успешных результатов запроса к веб-сервису
{}
Class Method Summary collapse
- .clear_cache ⇒ Object
-
.inflections(word) ⇒ Object
Возвращает массив склонений (им., род., дат., вин., твор., предл.) для слова word.
Class Method Details
.clear_cache ⇒ Object
52 53 54 |
# File 'lib/morpher_inflect.rb', line 52 def clear_cache @@cache.clear end |
.inflections(word) ⇒ Object
Возвращает массив склонений (им., род., дат., вин., твор., предл.) для слова word.
Если слово не найдено в словаре, в массиве вместо всех склонений будет word. Повторяет исторический API gem yandex-inflect.
33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 |
# File 'lib/morpher_inflect.rb', line 33 def inflections(word) lookup = cache_lookup(word) return lookup if lookup response = Inflection.new.get(word) rescue nil if response && response.code == 200 # Морфер вернул хеш склонений inflections = successful_result(word, response) # Кладем в кеш cache_store(word, inflections) else # Морфер вернул код ошибки (слово не найдено в словаре), # Забиваем оригинальным словом inflections = problematic_result(word) # Не сохраняем в кэше, может в другой раз больше повезет. end inflections end |