Class: YandexTranslate::Connect

Inherits:
Object
  • Object
show all
Defined in:
lib/yandex_translater/yandex_translater_connect.rb

Constant Summary collapse

ERROR =
{ 401 => 'Неправильный API-ключ',
402 => 'API-ключ заблокирован',
404 => 'Превышено суточное ограничение на объем переведенного текста',
413 => 'Превышен максимально допустимый размер текста',
422 => 'Текст не может быть переведен',
501 => 'Заданное направление перевода не поддерживается'}
BASE_URI =
'https://translate.yandex.net/api/v1.5/tr.json/'.freeze

Instance Method Summary collapse

Constructor Details

#initialize(key) ⇒ Connect

Returns a new instance of Connect.



11
12
13
# File 'lib/yandex_translater/yandex_translater_connect.rb', line 11

def initialize(key)
  @key = key
end

Instance Method Details

#connect(method, args = {}) ⇒ Object



15
16
17
18
19
20
# File 'lib/yandex_translater/yandex_translater_connect.rb', line 15

def connect(method, args = {})
  url = URI.parse("#{BASE_URI}#{method}?key=#{@key}")
  result = JSON(Net::HTTP.post_form(url, args).body)
  raise(ERROR[result['code'].to_i]) if ERROR.has_key?result['code'].to_i
  result
end