Class: Translate::Translator

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

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(options = nil) ⇒ Translator

Returns a new instance of Translator.



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

def initialize(options=nil)
   @key=options[:key]
end

Class Method Details

.parse_response(response) ⇒ Object



18
19
20
# File 'lib/translate.rb', line 18

def self.parse_response(response)
      { code: response.code, body: response.body.empty? ? '' : JSON.parse(response.body, symbolize_names: true) }
end

.send_request(method, url, params = {}) ⇒ Object



11
12
13
14
15
16
# File 'lib/translate.rb', line 11

def self.send_request(method, url, params={})
  response = RestClient::Request.execute(method: method, url: url, headers: {params: params})
  self.parse_response(response)
rescue => e
  self.parse_response(e.response)
end

Instance Method Details

#get_providersObject



36
37
38
# File 'lib/translate.rb', line 36

def get_providers
  Translator.send_request :get, "#{SERVICE_URL}/GetProviders?auth=#{@key}"
end

#get_routes(src, trg) ⇒ Object



31
32
33
34
# File 'lib/translate.rb', line 31

def get_routes(src, trg)
  Translator.send_request :get, "#{SERVICE_URL}/GetRoutes?auth=#{@key}",
  {src: src, trg:trg}.as_json
end

#languagesObject



27
28
29
# File 'lib/translate.rb', line 27

def languages
  Translator.send_request :get, "#{SERVICE_URL}/GetLanguages?auth=#{@key}"
end

#translate(src, trg, dat = '', rid = nil) ⇒ Object



22
23
24
25
# File 'lib/translate.rb', line 22

def translate(src, trg, dat='',rid=nil)
  Translator.send_request :get, "#{SERVICE_URL}/Translate?auth=#{@key}",
  {src: src, trg:trg, dat: dat, rid:rid}.as_json
end