Sha256: 66f20c00ae11ffcecea4a38968836133332cb942c637f1b988582735bb815f09
Contents?: true
Size: 1.22 KB
Versions: 1
Compression:
Stored size: 1.22 KB
Contents
require "keppler_watson/version" require 'net/http' require 'uri' require 'byebug' module KepplerWatson # Your code goes here... class LanguageTraslator def initialize(params) @api_key = params[:api_key] @version = params[:version] end def translate(text, model_id="es-en") params = { text: text, model_id: model_id } api_post(:translate, params) end def identify(text) api_post(:identify, text) end private def api_url 'https://gateway.watsonplatform.net/language-translator/api/v3' end def api_post(action, params) uri = URI.parse("#{api_url}/#{action.to_s}?version=#{@version}") request = Net::HTTP::Post.new(uri) if action.eql?(:translate) request['Content-Type'] = "application/json" request.body = params.to_json else request['Content-Type'] = "text/plain" request.body = params.to_json end request.basic_auth("apikey", @api_key.to_s) req_options = { use_ssl: uri.scheme == "https", } response = Net::HTTP.start(uri.hostname, uri.port, req_options) do |http| http.request(request) end JSON.parse(response.body, object_class: OpenStruct) end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
keppler_watson-0.1.1 | lib/keppler_watson/language_translator.rb |