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