class LevelTravel::Request

Constants

HOST

Public Class Methods

get(url, params = {}) click to toggle source
# File lib/level_travel/request.rb, line 24
def self.get(url, params = {})
  response = request_client.get(url) do |request|
    request.params = params
    request.options.timeout = LevelTravel::Settings.timeout
  end

  body = Oj.load(response.body, symbol_keys: true, mode: :compat)
  Response.new(code: response.status, error: body[:error], body: body)
end

Private Class Methods

headers() click to toggle source
# File lib/level_travel/request.rb, line 34
def self.headers
  {
    Accept: 'application/vnd.leveltravel.v3',
    Authorization: format('Token token="%<api_token>s"', api_token: LevelTravel::Settings.api_token)
  }
end
request_client() click to toggle source
# File lib/level_travel/request.rb, line 41
def self.request_client
  Faraday.new(url: HOST, headers: headers)
end