class Merriam::Client
Constants
- BASE_URL
Public Instance Methods
detect(t)
click to toggle source
# File lib/merriam/client.rb, line 21 def detect(t) char_limit([t].flatten.join) resp = HTTPClient.post("#{BASE_URL}/detect.json", { t: [t].flatten }.to_json, headers) body = JSON.parse(resp.body) resp.status_code.eql?(200) ? [body].flatten.map { |b| Response.new(b) } : body end
languages()
click to toggle source
# 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)
click to toggle source
# 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)
click to toggle source
# 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)
click to toggle source
# File lib/merriam/client.rb, line 44 def translate_url(url, language_code) str = open(url).read char_limit(str) data = {'t' => str, '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
Private Instance Methods
char_limit(str)
click to toggle source
# File lib/merriam/client.rb, line 61 def char_limit(str) puts 'Character limit is 31250' if str.size > 312_50 end
headers()
click to toggle source
# File lib/merriam/client.rb, line 57 def headers {'Content-Type' => 'application/json', 'key' => ENV['MERRIAM_API_KEY']} end