sportradar-api 0.11.1 → 0.12.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (66) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +4 -4
  3. data/README.md +1 -0
  4. data/lib/sportradar/api/baseball/events/lineup.rb +3 -3
  5. data/lib/sportradar/api/baseball/events/warming_up.rb +4 -0
  6. data/lib/sportradar/api/baseball/game.rb +45 -9
  7. data/lib/sportradar/api/baseball/lineup.rb +23 -15
  8. data/lib/sportradar/api/baseball/mlb/api.rb +75 -0
  9. data/lib/sportradar/api/baseball/mlb.rb +234 -43
  10. data/lib/sportradar/api/baseball/player.rb +1 -1
  11. data/lib/sportradar/api/baseball/team.rb +1 -1
  12. data/lib/sportradar/api/baseball.rb +1 -21
  13. data/lib/sportradar/api/basketball/game.rb +1 -1
  14. data/lib/sportradar/api/basketball/nba/api.rb +71 -0
  15. data/lib/sportradar/api/basketball/nba/conference.rb +10 -3
  16. data/lib/sportradar/api/basketball/nba/division.rb +11 -4
  17. data/lib/sportradar/api/basketball/nba/game.rb +1 -1
  18. data/lib/sportradar/api/basketball/nba/player.rb +1 -1
  19. data/lib/sportradar/api/basketball/nba/team.rb +1 -1
  20. data/lib/sportradar/api/basketball/nba.rb +145 -74
  21. data/lib/sportradar/api/basketball/ncaamb/api.rb +77 -0
  22. data/lib/sportradar/api/basketball/ncaamb/conference.rb +6 -1
  23. data/lib/sportradar/api/basketball/ncaamb/division.rb +3 -1
  24. data/lib/sportradar/api/basketball/ncaamb/game.rb +5 -5
  25. data/lib/sportradar/api/basketball/ncaamb/hierarchy.rb +1 -1
  26. data/lib/sportradar/api/basketball/ncaamb/player.rb +1 -1
  27. data/lib/sportradar/api/basketball/ncaamb/team.rb +1 -1
  28. data/lib/sportradar/api/basketball/ncaamb/tournament.rb +1 -1
  29. data/lib/sportradar/api/basketball/ncaamb.rb +165 -82
  30. data/lib/sportradar/api/basketball.rb +2 -2
  31. data/lib/sportradar/api/config.rb +2 -2
  32. data/lib/sportradar/api/content/article.rb +1 -1
  33. data/lib/sportradar/api/content/article_list.rb +1 -1
  34. data/lib/sportradar/api/content.rb +8 -4
  35. data/lib/sportradar/api/football/drive.rb +20 -5
  36. data/lib/sportradar/api/football/event.rb +3 -0
  37. data/lib/sportradar/api/football/game.rb +21 -4
  38. data/lib/sportradar/api/football/game_stats.rb +14 -10
  39. data/lib/sportradar/api/football/ncaafb/api.rb +4 -4
  40. data/lib/sportradar/api/football/ncaafb/drive.rb +58 -2
  41. data/lib/sportradar/api/football/ncaafb/game.rb +26 -0
  42. data/lib/sportradar/api/football/ncaafb/play.rb +124 -2
  43. data/lib/sportradar/api/football/ncaafb/team.rb +9 -0
  44. data/lib/sportradar/api/football/ncaafb.rb +3 -2
  45. data/lib/sportradar/api/football/nfl/api.rb +4 -4
  46. data/lib/sportradar/api/football/nfl/depth_chart.rb +53 -0
  47. data/lib/sportradar/api/football/nfl/drive.rb +7 -3
  48. data/lib/sportradar/api/football/nfl/game.rb +3 -0
  49. data/lib/sportradar/api/football/nfl/league_depth_chart.rb +41 -0
  50. data/lib/sportradar/api/football/nfl/play.rb +15 -0
  51. data/lib/sportradar/api/football/nfl/team_depth_chart.rb +44 -0
  52. data/lib/sportradar/api/football/nfl.rb +39 -9
  53. data/lib/sportradar/api/football/play.rb +111 -9
  54. data/lib/sportradar/api/football/play_statistics.rb +397 -0
  55. data/lib/sportradar/api/football/player.rb +2 -1
  56. data/lib/sportradar/api/football/quarter.rb +8 -1
  57. data/lib/sportradar/api/football/scoring.rb +5 -10
  58. data/lib/sportradar/api/football/situation.rb +18 -2
  59. data/lib/sportradar/api/football/team.rb +9 -3
  60. data/lib/sportradar/api/football/week.rb +4 -4
  61. data/lib/sportradar/api/football.rb +4 -0
  62. data/lib/sportradar/api/images.rb +6 -6
  63. data/lib/sportradar/api/version.rb +1 -1
  64. metadata +9 -4
  65. data/lib/sportradar/api/baseball/mlb/hierarchy.rb +0 -273
  66. data/lib/sportradar/api/basketball/nba/hierarchy.rb +0 -47
@@ -21,26 +21,6 @@ require_relative 'baseball/lineup'
21
21
  require_relative 'baseball/scoring'
22
22
 
23
23
  require_relative 'baseball/mlb'
24
- require_relative 'baseball/mlb/hierarchy'
24
+ require_relative 'baseball/mlb/api'
25
25
  require_relative 'baseball/mlb/league'
26
26
  require_relative 'baseball/mlb/division'
27
- # require_relative 'baseball/mlb/season'
28
- # require_relative 'baseball/mlb/schedule'
29
- # require_relative 'baseball/mlb/game'
30
- # require_relative 'baseball/mlb/team'
31
- # require_relative 'baseball/mlb/player'
32
- # require_relative 'baseball/mlb/quarter'
33
-
34
- # require_relative 'baseball/ncaamb'
35
- # require_relative 'baseball/ncaamb/season'
36
- # require_relative 'baseball/ncaamb/schedule'
37
- # require_relative 'baseball/ncaamb/tournament'
38
- # require_relative 'baseball/ncaamb/round'
39
- # require_relative 'baseball/ncaamb/bracket'
40
- # require_relative 'baseball/ncaamb/game'
41
- # require_relative 'baseball/ncaamb/half'
42
- # require_relative 'baseball/ncaamb/hierarchy'
43
- # require_relative 'baseball/ncaamb/division'
44
- # require_relative 'baseball/ncaamb/conference'
45
- # require_relative 'baseball/ncaamb/team'
46
- # require_relative 'baseball/ncaamb/player'
@@ -222,7 +222,7 @@ module Sportradar
222
222
  elsif period == 5
223
223
  'OT'
224
224
  else
225
- "Q#{period}"
225
+ "#{period}Q"
226
226
  end
227
227
  end
228
228
 
@@ -0,0 +1,71 @@
1
+ module Sportradar
2
+ module Api
3
+ module Basketball
4
+ class Nba
5
+ class Api < Request
6
+ attr_accessor :league, :access_level, :error
7
+
8
+ def initialize(access_level = default_access_level)
9
+ @league = 'nba'
10
+ raise Sportradar::Api::Error::InvalidAccessLevel unless allowed_access_levels.include? access_level
11
+ @access_level = access_level
12
+ end
13
+
14
+ def default_year
15
+ (Date.today - 210).year
16
+ end
17
+ def default_date
18
+ Date.today
19
+ end
20
+ def default_season
21
+ 'reg'
22
+ end
23
+ def default_access_level
24
+ if (ENV['SPORTRADAR_ENV'] || ENV['RACK_ENV'] || ENV['RAILS_ENV']) == 'production'
25
+ 'p'
26
+ else
27
+ 't'
28
+ end
29
+ end
30
+
31
+ def content_format
32
+ 'json'
33
+ end
34
+
35
+ private
36
+
37
+ def request_url(path)
38
+ "/nba-#{access_level}#{version}/#{path}"
39
+ end
40
+
41
+ def api_key
42
+ if !['t', 'sim'].include?(access_level) || (access_level == 'sim' && default_access_level == 'p')
43
+ Sportradar::Api.api_key_params('nba', 'production')
44
+ else
45
+ Sportradar::Api.api_key_params('nba')
46
+ end
47
+ end
48
+
49
+ def version
50
+ Sportradar::Api.version('nba')
51
+ end
52
+
53
+ def allowed_access_levels
54
+ %w[p t sim]
55
+ end
56
+
57
+ def allowed_seasons
58
+ ["pre", "reg", "pst"]
59
+ end
60
+
61
+ end
62
+ end
63
+ end
64
+ end
65
+ end
66
+
67
+ __END__
68
+
69
+ sr = Sportradar::Api::Basketball::Nba.new
70
+ lh = sr.league_hierarchy;
71
+ ls = sr.standings;
@@ -9,10 +9,17 @@ module Sportradar
9
9
  @response = data
10
10
  @api = opts[:api]
11
11
 
12
- @id = data["id"]
13
- @name = data["name"]
12
+ @divisions_hash = {}
13
+
14
+ update(data, **opts)
15
+ end
16
+
17
+ def update(data, **opts)
18
+ @id = data["id"]
19
+ @name = data["name"]
14
20
  @alias = data["alias"]
15
- @divisions_hash = create_data({}, data["divisions"], klass: Division, conference: self, api: @api) # if response["division"]
21
+
22
+ create_data(@divisions_hash, data["divisions"], klass: Division, conference: self, api: @api) if response["divisions"]
16
23
  end
17
24
 
18
25
  def divisions
@@ -9,11 +9,18 @@ module Sportradar
9
9
  @response = data
10
10
  @api = opts[:api]
11
11
 
12
- @id = data["id"]
13
- @name = data["name"]
14
- @alias = data["alias"]
15
12
  @assigned_teams = nil
16
- @teams_hash = create_data({}, data["teams"], klass: Team, division: self, api: @api) # if response["team"]
13
+ @teams_hash = {}
14
+
15
+ update(data, **opts)
16
+ end
17
+
18
+ def update(data, **opts)
19
+ @id = data["id"]
20
+ @name = data["name"]
21
+ @alias = data["alias"]
22
+
23
+ create_data(@teams_hash, data["teams"], klass: Team, division: self, api: @api) if response["teams"]
17
24
  end
18
25
 
19
26
  def teams
@@ -20,7 +20,7 @@ module Sportradar
20
20
  alias :quarters :periods
21
21
 
22
22
  def api
23
- @api || Sportradar::Api::Basketball::Nba.new
23
+ @api || Sportradar::Api::Basketball::Nba::Api.new
24
24
  end
25
25
 
26
26
  def sim!
@@ -137,7 +137,7 @@ module Sportradar
137
137
  end
138
138
 
139
139
  def api
140
- @api || Sportradar::Api::Basketball::Nba.new
140
+ @api || Sportradar::Api::Basketball::Nba::Api.new
141
141
  end
142
142
 
143
143
 
@@ -27,7 +27,7 @@ module Sportradar
27
27
  end
28
28
 
29
29
  def api
30
- @api || Sportradar::Api::Basketball::Nba.new
30
+ @api || Sportradar::Api::Basketball::Nba::Api.new
31
31
  end
32
32
 
33
33
  def handle_names(data)
@@ -1,68 +1,110 @@
1
1
  module Sportradar
2
2
  module Api
3
3
  module Basketball
4
- class Nba < Request
5
- attr_accessor :league, :access_level, :simulation, :error
4
+ class Nba < Data
5
+ attr_accessor :response, :id, :name, :alias
6
+ def all_attributes
7
+ [:name, :alias, :conferences, :divisions, :teams]
8
+ end
9
+
10
+ def initialize(data = {}, **opts)
11
+ @response = data
12
+ @api = opts[:api]
13
+ @id = data['id']
14
+ @season = opts[:year]
15
+ @type = opts[:type]
16
+
17
+ @conferences_hash = {}
18
+ @weeks_hash = {}
19
+ @games_hash = {}
20
+ @series_hash = {}
21
+ @teams_hash = {}
6
22
 
7
- def initialize(access_level = default_access_level)
8
- @league = 'nba'
9
- raise Sportradar::Api::Error::InvalidAccessLevel unless allowed_access_levels.include? access_level
10
- @access_level = access_level
23
+ update(data, **opts)
11
24
  end
12
25
 
13
- def schedule(season_year = default_year, nba_season = default_season)
14
- raise Sportradar::Api::Error::InvalidSeason unless allowed_seasons.include? nba_season
15
- response = get request_url("games/#{season_year}/#{nba_season}/schedule")
16
- if response.success?
17
- Sportradar::Api::Basketball::Nba::Season.new(response.to_h, api: self)
18
- else
19
- @error = response
26
+ def update(data, **opts)
27
+ @id = data['id'] if data['id']
28
+
29
+ if data['league']
30
+ @id = data.dig('league', 'id')
31
+ @name = data.dig('league', 'name')
32
+ @alias = data.dig('league', 'alias')
20
33
  end
21
- end
22
34
 
23
- def daily_schedule(date = default_date, nba_season = default_season)
24
- response = get request_url("games/#{ date.year }/#{ date.month }/#{ date.day }/schedule")
25
- if response.success?
26
- Sportradar::Api::Basketball::Nba::Schedule.new(response.to_h, api: self)
35
+ if data['season'].is_a?(Hash)
36
+ @season = data.dig('season', 'year')
37
+ @type = data.dig('season', 'type')
27
38
  else
28
- @error = response
39
+ @season = data['season'] if data['season']
40
+ @type = data['type'] if data['type']
29
41
  end
42
+
43
+ create_data(@teams_hash, data['teams'], klass: Team, api: api) if data['teams']
44
+ create_data(@conferences_hash, data['conferences'], klass: Conference, api: api) if data['conferences']
45
+ create_data(@games_hash, data['games'], klass: Game, api: api) if data['games']
46
+ create_data(@series_hash, data['series'], klass: Series, api: api) if data['series']
30
47
  end
31
48
 
32
- def series_schedule(season_year = default_year)
33
- response = get request_url("series/#{season_year}/pst/schedule")
34
- if response.success?
35
- Sportradar::Api::Basketball::Nba::Season.new(response.to_h, api: self)
36
- else
37
- @error = response
38
- end
49
+ def conferences
50
+ @conferences_hash.values
51
+ end
52
+ def divisions
53
+ conferences.flat_map(&:divisions)
39
54
  end
40
55
 
41
- def league_hierarchy
42
- response = get request_url("league/hierarchy")
43
- if response.success?
44
- Sportradar::Api::Basketball::Nba::Hierarchy.new(response.to_h, api: self)
45
- else
46
- response
47
- end
56
+ def schedule
57
+ get_schedule if games.empty?
58
+ self
59
+ end
60
+
61
+ def standings
62
+ get_standings if divisions.empty? || teams.first&.record.nil?
63
+ self
64
+ end
65
+
66
+ def hierarchy
67
+ get_hierarchy if divisions.empty?
68
+ self
48
69
  end
49
- alias :hierarchy :league_hierarchy
50
70
 
51
- def standings(season_year = default_year, nba_season = default_season)
52
- response = get request_url("seasontd/#{season_year}/#{nba_season}/standings")
53
- if response.success?
54
- Sportradar::Api::Basketball::Nba::Hierarchy.new(response.to_h, api: self)
71
+ def series_schedule
72
+ get_series_schedule if series.empty?
73
+ self
74
+ end
75
+
76
+ def games
77
+ @games_hash.values
78
+ end
79
+
80
+ def series
81
+ @series_hash.values
82
+ end
83
+
84
+ def teams
85
+ teams = divisions.flat_map(&:teams)
86
+ if teams.empty?
87
+ if @teams_hash.empty?
88
+ get_hierarchy
89
+ divisions.flat_map(&:teams)
90
+ else
91
+ @teams_hash.values
92
+ end
55
93
  else
56
- response
94
+ teams
57
95
  end
58
96
  end
59
97
 
60
- def get_data(url)
61
- get request_url(url)
98
+ def team(team_id)
99
+ teams.detect { |team| team.id == team_id }
100
+ end
101
+
102
+ def api
103
+ @api || Sportradar::Api::Basketball::Nba::Api.new
62
104
  end
63
105
 
64
106
  def default_year
65
- 2016
107
+ (Date.today - 210).year
66
108
  end
67
109
  def default_date
68
110
  Date.today
@@ -70,51 +112,78 @@ module Sportradar
70
112
  def default_season
71
113
  'reg'
72
114
  end
73
- def default_access_level
74
- if (ENV['SPORTRADAR_ENV'] || ENV['RACK_ENV'] || ENV['RAILS_ENV']) == 'production'
75
- 'p'
76
- else
77
- 't'
78
- end
115
+ def season_year
116
+ @season || default_year
79
117
  end
118
+ alias :year :season_year
119
+ def nba_season
120
+ @type || default_season
121
+ end
122
+ alias :season :nba_season
80
123
 
81
- def content_format
82
- 'json'
124
+ def path_schedule
125
+ "games/#{season_year}/#{nba_season}/schedule"
83
126
  end
84
127
 
85
- private
128
+ def path_daily_schedule(date = default_date)
129
+ "games/#{ date.year }/#{ date.month }/#{ date.day }/schedule"
130
+ end
86
131
 
87
- def check_simulation(game_id)
88
- @simulation = true if simulation_games.include?(game_id)
132
+ def path_series_schedule
133
+ "series/#{season_year}/pst/schedule"
89
134
  end
90
135
 
91
- def request_url(path)
92
- # puts "/nba-#{access_level}#{version}/#{path}"
93
- if simulation
94
- # "/nfl-sim1/#{path}"
95
- else
96
- "/nba-#{access_level}#{version}/#{path}"
97
- end
136
+ def path_hierarchy
137
+ "league/hierarchy"
98
138
  end
99
139
 
100
- def api_key
101
- if !['t', 'sim'].include?(access_level)
102
- Sportradar::Api.api_key_params('nba', 'production')
103
- else
104
- Sportradar::Api.api_key_params('nba')
105
- end
140
+ def path_standings
141
+ "seasontd/#{season_year}/#{nba_season}/standings"
142
+ end
143
+
144
+ def get_schedule
145
+ data = api.get_data(path_schedule).to_h
146
+ ingest_schedule(data)
147
+ end
148
+ def ingest_schedule(data)
149
+ update(data, source: :schedule)
150
+ data
151
+ end
152
+
153
+ def get_daily_schedule(date = default_date)
154
+ data = api.get_data(path_daily_schedule(date)).to_h
155
+ ingest_daily_schedule(data)
156
+ end
157
+ def ingest_daily_schedule(data)
158
+ update(data, source: :daily_schedule)
159
+ data
106
160
  end
107
161
 
108
- def version
109
- Sportradar::Api.version('nba')
162
+ def get_series_schedule
163
+ data = api.get_data(path_series_schedule).to_h
164
+ ingest_series_schedule(data)
165
+ end
166
+ def ingest_series_schedule(data)
167
+ update(data, source: :series_schedule)
168
+ data
110
169
  end
111
170
 
112
- def allowed_access_levels
113
- %w[p t sim]
171
+ def get_hierarchy
172
+ data = api.get_data(path_hierarchy).to_h
173
+ ingest_hierarchy(data)
174
+ end
175
+ def ingest_hierarchy(data)
176
+ update(data, source: :hierarchy)
177
+ data
114
178
  end
115
179
 
116
- def allowed_seasons
117
- ["pre", "reg", "pst"]
180
+ def get_standings
181
+ data = api.get_data(path_standings).to_h
182
+ ingest_standings(data)
183
+ end
184
+ def ingest_standings(data)
185
+ update(data, source: :standings)
186
+ data
118
187
  end
119
188
 
120
189
  end
@@ -124,6 +193,8 @@ end
124
193
 
125
194
  __END__
126
195
 
196
+ st = sr.standings;
127
197
  sr = Sportradar::Api::Basketball::Nba.new
128
- lh = sr.league_hierarchy;
129
- ls = sr.standings;
198
+ lh = sr.hierarchy;
199
+ t = lh.teams.first;
200
+ t.venue.id
@@ -0,0 +1,77 @@
1
+ module Sportradar
2
+ module Api
3
+ module Basketball
4
+ class Ncaamb
5
+ class Api < Request
6
+ attr_accessor :league, :access_level, :error
7
+
8
+ def initialize(access_level = default_access_level)
9
+ @league = 'ncaamb'
10
+ raise Sportradar::Api::Error::InvalidAccessLevel unless allowed_access_levels.include? access_level
11
+ @access_level = access_level
12
+ end
13
+
14
+ def default_year
15
+ (Date.today - 210).year
16
+ end
17
+ def default_date
18
+ Date.today
19
+ end
20
+ def default_season
21
+ 'reg'
22
+ end
23
+ def default_access_level
24
+ if (ENV['SPORTRADAR_ENV'] || ENV['RACK_ENV'] || ENV['RAILS_ENV']) == 'production'
25
+ 'p'
26
+ else
27
+ 't'
28
+ end
29
+ end
30
+
31
+ def content_format
32
+ 'json'
33
+ end
34
+
35
+ private
36
+
37
+ def request_url(path)
38
+ "/ncaamb-#{access_level}#{version}/#{path}"
39
+ end
40
+
41
+ def api_key
42
+ if !['t', 'sim'].include?(access_level) || (access_level == 'sim' && default_access_level == 'p')
43
+ Sportradar::Api.api_key_params('ncaamb', 'production')
44
+ else
45
+ Sportradar::Api.api_key_params('ncaamb')
46
+ end
47
+ end
48
+
49
+ def version
50
+ Sportradar::Api.version('ncaamb')
51
+ end
52
+
53
+ def allowed_access_levels
54
+ %w[p t sim]
55
+ end
56
+
57
+ def allowed_seasons
58
+ ["pre", "reg", 'ct', "pst"]
59
+ end
60
+
61
+ end
62
+ end
63
+ end
64
+ end
65
+ end
66
+
67
+ __END__
68
+
69
+ sr = Sportradar::Api::Basketball::Ncaamb.new
70
+ ss = sr.schedule(2015, 'ct');
71
+ ss = sr.schedule(2015, 'pst');
72
+ rank = sr.rankings('US');
73
+ ds = sr.daily_schedule;
74
+
75
+ # not ready
76
+ lh = sr.league_hierarchy;
77
+ ls = sr.standings;
@@ -13,8 +13,13 @@ module Sportradar
13
13
  @name = data["name"]
14
14
  @alias = data["alias"]
15
15
  @assigned_teams = nil
16
+ @teams_hash = {}
16
17
 
17
- @teams_hash = create_data({}, data["teams"], klass: Team, conference: self, api: @api) # if data["team"]
18
+ update(data, **opts)
19
+ end
20
+
21
+ def update(data, **opts)
22
+ create_data(@teams_hash, data["teams"], klass: Team, conference: self, api: @api) # if data["team"]
18
23
  end
19
24
 
20
25
  def teams
@@ -12,11 +12,13 @@ module Sportradar
12
12
  @id = data["id"]
13
13
  @name = data["name"]
14
14
  @alias = data["alias"]
15
+ @conferences_hash = {}
16
+
15
17
  update(data, **opts)
16
18
  end
17
19
 
18
20
  def update(data, **opts)
19
- @conferences_hash = create_data({}, data["conferences"], klass: Conference, division: self, api: @api) if data["conferences"]
21
+ create_data(@conferences_hash, data["conferences"], klass: Conference, division: self, api: @api) if data["conferences"]
20
22
  end
21
23
 
22
24
  def conferences
@@ -7,12 +7,12 @@ module Sportradar
7
7
  # NCAA MB specific
8
8
 
9
9
  def period_display
10
- if period > 5
11
- "#{period - 4}OT"
12
- elsif period == 5
10
+ if period > 3
11
+ "#{period - 2}OT"
12
+ elsif period == 3
13
13
  'OT'
14
14
  else
15
- "Q#{period}"
15
+ "#{period}H"
16
16
  end
17
17
  end
18
18
 
@@ -30,7 +30,7 @@ module Sportradar
30
30
  alias :halfs :periods
31
31
 
32
32
  def api
33
- @api || Sportradar::Api::Basketball::Ncaamb.new
33
+ @api || Sportradar::Api::Basketball::Ncaamb::Api.new
34
34
  end
35
35
 
36
36
  def sim!
@@ -35,7 +35,7 @@ module Sportradar
35
35
  end
36
36
 
37
37
  def api
38
- @api || Sportradar::Api::Basketball::Ncaamb.new
38
+ @api || Sportradar::Api::Basketball::Ncaamb::Api.new
39
39
  end
40
40
 
41
41
  end
@@ -139,7 +139,7 @@ module Sportradar
139
139
  end
140
140
 
141
141
  def api
142
- @api || Sportradar::Api::Basketball::Nba.new
142
+ @api || Sportradar::Api::Basketball::Ncaamb::Api.new
143
143
  end
144
144
 
145
145
 
@@ -31,7 +31,7 @@ module Sportradar
31
31
  end
32
32
 
33
33
  def api
34
- @api || Sportradar::Api::Basketball::Ncaamb.new
34
+ @api || Sportradar::Api::Basketball::Ncaamb::Api.new
35
35
  end
36
36
 
37
37
  def good_guys?
@@ -118,7 +118,7 @@ module Sportradar
118
118
  end
119
119
 
120
120
  def api
121
- @api ||= Sportradar::Api::Basketball::Ncaamb.new
121
+ @api ||= Sportradar::Api::Basketball::Ncaamb::Api.new
122
122
  end
123
123
 
124
124
  end