Sha256: cc113340b5170e70b704b797ec029cc081d6ec527a9725072f33aea005da6663
Contents?: true
Size: 1.94 KB
Versions: 3
Compression:
Stored size: 1.94 KB
Contents
require 'multi_json' require 'nokogiri' require 'rest_client' require 'sports_data_api/request' require 'sports_data_api/version' require 'time' module SportsDataApi class << self def key(sport) @key ||= {} @key[sport] ||= '' @key[sport] end def set_key(sport, new_key) @key ||= {} @key[sport] = new_key end def access_level(sport) @access_level ||= {} @access_level[sport] ||= 't' @access_level[sport] end def set_access_level(sport, new_level) @access_level ||= {} @access_level[sport] = new_level end def generic_request(url, sport) begin RestClient.get(url, params: { api_key: SportsDataApi.key(sport) }) rescue RestClient::RequestTimeout raise Exception, 'The API did not respond in a reasonable amount of time' rescue RestClient::Exception => e raise Exception, exception_message(e) end end private def exception_message(e) if e.response.headers.key? :x_server_error JSON.parse(e.response.headers[:x_server_error], { symbolize_names: true })[:message] elsif e.response.headers.key? :x_mashery_error_code e.response.headers[:x_mashery_error_code] else "The server did not specify a message" end end end LIBRARY_PATH = File.join(File.dirname(__FILE__), 'sports_data_api') autoload :Exception, File.join(LIBRARY_PATH, 'exception') autoload :Golf, File.join(LIBRARY_PATH, 'golf') autoload :JsonData, File.join(LIBRARY_PATH, 'json_data') autoload :Mlb, File.join(LIBRARY_PATH, 'mlb') autoload :Nba, File.join(LIBRARY_PATH, 'nba') autoload :Ncaafb, File.join(LIBRARY_PATH, 'ncaafb') autoload :Ncaamb, File.join(LIBRARY_PATH, 'ncaamb') autoload :Nfl, File.join(LIBRARY_PATH, 'nfl') autoload :Nhl, File.join(LIBRARY_PATH, 'nhl') autoload :Stats, File.join(LIBRARY_PATH, 'stats') end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
sports_data_api-0.10.1 | lib/sports_data_api.rb |
sports_data_api-0.10.0 | lib/sports_data_api.rb |
sports_data_api-0.9.2 | lib/sports_data_api.rb |