module DirectApi::Request
Yandex Direct request module
Constants
- API_URI
- SANDBOX_API_URI
Public Instance Methods
build(path, params)
click to toggle source
# 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)
click to toggle source
# File lib/direct_api/request.rb, line 42 def get_uri(sandbox) sandbox ? SANDBOX_API_URI : API_URI end
make_request(path, params = {})
click to toggle source
# 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.message rescue SocketError => e raise DirectApi::ConnectionError, e.message end
process(path, params = {})
click to toggle source
# File lib/direct_api/request.rb, line 12 def process(path, params = {}) response_parser.parse( make_request(path, params).to_s ) end
response_parser()
click to toggle source
# File lib/direct_api/request.rb, line 46 def response_parser Response end