Module: DirectApi::Request
- Defined in:
- lib/direct_api/request.rb
Overview
Yandex Direct request module
Constant Summary collapse
- API_URI =
'https://api.direct.yandex.com/json/v5/'
- SANDBOX_API_URI =
'https://api-sandbox.direct.yandex.com/json/v5/'
Class Method Summary collapse
- .build(path, params) ⇒ Object
- .get_uri(sandbox) ⇒ Object
- .make_request(path, params = {}) ⇒ Object
- .process(path, params = {}) ⇒ Object
- .response_parser ⇒ Object
Class Method Details
.build(path, params) ⇒ Object
31 32 33 34 35 36 37 38 39 40 |
# File 'lib/direct_api/request.rb', line 31 def build(path, params) headers = {} path = get_uri(params.delete(:sandbox)) + path.to_s headers['Accept-Language'] = params.delete(:locale) headers['Client-Login'] = params.delete(:client_login) headers['Authorization'] = "Bearer #{params.delete(:token)}" [path, params.to_json, headers] end |
.get_uri(sandbox) ⇒ Object
42 43 44 |
# File 'lib/direct_api/request.rb', line 42 def get_uri(sandbox) sandbox ? SANDBOX_API_URI : API_URI end |
.make_request(path, params = {}) ⇒ Object
18 19 20 21 22 23 24 25 26 27 28 29 |
# File 'lib/direct_api/request.rb', line 18 def make_request(path, params = {}) RestClient.post(*build(path, params)) rescue RestClient::Unauthorized, RestClient::Forbidden, RestClient::BadRequest, RestClient::ResourceNotFound => e raise DirectApi::RequestError, e. rescue SocketError => e raise DirectApi::ConnectionError, e. end |
.process(path, params = {}) ⇒ Object
12 13 14 15 16 |
# File 'lib/direct_api/request.rb', line 12 def process(path, params = {}) response_parser.parse( make_request(path, params).to_s ) end |
.response_parser ⇒ Object
46 47 48 |
# File 'lib/direct_api/request.rb', line 46 def response_parser Response end |