class Probasketball::Api

Constants

BASE_URLS

Public Class Methods

new(api_key, options = {}) click to toggle source
# File lib/probasketball/api.rb, line 5
def initialize(api_key, options = {})
  @api_key = api_key
  @options = options
end

Public Instance Methods

post(url, params = {}) click to toggle source
# File lib/probasketball/api.rb, line 15
def post(url, params = {})
  response = RestClient.post build_url(url), build_params(params), headers
  Response::Success.new(JSON.parse(response), response.code)
rescue RestClient::ExceptionWithResponse => e
  Response::Error.new(e.message)
rescue JSON::ParserError => e
  Response::Error.new(response.body)
end

Private Instance Methods

api_key() click to toggle source
# File lib/probasketball/api.rb, line 39
def api_key
  @api_key
end
base_url() click to toggle source
# File lib/probasketball/api.rb, line 47
def base_url
  BASE_URLS.fetch(version)
end
build_params(params) click to toggle source
# File lib/probasketball/api.rb, line 30
def build_params(params)
  params.merge(api_key: api_key).to_json
end
build_url(url) click to toggle source
# File lib/probasketball/api.rb, line 34
def build_url(url)
  puts base_url + url
  base_url + url
end
headers() click to toggle source
# File lib/probasketball/api.rb, line 26
def headers
  { accept: :json, content_type: :json }
end
version() click to toggle source
# File lib/probasketball/api.rb, line 43
def version
  @options.fetch(:version, :v2)
end