Sha256: c8faf6d9add2b12ff187c821fbc68ab9914ea6b804caa115fa1b1e0aad7bec44
Contents?: true
Size: 1.07 KB
Versions: 1
Compression:
Stored size: 1.07 KB
Contents
require 'rexml/document' module Nele class MsTranslator < Nele::GenericTranslator def config @config ||= { } end def build_request(str) @uri = parse_uri(build_uri(str)) end def build_uri(str) config[:url] + "?appId=" + config[:appId] + "&text=" + str + "&from=" + config[:from] + "&to=" + config[:to] end def connect begin http = Net::HTTP.new(@uri.host, @uri.port) http.use_ssl = false request = Net::HTTP::Get.new(@uri.request_uri) http.request(request).body rescue => err raise Nele::ConnectionError, err end end def parse_response(res) doc = REXML::Document.new(res) unless doc.elements['string'] error_message = nil doc.elements.each("//p") do |e| str = e[0].to_s if str.index(":") k,v = str.split(":") raise TranslatorAPIError, v.strip if k == "Message" end end else doc.elements['string'][0].to_s end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
nele-0.2.2 | lib/nele/ms_translator.rb~ |