Class: VTrans::TranslateApi

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

Constant Summary collapse

GOOGLE_TRANSLATE_SERVICE_URL =
"https://www.googleapis.com/language/translate/v2"

Instance Method Summary collapse

Constructor Details

#initialize(text, from_lang, to_lang, api_key) ⇒ TranslateApi

Returns a new instance of TranslateApi.



8
9
10
11
12
13
# File 'lib/v_trans/v_trans_api.rb', line 8

def initialize text, from_lang, to_lang, api_key
  @from_lang = from_lang
  @to_lang = to_lang
  @text = text
  @api_key = api_key
end

Instance Method Details

#translateObject



15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
# File 'lib/v_trans/v_trans_api.rb', line 15

def translate
  if @text && @from_lang && @to_lang && @api_key
    translated = trans_service @text, @from_lang, @to_lang, @api_key

    if translated
      body = JSON.parse(translated)["data"]["translations"].pop
      result = body["translatedText"]
    else
      raise("Please check paramaters. Maybe you're wrong languages code or api key. Thanks")
    end

    return result
  else
    raise("Missing 'from' language") unless @from_lang
    raise("Missing 'to' language") unless @to_lang
    raise("Missing 'text' for translation") unless @text
    raise("Missing 'api key' for the service") unless @api_key
  end
end