sportradar-api 0.10.55 → 0.11.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (110) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +28 -26
  3. data/README.md +7 -6
  4. data/lib/sportradar/api/baseball/{REAME.md → README.md} +0 -0
  5. data/lib/sportradar/api/baseball/game.rb +29 -2
  6. data/lib/sportradar/api/baseball/mlb/hierarchy.rb +1 -0
  7. data/lib/sportradar/api/baseball/record.rb +0 -4
  8. data/lib/sportradar/api/baseball/venue.rb +2 -1
  9. data/lib/sportradar/api/basketball/game.rb +2 -2
  10. data/lib/sportradar/api/basketball/record.rb +0 -4
  11. data/lib/sportradar/api/basketball/venue.rb +2 -1
  12. data/lib/sportradar/api/data.rb +3 -3
  13. data/lib/sportradar/api/football/README.md +62 -0
  14. data/lib/sportradar/api/football/drive.rb +105 -0
  15. data/lib/sportradar/api/football/event.rb +33 -0
  16. data/lib/sportradar/api/football/game.rb +389 -0
  17. data/lib/sportradar/api/football/game_stats.rb +135 -0
  18. data/lib/sportradar/api/football/ncaafb/api.rb +76 -0
  19. data/lib/sportradar/api/football/ncaafb/conference.rb +53 -0
  20. data/lib/sportradar/api/football/ncaafb/division.rb +42 -0
  21. data/lib/sportradar/api/football/ncaafb/drive.rb +16 -0
  22. data/lib/sportradar/api/football/ncaafb/game.rb +110 -0
  23. data/lib/sportradar/api/football/ncaafb/play.rb +20 -0
  24. data/lib/sportradar/api/football/ncaafb/player.rb +31 -0
  25. data/lib/sportradar/api/football/ncaafb/quarter.rb +15 -0
  26. data/lib/sportradar/api/football/ncaafb/subdivision.rb +43 -0
  27. data/lib/sportradar/api/football/ncaafb/team.rb +45 -0
  28. data/lib/sportradar/api/football/ncaafb/week.rb +24 -0
  29. data/lib/sportradar/api/football/ncaafb.rb +273 -0
  30. data/lib/sportradar/api/football/nfl/api.rb +76 -0
  31. data/lib/sportradar/api/football/nfl/conference.rb +35 -0
  32. data/lib/sportradar/api/football/nfl/division.rb +37 -0
  33. data/lib/sportradar/api/football/nfl/drive.rb +19 -0
  34. data/lib/sportradar/api/football/nfl/event.rb +19 -0
  35. data/lib/sportradar/api/football/nfl/game.rb +77 -0
  36. data/lib/sportradar/api/football/nfl/play.rb +20 -0
  37. data/lib/sportradar/api/football/nfl/player.rb +31 -0
  38. data/lib/sportradar/api/football/nfl/quarter.rb +15 -0
  39. data/lib/sportradar/api/football/nfl/team.rb +42 -0
  40. data/lib/sportradar/api/football/nfl/week.rb +24 -0
  41. data/lib/sportradar/api/football/nfl.rb +293 -0
  42. data/lib/sportradar/api/football/play.rb +93 -0
  43. data/lib/sportradar/api/football/player.rb +111 -0
  44. data/lib/sportradar/api/football/quarter.rb +42 -0
  45. data/lib/sportradar/api/football/record.rb +48 -0
  46. data/lib/sportradar/api/football/scoring.rb +92 -0
  47. data/lib/sportradar/api/football/situation.rb +20 -0
  48. data/lib/sportradar/api/football/stat_pack/defense.rb +20 -20
  49. data/lib/sportradar/api/football/stat_pack/extra_points.rb +5 -4
  50. data/lib/sportradar/api/football/stat_pack/field_goals.rb +6 -5
  51. data/lib/sportradar/api/football/stat_pack/fumbles.rb +11 -9
  52. data/lib/sportradar/api/football/stat_pack/kick_returns.rb +8 -7
  53. data/lib/sportradar/api/football/stat_pack/kickoffs.rb +9 -7
  54. data/lib/sportradar/api/football/stat_pack/misc_returns.rb +1 -1
  55. data/lib/sportradar/api/football/stat_pack/passing.rb +13 -11
  56. data/lib/sportradar/api/football/stat_pack/penalties.rb +2 -2
  57. data/lib/sportradar/api/football/stat_pack/punt_returns.rb +7 -6
  58. data/lib/sportradar/api/football/stat_pack/punts.rb +12 -10
  59. data/lib/sportradar/api/football/stat_pack/receiving.rb +10 -9
  60. data/lib/sportradar/api/football/stat_pack/rushing.rb +11 -9
  61. data/lib/sportradar/api/football/stat_pack.rb +7 -3
  62. data/lib/sportradar/api/football/team.rb +160 -0
  63. data/lib/sportradar/api/football/venue.rb +25 -0
  64. data/lib/sportradar/api/football/week.rb +57 -0
  65. data/lib/sportradar/api/football.rb +43 -0
  66. data/lib/sportradar/api/mma/venue.rb +1 -1
  67. data/lib/sportradar/api/request.rb +19 -2
  68. data/lib/sportradar/api/version.rb +1 -1
  69. data/lib/sportradar/api.rb +0 -41
  70. metadata +41 -43
  71. data/lib/sportradar/api/ncaafb/drive.rb +0 -89
  72. data/lib/sportradar/api/ncaafb/game.rb +0 -161
  73. data/lib/sportradar/api/ncaafb/play.rb +0 -39
  74. data/lib/sportradar/api/ncaafb/player.rb +0 -61
  75. data/lib/sportradar/api/ncaafb/quarter.rb +0 -37
  76. data/lib/sportradar/api/ncaafb/season.rb +0 -71
  77. data/lib/sportradar/api/ncaafb/team.rb +0 -69
  78. data/lib/sportradar/api/ncaafb/week.rb +0 -33
  79. data/lib/sportradar/api/ncaafb.rb +0 -185
  80. data/lib/sportradar/api/nfl/.play_statistics.rb.swo +0 -0
  81. data/lib/sportradar/api/nfl/broadcast.rb +0 -13
  82. data/lib/sportradar/api/nfl/changelog.rb +0 -17
  83. data/lib/sportradar/api/nfl/coach.rb +0 -17
  84. data/lib/sportradar/api/nfl/conference.rb +0 -17
  85. data/lib/sportradar/api/nfl/depth_chart.rb +0 -47
  86. data/lib/sportradar/api/nfl/division.rb +0 -16
  87. data/lib/sportradar/api/nfl/draft.rb +0 -16
  88. data/lib/sportradar/api/nfl/drive.rb +0 -73
  89. data/lib/sportradar/api/nfl/event.rb +0 -19
  90. data/lib/sportradar/api/nfl/franchise.rb +0 -14
  91. data/lib/sportradar/api/nfl/game.rb +0 -123
  92. data/lib/sportradar/api/nfl/game_statistic.rb +0 -133
  93. data/lib/sportradar/api/nfl/hierarchy.rb +0 -19
  94. data/lib/sportradar/api/nfl/injury.rb +0 -16
  95. data/lib/sportradar/api/nfl/league_depth_chart.rb +0 -26
  96. data/lib/sportradar/api/nfl/play.rb +0 -39
  97. data/lib/sportradar/api/nfl/play_statistics.rb +0 -249
  98. data/lib/sportradar/api/nfl/player.rb +0 -56
  99. data/lib/sportradar/api/nfl/position.rb +0 -14
  100. data/lib/sportradar/api/nfl/quarter.rb +0 -29
  101. data/lib/sportradar/api/nfl/scoring.rb +0 -25
  102. data/lib/sportradar/api/nfl/season.rb +0 -23
  103. data/lib/sportradar/api/nfl/situation.rb +0 -18
  104. data/lib/sportradar/api/nfl/statistic.rb +0 -28
  105. data/lib/sportradar/api/nfl/summary.rb +0 -17
  106. data/lib/sportradar/api/nfl/team.rb +0 -56
  107. data/lib/sportradar/api/nfl/team_depth_chart.rb +0 -44
  108. data/lib/sportradar/api/nfl/venue.rb +0 -22
  109. data/lib/sportradar/api/nfl/week.rb +0 -16
  110. data/lib/sportradar/api/nfl.rb +0 -211
@@ -1,211 +0,0 @@
1
- module Sportradar
2
- module Api
3
- class Nfl < Request
4
- attr_accessor :league, :access_level, :simulation
5
-
6
- def initialize( access_level = "ot")
7
- @league = "nfl"
8
- raise Sportradar::Api::Error::InvalidAccessLevel unless allowed_access_levels.include? access_level
9
- @access_level = access_level
10
- end
11
-
12
- def schedule(year = Date.today.year, season = "reg")
13
- raise Sportradar::Api::Error::InvalidSeason unless allowed_seasons.include? season
14
- response = get request_url("games/#{ year }/#{ season }/schedule")
15
- if response.success? && response["season"]
16
- Sportradar::Api::Nfl::Season.new response["season"]
17
- else
18
- response
19
- end
20
- end
21
-
22
- def weekly_schedule(week = 1, year = Date.today.year, season = "reg")
23
- response = get request_url("games/#{ week_path(year, season, week) }/schedule")
24
- if response.success? && response["season"]
25
- Sportradar::Api::Nfl::Season.new response["season"]
26
- else
27
- response
28
- end
29
- end
30
-
31
- def weekly_depth_charts(week = 1, year = Date.today.year, season = "reg" )
32
- response = get request_url("seasontd/#{ week_path(year, season, week) }/depth_charts")
33
- if response.success?
34
- Sportradar::Api::Nfl::LeagueDepthChart.new response['season']
35
- else
36
- response
37
- end
38
- end
39
-
40
- def weekly_injuries(week = 1, year = Date.today.year, season = "reg")
41
- response = get request_url("seasontd/#{ week_path(year, season, week) }/injuries")
42
- if response.success? && response["season"]
43
- Sportradar::Api::Nfl::Season.new response["season"]
44
- else
45
- response
46
- end
47
- end
48
-
49
- # past_game_id = "0141a0a5-13e5-4b28-b19f-0c3923aaef6e"
50
- # future_game_id = "28290722-4ceb-4a4c-a4e5-1f9bec7283b3"
51
- def game_boxscore(game_id)
52
- check_simulation(game_id)
53
- response = get request_url("games/#{ game_id }/boxscore")
54
- if response.success? && response["game"] # mostly done, just missing play statistics
55
- Sportradar::Api::Nfl::Game.new response["game"]
56
- else
57
- response
58
- end
59
- end
60
-
61
- def game_roster(game_id)
62
- check_simulation(game_id)
63
- response = get request_url("games/#{ game_id }/roster")
64
- if response.success? && response["game"]
65
- Sportradar::Api::Nfl::Game.new response["game"]
66
- else
67
- response
68
- end
69
- end
70
-
71
- def game_statistics(game_id)
72
- check_simulation(game_id)
73
- response = get request_url("games/#{ game_id }/statistics")
74
- if response.success? && response["game"]
75
- Sportradar::Api::Nfl::Game.new response["game"]
76
- else
77
- response
78
- end
79
- ## Need to properly implement statistics
80
- end
81
-
82
- def play_by_play(game_id)
83
- check_simulation(game_id)
84
- response = get request_url("games/#{ game_id }/pbp")
85
- if response.success? && response["game"]
86
- Sportradar::Api::Nfl::Game.new response["game"]
87
- else
88
- response
89
- end
90
- # need to get into quarters, drives, plays, stats more still
91
- end
92
-
93
- # player_id = "ede260be-5ae6-4a06-887b-e4a130932705"
94
- def player_profile(player_id)
95
- response = get request_url("players/#{ player_id }/profile")
96
- if response.success? && response["player"]
97
- Sportradar::Api::Nfl::Player.new response["player"]
98
- else
99
- response
100
- end
101
- end
102
-
103
- # team_id = "97354895-8c77-4fd4-a860-32e62ea7382a"
104
- def seasonal_statistics(team_id, year = Date.today.year, season = "reg")
105
- raise Sportradar::Api::Error::InvalidLeague unless allowed_seasons.include? season
106
- response = get request_url("seasontd/#{ year }/#{ season }/teams/#{ team_id }/statistics")
107
- if response.success? && response["season"]
108
- Sportradar::Api::Nfl::Season.new response["season"]
109
- else
110
- response
111
- end
112
- # TODO: Object map team & player records - statistics
113
- end
114
-
115
- def team_profile(team_id)
116
- response = get request_url("teams/#{ team_id }/profile")
117
- if response.success? && response["team"]
118
- Sportradar::Api::Nfl::Team.new response["team"]
119
- else
120
- response
121
- end
122
- end
123
-
124
- def league_hierarchy
125
- response = get request_url("league/hierarchy")
126
- if response.success? && response["league"]
127
- Sportradar::Api::Nfl::Hierarchy.new response["league"]
128
- else
129
- response
130
- end
131
- end
132
-
133
- def standings(year = Date.today.year)
134
- response = get request_url("seasontd/#{ year }/standings")
135
- if response.success? && response["season"]
136
- Sportradar::Api::Nfl::Season.new response["season"]
137
- else
138
- response
139
- end
140
- # TODO Needs implement rankings/records/stats on team
141
- end
142
-
143
- def daily_changelog(date = Date.today)
144
- response = get request_url("league/#{date_path(date)}/changes")
145
- if response.success? && response["league"] && response["league"]["changelog"]
146
- Sportradar::Api::Nfl::Changelog.new response["league"]["changelog"]
147
- else
148
- response
149
- end
150
- end
151
-
152
- def simulation_games
153
- [
154
- "f45b4a31-b009-4039-8394-42efbc6d5532",
155
- "5a7042cb-fe7a-4838-b93f-6b8c167ec384",
156
- "7f761bb5-7963-43ea-a01b-baf4f5d50fe3"
157
- ]
158
- end
159
-
160
- def active_simulation
161
- game = simulation_games.lazy.map {|game_id| game_boxscore game_id }.find{ |g| g.status == 'inprogress' if g.is_a?(Sportradar::Api::Nfl::Game) }
162
- if game
163
- puts "Live Game: #{game.summary.home.full_name} vs #{game.summary.away.full_name}. Q#{game.quarter} #{game.clock}. game_id='#{game.id}'"
164
- game
165
- else
166
- "No active simulation"
167
- end
168
- end
169
-
170
- private
171
-
172
- def check_simulation(game_id)
173
- @simulation = true if simulation_games.include?(game_id)
174
- end
175
-
176
- def request_url(path)
177
- if simulation
178
- "/nfl-sim1/#{path}"
179
- else
180
- "/nfl-#{access_level}#{version}/#{path}"
181
- end
182
- end
183
-
184
- def api_key
185
- if access_level == 'o'
186
- Sportradar::Api.api_key_params("nfl", "production")
187
- else
188
- Sportradar::Api.api_key_params("nfl")
189
- end
190
- end
191
-
192
- def version
193
- Sportradar::Api.version("nfl")
194
- end
195
-
196
- def allowed_access_levels
197
- ["o", "ot"]
198
- end
199
-
200
- def allowed_seasons
201
- ["pre", "reg", "pst"]
202
- end
203
- end
204
- end
205
- end
206
-
207
- __END__
208
-
209
- http://api.sportradar.us/nfl-ot1/games/f45b4a31-b009-4039-8394-42efbc6d5532/pbp.xml?api_key=fzve3ze2xnvs8pbtpddx4t58
210
- http://api.sportradar.us/nfl-ot1/games/5a7042cb-fe7a-4838-b93f-6b8c167ec384/pbp.xml?api_key=fzve3ze2xnvs8pbtpddx4t58
211
- http://api.sportradar.us/nfl-ot1/games/7f761bb5-7963-43ea-a01b-baf4f5d50fe3/pbp.xml?api_key=fzve3ze2xnvs8pbtpddx4t58