Sha256: 7b6327390fd120ac12cf30354cbbb250fc6b54873f250df7e724996b88e649e1
Contents?: true
Size: 931 Bytes
Versions: 1
Compression:
Stored size: 931 Bytes
Contents
require "json" require "net/http" require "faraday" require "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"] end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
ps_yandex_translator-0.1.4 | lib/yandex_translator/api_yandex_translator_connect.rb |