Module: SportsDataApi

Defined in:
lib/sports_data_api.rb,
lib/sports_data_api/mlb.rb,
lib/sports_data_api/nba.rb,
lib/sports_data_api/nfl.rb,
lib/sports_data_api/nhl.rb,
lib/sports_data_api/stats.rb,
lib/sports_data_api/ncaafb.rb,
lib/sports_data_api/ncaamb.rb,
lib/sports_data_api/version.rb,
lib/sports_data_api/mlb/game.rb,
lib/sports_data_api/mlb/team.rb,
lib/sports_data_api/nba/game.rb,
lib/sports_data_api/nba/team.rb,
lib/sports_data_api/nfl/game.rb,
lib/sports_data_api/nfl/team.rb,
lib/sports_data_api/nfl/week.rb,
lib/sports_data_api/nhl/game.rb,
lib/sports_data_api/nhl/team.rb,
lib/sports_data_api/exception.rb,
lib/sports_data_api/mlb/games.rb,
lib/sports_data_api/mlb/teams.rb,
lib/sports_data_api/mlb/venue.rb,
lib/sports_data_api/nba/games.rb,
lib/sports_data_api/nba/teams.rb,
lib/sports_data_api/nba/venue.rb,
lib/sports_data_api/nfl/games.rb,
lib/sports_data_api/nfl/teams.rb,
lib/sports_data_api/nfl/venue.rb,
lib/sports_data_api/nhl/games.rb,
lib/sports_data_api/nhl/teams.rb,
lib/sports_data_api/nhl/venue.rb,
lib/sports_data_api/mlb/player.rb,
lib/sports_data_api/mlb/season.rb,
lib/sports_data_api/mlb/venues.rb,
lib/sports_data_api/nba/player.rb,
lib/sports_data_api/nba/season.rb,
lib/sports_data_api/nfl/player.rb,
lib/sports_data_api/nfl/season.rb,
lib/sports_data_api/nhl/player.rb,
lib/sports_data_api/nhl/season.rb,
lib/sports_data_api/mlb/players.rb,
lib/sports_data_api/ncaafb/game.rb,
lib/sports_data_api/ncaafb/team.rb,
lib/sports_data_api/ncaafb/week.rb,
lib/sports_data_api/ncaamb/game.rb,
lib/sports_data_api/ncaamb/team.rb,
lib/sports_data_api/nfl/weather.rb,
lib/sports_data_api/mlb/boxscore.rb,
lib/sports_data_api/ncaafb/games.rb,
lib/sports_data_api/ncaafb/polls.rb,
lib/sports_data_api/ncaafb/teams.rb,
lib/sports_data_api/ncaafb/venue.rb,
lib/sports_data_api/ncaamb/games.rb,
lib/sports_data_api/ncaamb/teams.rb,
lib/sports_data_api/ncaamb/venue.rb,
lib/sports_data_api/nfl/injuries.rb,
lib/sports_data_api/mlb/broadcast.rb,
lib/sports_data_api/mlb/game_stat.rb,
lib/sports_data_api/nba/broadcast.rb,
lib/sports_data_api/ncaafb/player.rb,
lib/sports_data_api/ncaafb/season.rb,
lib/sports_data_api/ncaamb/player.rb,
lib/sports_data_api/ncaamb/season.rb,
lib/sports_data_api/nfl/broadcast.rb,
lib/sports_data_api/nhl/broadcast.rb,
lib/sports_data_api/mlb/game_stats.rb,
lib/sports_data_api/ncaafb/weather.rb,
lib/sports_data_api/ncaafb/division.rb,
lib/sports_data_api/ncaafb/injuries.rb,
lib/sports_data_api/nfl/team_roster.rb,
lib/sports_data_api/ncaafb/broadcast.rb,
lib/sports_data_api/ncaafb/poll_team.rb,
lib/sports_data_api/ncaamb/broadcast.rb,
lib/sports_data_api/ncaamb/tournament.rb,
lib/sports_data_api/nfl/team_season_stats.rb,
lib/sports_data_api/ncaamb/tournament_game.rb,
lib/sports_data_api/ncaamb/tournament_list.rb,
lib/sports_data_api/nfl/player_season_stats.rb,
lib/sports_data_api/ncaamb/tournament_schedule.rb

Defined Under Namespace

Modules: Mlb, Nba, Ncaafb, Ncaamb, Nfl, Nhl Classes: Exception, Stats

Constant Summary collapse

LIBRARY_PATH =
File.join(File.dirname(__FILE__), 'sports_data_api')
VERSION =
'0.2.3'

Class Method Summary collapse

Class Method Details

.access_level(sport) ⇒ Object



19
20
21
22
23
# File 'lib/sports_data_api.rb', line 19

def self.access_level(sport)
  @access_level ||= {}
  @access_level[sport] ||= "t"
  @access_level[sport]
end

.generic_request(url, sport) ⇒ Object



30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
# File 'lib/sports_data_api.rb', line 30

def self.generic_request(url, sport)
  begin
    return RestClient.get(url, params: { api_key: SportsDataApi.key(sport) })
  rescue RestClient::RequestTimeout => timeout
    raise SportsDataApi::Exception, 'The API did not respond in a reasonable amount of time'
  rescue RestClient::Exception => e
    message = 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
    raise SportsDataApi::Exception, message
  end
end

.key(sport) ⇒ Object



8
9
10
11
12
# File 'lib/sports_data_api.rb', line 8

def self.key(sport)
  @key ||= {}
  @key[sport] ||= ''
  @key[sport]
end

.set_access_level(sport, new_level) ⇒ Object



25
26
27
28
# File 'lib/sports_data_api.rb', line 25

def self.set_access_level(sport, new_level)
  @access_level ||= {}
  @access_level[sport] = new_level
end

.set_key(sport, new_key) ⇒ Object



14
15
16
17
# File 'lib/sports_data_api.rb', line 14

def self.set_key(sport, new_key)
  @key ||= {}
  @key[sport] = new_key
end