Class: YandexTranslate::Client

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

Instance Method Summary collapse

Constructor Details

#initialize(key) ⇒ Client

Returns a new instance of Client.



3
4
5
# File 'lib/client.rb', line 3

def initialize(key)
  @connect = Connect.new(key)
end

Instance Method Details

#detect(text) ⇒ Object



12
13
14
15
# File 'lib/client.rb', line 12

def detect(text)
  data = {"text" => text}
  result = @connect.request('detect', data)['lang']
end

#get_langs(lang = 'en') ⇒ Object



7
8
9
10
# File 'lib/client.rb', line 7

def get_langs(lang = 'en')
  data = {"ui" => lang}
  @langs = @connect.request('getLangs',data)
end

#translate(text, lang, format = 'plain') ⇒ Object



17
18
19
20
21
# File 'lib/client.rb', line 17

def translate(text, lang, format = 'plain')
  data = {"text" => text, "lang" => lang, "format" => format}
  result = @connect.request('translate', data)['text']
  result.size == 1 ? result.first : result
end

#translate_from_hash(text, *lang) ⇒ Object



23
24
25
26
27
28
29
30
31
32
33
34
# File 'lib/client.rb', line 23

def translate_from_hash(text, *lang)
  if lang.last.is_a?(Hash)
    lang_options = lang.last
    format = lang_options.key?(:format) ? lang_options[:format] : 'plain'
    lang = [lang_options[:from], lang_options[:to]].compact
  end

  data = {"text" => text, "lang" => lang.join('-'), "format" => format}

  result = @connect.request('translate', data)['text']
  result.size == 1 ? result.first : result
end