Class: Merriam::Client
Constant Summary collapse
- BASE_URL =
'https://merriam.io/api/v1'
Instance Method Summary collapse
- #detect(t) ⇒ Object
- #languages ⇒ Object
- #translate_html(html, language_code) ⇒ Object
- #translate_text(text, language_code) ⇒ Object
- #translate_url(url, language_code) ⇒ Object
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 |
#languages ⇒ Object
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. end |