Sha256: b12bab3d626c8bb1babc39619934ba6fcc9c4fc70db9c1fbe922e66584fd0d22
Contents?: true
Size: 944 Bytes
Versions: 1
Compression:
Stored size: 944 Bytes
Contents
require "json" require "net/http" require "faraday" require "ps_yandex_translator/api_yandex_translator_error" class ApiYandexTranslatorConnect BASE_URI = "https://translate.yandex.net/api/v1.5/tr.json/" def initialize(params = {}) @api_key = params[:api_key] end def post(request_params, method, response_key) conn = Faraday.new(:url => BASE_URI) query = URI.encode_www_form(request_params.merge(key: @api_key)) begin response = JSON.parse(conn.post("#{method}", query).body) rescue raise ApiYandexTranslatorError, code: 503, message: "сервис недоступен" end if response["code"].nil? || response["code"] == 200 response[response_key].kind_of?(Array) ? response[response_key].join("\n") : response[response_key] else raise ApiYandexTranslatorError, {code: response["code"], message: response["message"]}.to_json end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
ps_yandex_translator-0.1.7 | lib/ps_yandex_translator/api_yandex_translator_connect.rb |