Class: YandexTranslatorApi::Api

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

Overview

client yandex api translate

Instance Method Summary collapse

Instance Method Details

#configurate(options = {}) ⇒ Object



33
34
35
36
37
38
39
# File 'lib/yandex_translator_api.rb', line 33

def configurate(options = {})
  @conf = Config.instance
  @conf.api_key = options[:api_key]
  @conf.default_lang = options[:default_lang] || 'en'
rescue StandardError
  'Input data error. Please check input data.'
end

#languagesObject



52
53
54
55
56
57
58
59
# File 'lib/yandex_translator_api.rb', line 52

def languages
  uri = URI('https://translate.yandex.net/api/v1.5/tr.json/getLangs?' \
    "key=#{@conf.api_key}&ui=en")
  res = Net::HTTP.get(uri)
  JSON.parse(res)['langs']
rescue StandardError
  'Request error. Please check input data or internet connection.'
end

#translate(options = {}) ⇒ Object



41
42
43
44
45
46
47
48
49
50
# File 'lib/yandex_translator_api.rb', line 41

def translate(options = {})
  lang = options[:lang] || @conf.default_lang || 'ru'
  text = options[:text] || 'Hello'
  uri = URI('https://translate.yandex.net/api/v1.5/tr.json/translate?' \
    "key=#{@conf.api_key}&lang=#{lang}&text=#{URI.encode(text)}")
  res = Net::HTTP.get(uri)
  JSON.parse(res)['text']
rescue StandardError
  'Request error. Please check input data or internet connection.'
end