Module: Itranslate4

Defined in:
lib/translate.rb

Defined Under Namespace

Classes: Configuration

Constant Summary collapse

SERVICE_URL =
'http://itranslate4.eu/api/'

Class Attribute Summary collapse

Class Method Summary collapse

Class Attribute Details

.configurationObject

Returns the value of attribute configuration.



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

def configuration
  @configuration
end

Class Method Details

.configure {|configuration| ... } ⇒ Object

Yields:



10
11
12
13
# File 'lib/translate.rb', line 10

def self.configure
  self.configuration ||= Configuration.new
  yield(configuration)
end

.get_providersObject



47
48
49
# File 'lib/translate.rb', line 47

def self.get_providers
  Itranslate4.send_request :get, "#{SERVICE_URL}/GetProviders?auth=#{Itranslate4.configuration.key}"
end

.get_routes(src, trg) ⇒ Object



42
43
44
45
# File 'lib/translate.rb', line 42

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

.languagesObject



38
39
40
# File 'lib/translate.rb', line 38

def self.languages
  Itranslate4.send_request :get, "#{SERVICE_URL}/GetLanguages?auth=#{Itranslate4.configuration.key}"
end

.parse_response(response) ⇒ Object



29
30
31
# File 'lib/translate.rb', line 29

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



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

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

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



33
34
35
36
# File 'lib/translate.rb', line 33

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