lib/sportradar/api/odds/api.rb
module Sportradar
module Api
module Odds
class Api < Request
attr_accessor :access_level, :language_code, :error, :base_path
def initialize(base_path:, access_level: default_access_level, language_code: 'en', **args)
@language_code = language_code
@access_level = access_level
@base_path = base_path
raise Sportradar::Api::Error::InvalidAccessLevel unless allowed_access_levels.include? @access_level
end
def default_season
'reg'
end
def default_access_level
if (ENV['SPORTRADAR_ODDS_ENV'] || ENV['SPORTRADAR_ENV'] || ENV['RACK_ENV'] || ENV['RAILS_ENV']) == 'production'
'production'
else
'trial'
end
end
def content_format
'json'
end
def inspect
self.class.name
end
private
def request_url(path)
"/#{base_path}/#{access_level}/v#{version}/#{language_code}/#{path}"
end
def api_key
if !['trial', 'sim'].include?(access_level) || (access_level == 'sim' && default_access_level == 'production')
Sportradar::Api.api_key_params("odds", 'production')
else
Sportradar::Api.api_key_params("odds")
end
end
def version
Sportradar::Api.version('odds')
end
def allowed_access_levels
%w[production trial]
end
end
end
end
end