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