module ApiFootballV3::Request

Public Instance Methods

get(path, options = {}) click to toggle source
# File lib/api_football_v3/request.rb, line 9
def get(path, options = {})
  @path = path
  @options = options
  perform_get_request
end

Private Instance Methods

error(code) click to toggle source
# File lib/api_football_v3/request.rb, line 46
def error(code)
  klass = ApiFootballV3::Error::ERRORS[code.to_i]
  klass || ApiFootballV3::Error
end
http() click to toggle source
# File lib/api_football_v3/request.rb, line 33
def http
  http = Net::HTTP.new(url.host, url.port)
  http.use_ssl = true
  http.verify_mode = OpenSSL::SSL::VERIFY_NONE
  http
end
perform_get_request() click to toggle source
# File lib/api_football_v3/request.rb, line 17
def perform_get_request
  response = http.request(request)
  response_body = response.read_body ? JSON.parse(response.read_body) : ''
  raise(error(response.code), response_body) unless response.is_a?(Net::HTTPSuccess)

  response_body
end
query_params() click to toggle source
# File lib/api_football_v3/request.rb, line 29
def query_params
  '?' + URI.encode_www_form(@options)
end
request() click to toggle source
# File lib/api_football_v3/request.rb, line 40
def request
  request = Net::HTTP::Get.new(url)
  request["x-rapidapi-key"] = @api_key
  request
end
url() click to toggle source
# File lib/api_football_v3/request.rb, line 25
def url
  URI(@base_url + @path + query_params)
end