Class: Merriam::Client

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

Constant Summary collapse

BASE_URL =
'https://merriam.io/api/v1'

Instance Method Summary collapse

Instance Method Details

#detect(t) ⇒ Object



21
22
23
24
25
26
# File 'lib/merriam/client.rb', line 21

def detect(t)
  char_limit(t.join)
  resp = HTTPClient.post("#{BASE_URL}/detect.json", t.to_json, headers)
  body = JSON.parse(resp.body)
  resp.status_code.eql?(200) ? [body].flatten.map { |b| Response.new(b) } : body
end

#languagesObject



15
16
17
18
19
# File 'lib/merriam/client.rb', line 15

def languages
  resp = HTTPClient.get("#{BASE_URL}/languages.json", {}, headers)
  body = JSON.parse(resp.body)
  resp.status_code.eql?(200) ? [body].flatten.map { |b| Language.new(b) } : body
end

#translate_html(html, language_code) ⇒ Object



36
37
38
39
40
41
42
# File 'lib/merriam/client.rb', line 36

def translate_html(html, language_code)
  char_limit(html)
  data = {'t' => html, 'c' => language_code}
  resp = HTTPClient.post("#{BASE_URL}/translate_html.json", data.to_json, headers)
  body = JSON.parse(resp.body)
  resp.status_code.eql?(200) ? TranslateText.new(body) : body
end

#translate_text(text, language_code) ⇒ Object



28
29
30
31
32
33
34
# File 'lib/merriam/client.rb', line 28

def translate_text(text, language_code)
  char_limit(text)
  data = {'t' => text, 'c' => language_code}
  resp = HTTPClient.post("#{BASE_URL}/translate_text.json", data.to_json, headers)
  body = JSON.parse(resp.body)
  resp.status_code.eql?(200) ? TranslateText.new(body) : body
end

#translate_url(url, language_code) ⇒ Object



44
45
46
47
48
49
50
51
52
53
# File 'lib/merriam/client.rb', line 44

def translate_url(url, language_code)
  str = open(url).read
  char_limit(str)
  data = {'t' => html, 'c' => language_code}
  resp = HTTPClient.post("#{BASE_URL}/translate_html.json", data.to_json, headers)
  body = JSON.parse(resp.body)
  resp.status_code.eql?(200) ? TranslateText.new(body) : body
rescue => e
  puts e.message
end