morpher.ru 8 (499) 647 86 54
nowhere@morpher.ru
 
 
Мой Морфер

Склонение по падежам на Ruby

Пример программы вызова веб-сервиса склонения по падежам:

# encoding: utf-8 class Morpher def initialize(phrase) client = Savon.client do |globals| globals.wsdl 'http://morpher.ru/WebService.asmx?WSDL' globals.soap_version 2 globals.soap_header header end response = client.call(:get_xml, message: {s: phrase}, :attributes => {:xmlns => 'http://morpher.ru/'}) @data = response.to_array(:get_xml_response, :get_xml_result).first end def singular(padeg) @data[padeg.to_sym] end def plural(padeg) @data[:множественное][padeg.to_sym] end private def header { 'Credentials' => { 'Username' => 'test', 'Password' => 'test' }, :attributes! => {'Credentials' => {:xmlns => 'http://morpher.ru/'}} } end end

Пример использования:

>> text = Morpher.new('Большой город') {:Р=>"Большого города", :Д=>"Большому городу", :В=>"Большой город", :Т=>"Большим городом", :П=>"Большом городе", :П_о=>"о Большом городе", :род=>"Мужской", :множественное=>{:И=>"Большие города", :Р=>"Больших городов", :Д=>"Большим городам", :В=>"Большие города", :Т=>"Большими городами", :П=>"Больших городах", :П_о=>"о Больших городах"}, :где=>"в Большом городе", :куда=>"в Большой город", :откуда=>"из Большого города"} >> text.singular('Д') "Большому городу" >> text.plural('Д') "Большим городам" >> text.singular('П_о') "о Большом городе" >> text.singular('где') "в Большом городе" >> text.singular('куда') "в Большой город" >> text.singular('откуда') "из Большого города" >> text.singular('род') "Мужской"

Для работы необходим gem Savon. За пример спасибо Paprikas.

Пример использует функцию склонения веб-сервиса «Морфер».


Комментарии

Добавить комментарий
NudePatch 01.08.2013 10:58 UTC

Отличный сервис! Есть еще пара вопросов.
Предлоги станут доступны в платном аккаунте?
"специалист - о специалистах"

Написал себе модельку для работы с Вашим сервисом https://gist.github.com/Paprikas/6129932
Тегов там нет, потому что я еще не добрался до платной версии.
Вот сейчас стоит вопрос о предлогах.
Спасибо.



Сергей Слепов 01.08.2013 11:01 UTC

Да, предлоги становятся доступны при оплате: в Москву, в Москве, из Москвы.



Аксенов Илья 04.08.2014 13:17 UTC

Добрый День!
Попробовал склонять существительные в приложении на ruby on rails, все работает на ура! Но при попытке склонять числительные, выдает ошибку

Склонение числительных в GetXml не поддерживается. Используйте метод Propis. Как и где использовать этот метод? Заранее благодарен за оказанную помощь



Сергей Слепов 04.08.2014 14:00 UTC

Илья, метод Propis есть в веб-сервисе. Обертка на Ruby для него пока не написана. Если напишете, буду благодарен и добавлю ее в основной текст статьи, на радость другим!



Добавить комментарий


 

Библиотеки

Заметили опечатку? Выделите слово мышкой и нажмите Ctrl-Enter. Система Orphus

© Сергей Слепов, 2003 - 2016. Перепечатка материалов сайта только с разрешения автора.