sportradar-api 0.9.12 → 0.11.21

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 (215) hide show
  1. checksums.yaml +4 -4
  2. data/.env.sample +6 -0
  3. data/.travis.yml +1 -0
  4. data/Gemfile.lock +32 -30
  5. data/README.md +12 -9
  6. data/lib/sportradar/api/baseball/README.md +28 -0
  7. data/lib/sportradar/api/baseball/error.rb +25 -0
  8. data/lib/sportradar/api/baseball/event.rb +44 -0
  9. data/lib/sportradar/api/baseball/events/at_bat.rb +96 -0
  10. data/lib/sportradar/api/baseball/events/lineup.rb +41 -0
  11. data/lib/sportradar/api/baseball/events/warming_up.rb +35 -0
  12. data/lib/sportradar/api/baseball/fielder.rb +26 -0
  13. data/lib/sportradar/api/baseball/game.rb +472 -0
  14. data/lib/sportradar/api/baseball/half_inning.rb +69 -0
  15. data/lib/sportradar/api/baseball/inning.rb +42 -0
  16. data/lib/sportradar/api/baseball/lineup.rb +116 -0
  17. data/lib/sportradar/api/baseball/mlb/division.rb +32 -0
  18. data/lib/sportradar/api/baseball/mlb/hierarchy.rb +273 -0
  19. data/lib/sportradar/api/baseball/mlb/league.rb +27 -0
  20. data/lib/sportradar/api/baseball/mlb.rb +84 -0
  21. data/lib/sportradar/api/baseball/outcome.rb +87 -0
  22. data/lib/sportradar/api/baseball/pitch.rb +245 -0
  23. data/lib/sportradar/api/baseball/player.rb +119 -0
  24. data/lib/sportradar/api/baseball/record.rb +42 -0
  25. data/lib/sportradar/api/baseball/runner.rb +78 -0
  26. data/lib/sportradar/api/baseball/scoring.rb +86 -0
  27. data/lib/sportradar/api/baseball/team.rb +147 -0
  28. data/lib/sportradar/api/baseball/venue.rb +51 -0
  29. data/lib/sportradar/api/baseball.rb +46 -0
  30. data/lib/sportradar/api/basketball/broadcast.rb +15 -0
  31. data/lib/sportradar/api/basketball/game.rb +339 -0
  32. data/lib/sportradar/api/basketball/injury.rb +41 -0
  33. data/lib/sportradar/api/basketball/nba/conference.rb +27 -0
  34. data/lib/sportradar/api/basketball/nba/division.rb +30 -0
  35. data/lib/sportradar/api/basketball/nba/game.rb +62 -0
  36. data/lib/sportradar/api/basketball/nba/hierarchy.rb +47 -0
  37. data/lib/sportradar/api/basketball/nba/player.rb +160 -0
  38. data/lib/sportradar/api/basketball/nba/quarter.rb +51 -0
  39. data/lib/sportradar/api/basketball/nba/schedule.rb +43 -0
  40. data/lib/sportradar/api/basketball/nba/scoring.rb +15 -0
  41. data/lib/sportradar/api/basketball/nba/season.rb +54 -0
  42. data/lib/sportradar/api/basketball/nba/series.rb +82 -0
  43. data/lib/sportradar/api/basketball/nba/team.rb +74 -0
  44. data/lib/sportradar/api/basketball/nba.rb +129 -0
  45. data/lib/sportradar/api/basketball/ncaamb/bracket.rb +44 -0
  46. data/lib/sportradar/api/basketball/ncaamb/conference.rb +41 -0
  47. data/lib/sportradar/api/basketball/ncaamb/division.rb +42 -0
  48. data/lib/sportradar/api/basketball/ncaamb/game.rb +75 -0
  49. data/lib/sportradar/api/basketball/ncaamb/half.rb +49 -0
  50. data/lib/sportradar/api/basketball/ncaamb/hierarchy.rb +65 -0
  51. data/lib/sportradar/api/basketball/ncaamb/player.rb +162 -0
  52. data/lib/sportradar/api/basketball/ncaamb/round.rb +55 -0
  53. data/lib/sportradar/api/basketball/ncaamb/schedule.rb +41 -0
  54. data/lib/sportradar/api/basketball/ncaamb/season.rb +55 -0
  55. data/lib/sportradar/api/basketball/ncaamb/team.rb +61 -0
  56. data/lib/sportradar/api/basketball/ncaamb/tournament.rb +154 -0
  57. data/lib/sportradar/api/basketball/ncaamb.rb +149 -0
  58. data/lib/sportradar/api/basketball/play.rb +75 -0
  59. data/lib/sportradar/api/basketball/plays/assist.rb +14 -0
  60. data/lib/sportradar/api/basketball/plays/base.rb +126 -0
  61. data/lib/sportradar/api/basketball/plays/block.rb +14 -0
  62. data/lib/sportradar/api/basketball/plays/clear_path_foul.rb +11 -0
  63. data/lib/sportradar/api/basketball/plays/deadball.rb +11 -0
  64. data/lib/sportradar/api/basketball/plays/defensive_three_seconds.rb +11 -0
  65. data/lib/sportradar/api/basketball/plays/delay.rb +11 -0
  66. data/lib/sportradar/api/basketball/plays/ejection.rb +14 -0
  67. data/lib/sportradar/api/basketball/plays/end_period.rb +28 -0
  68. data/lib/sportradar/api/basketball/plays/flagrant_one.rb +11 -0
  69. data/lib/sportradar/api/basketball/plays/flagrant_two.rb +11 -0
  70. data/lib/sportradar/api/basketball/plays/foul.rb +17 -0
  71. data/lib/sportradar/api/basketball/plays/free_throw_made.rb +23 -0
  72. data/lib/sportradar/api/basketball/plays/free_throw_miss.rb +25 -0
  73. data/lib/sportradar/api/basketball/plays/jumpball.rb +12 -0
  74. data/lib/sportradar/api/basketball/plays/kickball.rb +11 -0
  75. data/lib/sportradar/api/basketball/plays/lineup_change.rb +11 -0
  76. data/lib/sportradar/api/basketball/plays/offensive_foul.rb +11 -0
  77. data/lib/sportradar/api/basketball/plays/official_timeout.rb +11 -0
  78. data/lib/sportradar/api/basketball/plays/open_inbound.rb +9 -0
  79. data/lib/sportradar/api/basketball/plays/open_tip.rb +11 -0
  80. data/lib/sportradar/api/basketball/plays/personal_foul.rb +9 -0
  81. data/lib/sportradar/api/basketball/plays/rebound.rb +28 -0
  82. data/lib/sportradar/api/basketball/plays/review.rb +11 -0
  83. data/lib/sportradar/api/basketball/plays/shooting_foul.rb +9 -0
  84. data/lib/sportradar/api/basketball/plays/shot_made.rb +22 -0
  85. data/lib/sportradar/api/basketball/plays/shot_miss.rb +22 -0
  86. data/lib/sportradar/api/basketball/plays/steal.rb +11 -0
  87. data/lib/sportradar/api/basketball/plays/team_timeout.rb +14 -0
  88. data/lib/sportradar/api/basketball/plays/technical_foul.rb +14 -0
  89. data/lib/sportradar/api/basketball/plays/three_point_made.rb +14 -0
  90. data/lib/sportradar/api/basketball/plays/three_point_miss.rb +11 -0
  91. data/lib/sportradar/api/basketball/plays/timeout.rb +24 -0
  92. data/lib/sportradar/api/basketball/plays/turnover.rb +19 -0
  93. data/lib/sportradar/api/basketball/plays/tv_timeout.rb +11 -0
  94. data/lib/sportradar/api/basketball/plays/two_point_made.rb +14 -0
  95. data/lib/sportradar/api/basketball/plays/two_point_miss.rb +11 -0
  96. data/lib/sportradar/api/basketball/plays.rb +39 -0
  97. data/lib/sportradar/api/basketball/record.rb +28 -0
  98. data/lib/sportradar/api/basketball/scoring.rb +103 -0
  99. data/lib/sportradar/api/basketball/season.rb +20 -0
  100. data/lib/sportradar/api/basketball/team.rb +136 -0
  101. data/lib/sportradar/api/basketball/venue.rb +54 -0
  102. data/lib/sportradar/api/basketball.rb +35 -0
  103. data/lib/sportradar/api/{nfl/broadcast.rb → broadcast.rb} +1 -1
  104. data/lib/sportradar/api/content/article.rb +1 -1
  105. data/lib/sportradar/api/content/article_list.rb +1 -1
  106. data/lib/sportradar/api/content.rb +17 -5
  107. data/lib/sportradar/api/data.rb +53 -0
  108. data/lib/sportradar/api/football/README.md +62 -0
  109. data/lib/sportradar/api/football/drive.rb +114 -0
  110. data/lib/sportradar/api/football/event.rb +36 -0
  111. data/lib/sportradar/api/football/game.rb +404 -0
  112. data/lib/sportradar/api/football/game_stats.rb +135 -0
  113. data/lib/sportradar/api/football/ncaafb/api.rb +81 -0
  114. data/lib/sportradar/api/football/ncaafb/conference.rb +53 -0
  115. data/lib/sportradar/api/football/ncaafb/division.rb +42 -0
  116. data/lib/sportradar/api/football/ncaafb/drive.rb +36 -0
  117. data/lib/sportradar/api/football/ncaafb/game.rb +130 -0
  118. data/lib/sportradar/api/football/ncaafb/play.rb +97 -0
  119. data/lib/sportradar/api/football/ncaafb/player.rb +31 -0
  120. data/lib/sportradar/api/football/ncaafb/quarter.rb +15 -0
  121. data/lib/sportradar/api/football/ncaafb/subdivision.rb +43 -0
  122. data/lib/sportradar/api/football/ncaafb/team.rb +49 -0
  123. data/lib/sportradar/api/football/ncaafb/week.rb +24 -0
  124. data/lib/sportradar/api/football/ncaafb.rb +273 -0
  125. data/lib/sportradar/api/football/nfl/api.rb +76 -0
  126. data/lib/sportradar/api/football/nfl/conference.rb +35 -0
  127. data/lib/sportradar/api/football/nfl/depth_chart.rb +53 -0
  128. data/lib/sportradar/api/football/nfl/division.rb +37 -0
  129. data/lib/sportradar/api/football/nfl/drive.rb +19 -0
  130. data/lib/sportradar/api/football/nfl/event.rb +19 -0
  131. data/lib/sportradar/api/football/nfl/game.rb +77 -0
  132. data/lib/sportradar/api/football/nfl/league_depth_chart.rb +41 -0
  133. data/lib/sportradar/api/football/nfl/play.rb +27 -0
  134. data/lib/sportradar/api/football/nfl/player.rb +31 -0
  135. data/lib/sportradar/api/football/nfl/quarter.rb +15 -0
  136. data/lib/sportradar/api/football/nfl/team.rb +42 -0
  137. data/lib/sportradar/api/football/nfl/team_depth_chart.rb +44 -0
  138. data/lib/sportradar/api/football/nfl/week.rb +24 -0
  139. data/lib/sportradar/api/football/nfl.rb +322 -0
  140. data/lib/sportradar/api/football/play.rb +116 -0
  141. data/lib/sportradar/api/football/play_statistics.rb +313 -0
  142. data/lib/sportradar/api/football/player.rb +121 -0
  143. data/lib/sportradar/api/football/quarter.rb +46 -0
  144. data/lib/sportradar/api/football/record.rb +48 -0
  145. data/lib/sportradar/api/football/scoring.rb +92 -0
  146. data/lib/sportradar/api/football/situation.rb +32 -0
  147. data/lib/sportradar/api/football/stat_pack/defense.rb +20 -20
  148. data/lib/sportradar/api/football/stat_pack/extra_points.rb +5 -4
  149. data/lib/sportradar/api/football/stat_pack/field_goals.rb +6 -5
  150. data/lib/sportradar/api/football/stat_pack/fumbles.rb +11 -9
  151. data/lib/sportradar/api/football/stat_pack/kick_returns.rb +8 -7
  152. data/lib/sportradar/api/football/stat_pack/kickoffs.rb +9 -7
  153. data/lib/sportradar/api/football/stat_pack/misc_returns.rb +1 -1
  154. data/lib/sportradar/api/football/stat_pack/passing.rb +13 -11
  155. data/lib/sportradar/api/football/stat_pack/penalties.rb +2 -2
  156. data/lib/sportradar/api/football/stat_pack/punt_returns.rb +7 -6
  157. data/lib/sportradar/api/football/stat_pack/punts.rb +12 -10
  158. data/lib/sportradar/api/football/stat_pack/receiving.rb +10 -9
  159. data/lib/sportradar/api/football/stat_pack/rushing.rb +11 -9
  160. data/lib/sportradar/api/football/stat_pack.rb +7 -3
  161. data/lib/sportradar/api/football/team.rb +160 -0
  162. data/lib/sportradar/api/football/venue.rb +25 -0
  163. data/lib/sportradar/api/football/week.rb +57 -0
  164. data/lib/sportradar/api/football.rb +47 -0
  165. data/lib/sportradar/api/images/asset.rb +2 -1
  166. data/lib/sportradar/api/images/ref.rb +15 -0
  167. data/lib/sportradar/api/images.rb +51 -9
  168. data/lib/sportradar/api/mma/event.rb +111 -0
  169. data/lib/sportradar/api/mma/fight.rb +107 -0
  170. data/lib/sportradar/api/mma/fighter.rb +95 -0
  171. data/lib/sportradar/api/mma/judge.rb +70 -0
  172. data/lib/sportradar/api/mma/league.rb +63 -0
  173. data/lib/sportradar/api/mma/referee.rb +70 -0
  174. data/lib/sportradar/api/mma/result.rb +68 -0
  175. data/lib/sportradar/api/mma/roster.rb +72 -0
  176. data/lib/sportradar/api/mma/schedule.rb +53 -0
  177. data/lib/sportradar/api/mma/score.rb +83 -0
  178. data/lib/sportradar/api/mma/venue.rb +72 -0
  179. data/lib/sportradar/api/mma.rb +195 -0
  180. data/lib/sportradar/api/poll.rb +40 -0
  181. data/lib/sportradar/api/request.rb +40 -8
  182. data/lib/sportradar/api/soccer/schedule.rb +1 -0
  183. data/lib/sportradar/api/version.rb +1 -1
  184. data/lib/sportradar/api.rb +20 -34
  185. metadata +157 -34
  186. data/lib/sportradar/api/nfl/.play_statistics.rb.swo +0 -0
  187. data/lib/sportradar/api/nfl/changelog.rb +0 -17
  188. data/lib/sportradar/api/nfl/coach.rb +0 -17
  189. data/lib/sportradar/api/nfl/conference.rb +0 -16
  190. data/lib/sportradar/api/nfl/depth_chart.rb +0 -47
  191. data/lib/sportradar/api/nfl/division.rb +0 -16
  192. data/lib/sportradar/api/nfl/draft.rb +0 -16
  193. data/lib/sportradar/api/nfl/drive.rb +0 -73
  194. data/lib/sportradar/api/nfl/event.rb +0 -19
  195. data/lib/sportradar/api/nfl/franchise.rb +0 -14
  196. data/lib/sportradar/api/nfl/game.rb +0 -94
  197. data/lib/sportradar/api/nfl/game_statistic.rb +0 -133
  198. data/lib/sportradar/api/nfl/hierarchy.rb +0 -19
  199. data/lib/sportradar/api/nfl/injury.rb +0 -16
  200. data/lib/sportradar/api/nfl/league_depth_chart.rb +0 -26
  201. data/lib/sportradar/api/nfl/play.rb +0 -39
  202. data/lib/sportradar/api/nfl/play_statistics.rb +0 -247
  203. data/lib/sportradar/api/nfl/player.rb +0 -49
  204. data/lib/sportradar/api/nfl/position.rb +0 -14
  205. data/lib/sportradar/api/nfl/quarter.rb +0 -29
  206. data/lib/sportradar/api/nfl/scoring.rb +0 -25
  207. data/lib/sportradar/api/nfl/season.rb +0 -23
  208. data/lib/sportradar/api/nfl/situation.rb +0 -18
  209. data/lib/sportradar/api/nfl/statistic.rb +0 -28
  210. data/lib/sportradar/api/nfl/summary.rb +0 -17
  211. data/lib/sportradar/api/nfl/team.rb +0 -56
  212. data/lib/sportradar/api/nfl/team_depth_chart.rb +0 -44
  213. data/lib/sportradar/api/nfl/venue.rb +0 -22
  214. data/lib/sportradar/api/nfl/week.rb +0 -16
  215. data/lib/sportradar/api/nfl.rb +0 -205
@@ -4,19 +4,46 @@ module Sportradar
4
4
 
5
5
  include HTTParty
6
6
 
7
- attr_reader :url, :headers, :timeout, :api_key
7
+ # attr_reader :url, :headers, :timeout, :api_key
8
+
9
+ def sim!
10
+ @access_level = 'sim'
11
+ self
12
+ end
13
+
14
+ def get_data(url)
15
+ data = get request_url(url)
16
+ if data.is_a?(::Sportradar::Api::Error)
17
+ puts request_url(url)
18
+ puts
19
+ puts data.inspect
20
+ raise 'Sportradar error'
21
+ end
22
+ data
23
+ end
8
24
 
9
25
  def get(path, options={})
10
- base_setup(path, options)
26
+ url, headers, options, timeout = base_setup(path, options)
11
27
  begin
12
- response = self.class.get(url, headers: headers, query: options.merge(api_key), timeout: timeout)
28
+ # puts url + "?api_key=#{api_key[:api_key]}" # uncomment for debugging
29
+ response = self.class.get(url, headers: headers, query: options, timeout: timeout)
13
30
  rescue Net::ReadTimeout, Net::OpenTimeout
14
31
  raise Sportradar::Api::Error::Timeout
15
32
  rescue EOFError
16
33
  raise Sportradar::Api::Error::NoData
17
34
  end
18
- return Sportradar::Api::Error.new(response.code, response.message, response) unless response.success?
19
- response
35
+ unless response.success?
36
+ puts url + "?api_key=#{api_key[:api_key]}" # uncomment for debugging
37
+ puts
38
+ puts response.inspect
39
+ Sportradar::Api::Error.new(response.code, response.message, response)
40
+ else
41
+ response
42
+ end
43
+ end
44
+
45
+ def get_request_info(url)
46
+ base_setup(request_url(url))
20
47
  end
21
48
 
22
49
  private
@@ -26,6 +53,7 @@ module Sportradar
26
53
  @url += format unless options[:format] == 'none'
27
54
  @headers = set_headers unless options[:format] == 'none'
28
55
  @timeout = options.delete(:api_timeout) || Sportradar::Api.config.api_timeout
56
+ [@url, @headers, options.merge(api_key), @timeout]
29
57
  end
30
58
 
31
59
  def set_base(path)
@@ -33,6 +61,7 @@ module Sportradar
33
61
  url = "#{protocol}api.sportradar.us"
34
62
  url += path
35
63
  end
64
+
36
65
 
37
66
  def date_path(date)
38
67
  "#{date.year}/#{date.month}/#{date.day}"
@@ -44,11 +73,15 @@ module Sportradar
44
73
 
45
74
 
46
75
  def format
47
- ".#{Sportradar::Api.config.format}" if Sportradar::Api.config.format
76
+ ".#{content_format}" if Sportradar::Api.config.format
48
77
  end
49
78
 
50
79
  def set_headers
51
- {'Content-Type' => "application/#{Sportradar::Api.config.format}", 'Accept' => "application/#{Sportradar::Api.config.format}"}
80
+ {'Content-Type' => "application/#{content_format}", 'Accept' => "application/#{content_format}"}
81
+ end
82
+
83
+ def content_format
84
+ Sportradar::Api.config.format
52
85
  end
53
86
 
54
87
  def api_key
@@ -57,4 +90,3 @@ module Sportradar
57
90
  end
58
91
  end
59
92
  end
60
-
@@ -9,6 +9,7 @@ module Sportradar
9
9
  end
10
10
 
11
11
  def league(league_name)
12
+ # ActiveSupport
12
13
  matches.select{ |match| match.tournament_group.name.parameterize == league_name.parameterize}
13
14
  end
14
15
 
@@ -1,5 +1,5 @@
1
1
  module Sportradar
2
2
  module Api
3
- VERSION = "0.9.12"
3
+ VERSION = "0.11.21"
4
4
  end
5
5
  end
@@ -8,6 +8,9 @@ require "sportradar/api/config"
8
8
  require "sportradar/api/data"
9
9
  require "sportradar/api/error"
10
10
  require "sportradar/api/request"
11
+ require "sportradar/api/poll"
12
+
13
+ require "sportradar/api/broadcast"
11
14
 
12
15
  require "sportradar/api/soccer"
13
16
  require "sportradar/api/soccer/boxscore"
@@ -28,37 +31,8 @@ require "sportradar/api/soccer/tournament_group"
28
31
  require "sportradar/api/soccer/venue"
29
32
 
30
33
  require "sportradar/api/football"
31
-
32
- require "sportradar/api/nfl"
33
- require "sportradar/api/nfl/broadcast"
34
- require "sportradar/api/nfl/changelog"
35
- require "sportradar/api/nfl/coach"
36
- require "sportradar/api/nfl/conference"
37
- require "sportradar/api/nfl/depth_chart"
38
- require "sportradar/api/nfl/division"
39
- require "sportradar/api/nfl/draft"
40
- require "sportradar/api/nfl/drive"
41
- require "sportradar/api/nfl/event"
42
- require "sportradar/api/nfl/franchise"
43
- require "sportradar/api/nfl/game"
44
- require "sportradar/api/nfl/game_statistic"
45
- require "sportradar/api/nfl/hierarchy"
46
- require "sportradar/api/nfl/injury"
47
- require "sportradar/api/nfl/league_depth_chart"
48
- require "sportradar/api/nfl/play"
49
- require "sportradar/api/nfl/play_statistics"
50
- require "sportradar/api/nfl/player"
51
- require "sportradar/api/nfl/position"
52
- require "sportradar/api/nfl/quarter"
53
- require "sportradar/api/nfl/scoring"
54
- require "sportradar/api/nfl/season"
55
- require "sportradar/api/nfl/situation"
56
- require "sportradar/api/nfl/statistic"
57
- require "sportradar/api/nfl/summary"
58
- require "sportradar/api/nfl/team"
59
- require "sportradar/api/nfl/team_depth_chart"
60
- require "sportradar/api/nfl/venue"
61
- require "sportradar/api/nfl/week"
34
+ require "sportradar/api/basketball"
35
+ require "sportradar/api/baseball"
62
36
 
63
37
 
64
38
  require "sportradar/api/live_images"
@@ -66,9 +40,21 @@ require "sportradar/api/images"
66
40
  require "sportradar/api/images/asset_list"
67
41
  require "sportradar/api/images/asset"
68
42
  require "sportradar/api/images/link"
43
+ require "sportradar/api/images/ref"
69
44
  require "sportradar/api/images/tag"
70
45
 
71
-
46
+ require "sportradar/api/mma"
47
+ require "sportradar/api/mma/schedule"
48
+ require "sportradar/api/mma/roster"
49
+ require "sportradar/api/mma/fighter"
50
+ require "sportradar/api/mma/event"
51
+ require "sportradar/api/mma/fight"
52
+ require "sportradar/api/mma/judge"
53
+ require "sportradar/api/mma/referee"
54
+ require "sportradar/api/mma/result"
55
+ require "sportradar/api/mma/score"
56
+ require "sportradar/api/mma/venue"
57
+ require "sportradar/api/mma/league"
72
58
 
73
59
 
74
60
  require "sportradar/api/content"
@@ -82,7 +68,7 @@ module Sportradar
82
68
 
83
69
  API_GALLERY = [
84
70
  {api: :nfl, version: 1},
85
- {api: :mlb, version: 5},
71
+ {api: :mlb, version: 6},
86
72
  {api: :nhl, version: 3},
87
73
  {api: :nba, version: 3},
88
74
  {api: :ncaamb, version: 3},
@@ -114,7 +100,7 @@ module Sportradar
114
100
  end
115
101
 
116
102
  def self.api_key(api, access_level = 'trial')
117
- ENV.fetch("SPORTRADAR_#{api.to_s.upcase.gsub('-', '_')}#{'_PRODUCTION' if access_level == 'production'}", "api_key missing for #{api}")
103
+ ENV.fetch("SPORTRADAR_#{api.to_s.upcase.gsub('-', '_')}#{"_#{access_level.upcase}" if access_level != 'trial'}", "api_key missing for #{api}")
118
104
  end
119
105
 
120
106
  def self.version(api)
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sportradar-api
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.12
4
+ version: 0.11.21
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ben Eggett
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2016-10-28 00:00:00.000000000 Z
11
+ date: 2017-08-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -240,6 +240,104 @@ files:
240
240
  - bin/console
241
241
  - bin/setup
242
242
  - lib/sportradar/api.rb
243
+ - lib/sportradar/api/baseball.rb
244
+ - lib/sportradar/api/baseball/README.md
245
+ - lib/sportradar/api/baseball/error.rb
246
+ - lib/sportradar/api/baseball/event.rb
247
+ - lib/sportradar/api/baseball/events/at_bat.rb
248
+ - lib/sportradar/api/baseball/events/lineup.rb
249
+ - lib/sportradar/api/baseball/events/warming_up.rb
250
+ - lib/sportradar/api/baseball/fielder.rb
251
+ - lib/sportradar/api/baseball/game.rb
252
+ - lib/sportradar/api/baseball/half_inning.rb
253
+ - lib/sportradar/api/baseball/inning.rb
254
+ - lib/sportradar/api/baseball/lineup.rb
255
+ - lib/sportradar/api/baseball/mlb.rb
256
+ - lib/sportradar/api/baseball/mlb/division.rb
257
+ - lib/sportradar/api/baseball/mlb/hierarchy.rb
258
+ - lib/sportradar/api/baseball/mlb/league.rb
259
+ - lib/sportradar/api/baseball/outcome.rb
260
+ - lib/sportradar/api/baseball/pitch.rb
261
+ - lib/sportradar/api/baseball/player.rb
262
+ - lib/sportradar/api/baseball/record.rb
263
+ - lib/sportradar/api/baseball/runner.rb
264
+ - lib/sportradar/api/baseball/scoring.rb
265
+ - lib/sportradar/api/baseball/team.rb
266
+ - lib/sportradar/api/baseball/venue.rb
267
+ - lib/sportradar/api/basketball.rb
268
+ - lib/sportradar/api/basketball/broadcast.rb
269
+ - lib/sportradar/api/basketball/game.rb
270
+ - lib/sportradar/api/basketball/injury.rb
271
+ - lib/sportradar/api/basketball/nba.rb
272
+ - lib/sportradar/api/basketball/nba/conference.rb
273
+ - lib/sportradar/api/basketball/nba/division.rb
274
+ - lib/sportradar/api/basketball/nba/game.rb
275
+ - lib/sportradar/api/basketball/nba/hierarchy.rb
276
+ - lib/sportradar/api/basketball/nba/player.rb
277
+ - lib/sportradar/api/basketball/nba/quarter.rb
278
+ - lib/sportradar/api/basketball/nba/schedule.rb
279
+ - lib/sportradar/api/basketball/nba/scoring.rb
280
+ - lib/sportradar/api/basketball/nba/season.rb
281
+ - lib/sportradar/api/basketball/nba/series.rb
282
+ - lib/sportradar/api/basketball/nba/team.rb
283
+ - lib/sportradar/api/basketball/ncaamb.rb
284
+ - lib/sportradar/api/basketball/ncaamb/bracket.rb
285
+ - lib/sportradar/api/basketball/ncaamb/conference.rb
286
+ - lib/sportradar/api/basketball/ncaamb/division.rb
287
+ - lib/sportradar/api/basketball/ncaamb/game.rb
288
+ - lib/sportradar/api/basketball/ncaamb/half.rb
289
+ - lib/sportradar/api/basketball/ncaamb/hierarchy.rb
290
+ - lib/sportradar/api/basketball/ncaamb/player.rb
291
+ - lib/sportradar/api/basketball/ncaamb/round.rb
292
+ - lib/sportradar/api/basketball/ncaamb/schedule.rb
293
+ - lib/sportradar/api/basketball/ncaamb/season.rb
294
+ - lib/sportradar/api/basketball/ncaamb/team.rb
295
+ - lib/sportradar/api/basketball/ncaamb/tournament.rb
296
+ - lib/sportradar/api/basketball/play.rb
297
+ - lib/sportradar/api/basketball/plays.rb
298
+ - lib/sportradar/api/basketball/plays/assist.rb
299
+ - lib/sportradar/api/basketball/plays/base.rb
300
+ - lib/sportradar/api/basketball/plays/block.rb
301
+ - lib/sportradar/api/basketball/plays/clear_path_foul.rb
302
+ - lib/sportradar/api/basketball/plays/deadball.rb
303
+ - lib/sportradar/api/basketball/plays/defensive_three_seconds.rb
304
+ - lib/sportradar/api/basketball/plays/delay.rb
305
+ - lib/sportradar/api/basketball/plays/ejection.rb
306
+ - lib/sportradar/api/basketball/plays/end_period.rb
307
+ - lib/sportradar/api/basketball/plays/flagrant_one.rb
308
+ - lib/sportradar/api/basketball/plays/flagrant_two.rb
309
+ - lib/sportradar/api/basketball/plays/foul.rb
310
+ - lib/sportradar/api/basketball/plays/free_throw_made.rb
311
+ - lib/sportradar/api/basketball/plays/free_throw_miss.rb
312
+ - lib/sportradar/api/basketball/plays/jumpball.rb
313
+ - lib/sportradar/api/basketball/plays/kickball.rb
314
+ - lib/sportradar/api/basketball/plays/lineup_change.rb
315
+ - lib/sportradar/api/basketball/plays/offensive_foul.rb
316
+ - lib/sportradar/api/basketball/plays/official_timeout.rb
317
+ - lib/sportradar/api/basketball/plays/open_inbound.rb
318
+ - lib/sportradar/api/basketball/plays/open_tip.rb
319
+ - lib/sportradar/api/basketball/plays/personal_foul.rb
320
+ - lib/sportradar/api/basketball/plays/rebound.rb
321
+ - lib/sportradar/api/basketball/plays/review.rb
322
+ - lib/sportradar/api/basketball/plays/shooting_foul.rb
323
+ - lib/sportradar/api/basketball/plays/shot_made.rb
324
+ - lib/sportradar/api/basketball/plays/shot_miss.rb
325
+ - lib/sportradar/api/basketball/plays/steal.rb
326
+ - lib/sportradar/api/basketball/plays/team_timeout.rb
327
+ - lib/sportradar/api/basketball/plays/technical_foul.rb
328
+ - lib/sportradar/api/basketball/plays/three_point_made.rb
329
+ - lib/sportradar/api/basketball/plays/three_point_miss.rb
330
+ - lib/sportradar/api/basketball/plays/timeout.rb
331
+ - lib/sportradar/api/basketball/plays/turnover.rb
332
+ - lib/sportradar/api/basketball/plays/tv_timeout.rb
333
+ - lib/sportradar/api/basketball/plays/two_point_made.rb
334
+ - lib/sportradar/api/basketball/plays/two_point_miss.rb
335
+ - lib/sportradar/api/basketball/record.rb
336
+ - lib/sportradar/api/basketball/scoring.rb
337
+ - lib/sportradar/api/basketball/season.rb
338
+ - lib/sportradar/api/basketball/team.rb
339
+ - lib/sportradar/api/basketball/venue.rb
340
+ - lib/sportradar/api/broadcast.rb
243
341
  - lib/sportradar/api/config.rb
244
342
  - lib/sportradar/api/content.rb
245
343
  - lib/sportradar/api/content/article.rb
@@ -248,6 +346,45 @@ files:
248
346
  - lib/sportradar/api/data.rb
249
347
  - lib/sportradar/api/error.rb
250
348
  - lib/sportradar/api/football.rb
349
+ - lib/sportradar/api/football/README.md
350
+ - lib/sportradar/api/football/drive.rb
351
+ - lib/sportradar/api/football/event.rb
352
+ - lib/sportradar/api/football/game.rb
353
+ - lib/sportradar/api/football/game_stats.rb
354
+ - lib/sportradar/api/football/ncaafb.rb
355
+ - lib/sportradar/api/football/ncaafb/api.rb
356
+ - lib/sportradar/api/football/ncaafb/conference.rb
357
+ - lib/sportradar/api/football/ncaafb/division.rb
358
+ - lib/sportradar/api/football/ncaafb/drive.rb
359
+ - lib/sportradar/api/football/ncaafb/game.rb
360
+ - lib/sportradar/api/football/ncaafb/play.rb
361
+ - lib/sportradar/api/football/ncaafb/player.rb
362
+ - lib/sportradar/api/football/ncaafb/quarter.rb
363
+ - lib/sportradar/api/football/ncaafb/subdivision.rb
364
+ - lib/sportradar/api/football/ncaafb/team.rb
365
+ - lib/sportradar/api/football/ncaafb/week.rb
366
+ - lib/sportradar/api/football/nfl.rb
367
+ - lib/sportradar/api/football/nfl/api.rb
368
+ - lib/sportradar/api/football/nfl/conference.rb
369
+ - lib/sportradar/api/football/nfl/depth_chart.rb
370
+ - lib/sportradar/api/football/nfl/division.rb
371
+ - lib/sportradar/api/football/nfl/drive.rb
372
+ - lib/sportradar/api/football/nfl/event.rb
373
+ - lib/sportradar/api/football/nfl/game.rb
374
+ - lib/sportradar/api/football/nfl/league_depth_chart.rb
375
+ - lib/sportradar/api/football/nfl/play.rb
376
+ - lib/sportradar/api/football/nfl/player.rb
377
+ - lib/sportradar/api/football/nfl/quarter.rb
378
+ - lib/sportradar/api/football/nfl/team.rb
379
+ - lib/sportradar/api/football/nfl/team_depth_chart.rb
380
+ - lib/sportradar/api/football/nfl/week.rb
381
+ - lib/sportradar/api/football/play.rb
382
+ - lib/sportradar/api/football/play_statistics.rb
383
+ - lib/sportradar/api/football/player.rb
384
+ - lib/sportradar/api/football/quarter.rb
385
+ - lib/sportradar/api/football/record.rb
386
+ - lib/sportradar/api/football/scoring.rb
387
+ - lib/sportradar/api/football/situation.rb
251
388
  - lib/sportradar/api/football/stat_pack.rb
252
389
  - lib/sportradar/api/football/stat_pack/defense.rb
253
390
  - lib/sportradar/api/football/stat_pack/extra_points.rb
@@ -263,44 +400,30 @@ files:
263
400
  - lib/sportradar/api/football/stat_pack/punts.rb
264
401
  - lib/sportradar/api/football/stat_pack/receiving.rb
265
402
  - lib/sportradar/api/football/stat_pack/rushing.rb
403
+ - lib/sportradar/api/football/team.rb
404
+ - lib/sportradar/api/football/venue.rb
405
+ - lib/sportradar/api/football/week.rb
266
406
  - lib/sportradar/api/images.rb
267
407
  - lib/sportradar/api/images/asset.rb
268
408
  - lib/sportradar/api/images/asset_list.rb
269
409
  - lib/sportradar/api/images/link.rb
410
+ - lib/sportradar/api/images/ref.rb
270
411
  - lib/sportradar/api/images/tag.rb
271
412
  - lib/sportradar/api/live_images.rb
272
- - lib/sportradar/api/nfl.rb
273
- - lib/sportradar/api/nfl/.play_statistics.rb.swo
274
- - lib/sportradar/api/nfl/broadcast.rb
275
- - lib/sportradar/api/nfl/changelog.rb
276
- - lib/sportradar/api/nfl/coach.rb
277
- - lib/sportradar/api/nfl/conference.rb
278
- - lib/sportradar/api/nfl/depth_chart.rb
279
- - lib/sportradar/api/nfl/division.rb
280
- - lib/sportradar/api/nfl/draft.rb
281
- - lib/sportradar/api/nfl/drive.rb
282
- - lib/sportradar/api/nfl/event.rb
283
- - lib/sportradar/api/nfl/franchise.rb
284
- - lib/sportradar/api/nfl/game.rb
285
- - lib/sportradar/api/nfl/game_statistic.rb
286
- - lib/sportradar/api/nfl/hierarchy.rb
287
- - lib/sportradar/api/nfl/injury.rb
288
- - lib/sportradar/api/nfl/league_depth_chart.rb
289
- - lib/sportradar/api/nfl/play.rb
290
- - lib/sportradar/api/nfl/play_statistics.rb
291
- - lib/sportradar/api/nfl/player.rb
292
- - lib/sportradar/api/nfl/position.rb
293
- - lib/sportradar/api/nfl/quarter.rb
294
- - lib/sportradar/api/nfl/scoring.rb
295
- - lib/sportradar/api/nfl/season.rb
296
- - lib/sportradar/api/nfl/situation.rb
297
- - lib/sportradar/api/nfl/statistic.rb
298
- - lib/sportradar/api/nfl/summary.rb
299
- - lib/sportradar/api/nfl/team.rb
300
- - lib/sportradar/api/nfl/team_depth_chart.rb
301
- - lib/sportradar/api/nfl/venue.rb
302
- - lib/sportradar/api/nfl/week.rb
413
+ - lib/sportradar/api/mma.rb
414
+ - lib/sportradar/api/mma/event.rb
415
+ - lib/sportradar/api/mma/fight.rb
416
+ - lib/sportradar/api/mma/fighter.rb
417
+ - lib/sportradar/api/mma/judge.rb
418
+ - lib/sportradar/api/mma/league.rb
419
+ - lib/sportradar/api/mma/referee.rb
420
+ - lib/sportradar/api/mma/result.rb
421
+ - lib/sportradar/api/mma/roster.rb
422
+ - lib/sportradar/api/mma/schedule.rb
423
+ - lib/sportradar/api/mma/score.rb
424
+ - lib/sportradar/api/mma/venue.rb
303
425
  - lib/sportradar/api/odds.rb
426
+ - lib/sportradar/api/poll.rb
304
427
  - lib/sportradar/api/request.rb
305
428
  - lib/sportradar/api/soccer.rb
306
429
  - lib/sportradar/api/soccer/boxscore.rb
@@ -341,7 +464,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
341
464
  version: '0'
342
465
  requirements: []
343
466
  rubyforge_project:
344
- rubygems_version: 2.5.1
467
+ rubygems_version: 2.6.11
345
468
  signing_key:
346
469
  specification_version: 4
347
470
  summary: Sportradar API client
@@ -1,17 +0,0 @@
1
- module Sportradar
2
- module Api
3
- class Nfl::Changelog < Data
4
- attr_accessor :response, :start_time, :end_time, :players, :games
5
-
6
- def initialize(data)
7
- @response = data
8
- @start_time = data["start_time"]
9
- @end_time = data["end_time"]
10
- @games = parse_into_array(selector: response["game"], klass: Sportradar::Api::Nfl::Game) if response["game"]
11
- @players = parse_into_array(selector: response["profiles"]["players"]["player"], klass: Sportradar::Api::Nfl::Player) if response["profiles"] && response["profiles"]["players"] && response["profiles"]["players"]["player"]
12
- end
13
-
14
-
15
- end
16
- end
17
- end
@@ -1,17 +0,0 @@
1
- module Sportradar
2
- module Api
3
- class Nfl::Coach < Data
4
- attr_accessor :response, :id, :full_name, :first_name, :last_name, :position
5
-
6
- def initialize(data)
7
- @response = data
8
- @id = data["id"]
9
- @full_name = data["full_name"]
10
- @first_name = data["first_name"]
11
- @last_name = data["last_name"]
12
- @position = data["position"]
13
- end
14
-
15
- end
16
- end
17
- end
@@ -1,16 +0,0 @@
1
- module Sportradar
2
- module Api
3
- class Nfl::Conference < Data
4
- attr_accessor :response, :id, :name, :alias, :divisions
5
-
6
- def initialize(data)
7
- @response = data
8
- @id = data["id"]
9
- @name = data["name"]
10
- @alias = data["alias"]
11
- @divisions = parse_into_array(selector: response["division"], klass: Sportradar::Api::Nfl::Division) if response["division"]
12
- end
13
-
14
- end
15
- end
16
- end
@@ -1,47 +0,0 @@
1
- module Sportradar
2
- module Api
3
- class Nfl::DepthChart < Data
4
- include Enumerable
5
- attr_accessor :response, :chart
6
-
7
- def initialize(data)
8
- generate_chart(data)
9
- end
10
-
11
- def team(number)
12
- teams[number]
13
- end
14
-
15
- def each
16
- populate_teams
17
- teams.each { |team| yield team }
18
- end
19
-
20
- private
21
-
22
- def teams
23
- @teams ||= populate_teams
24
- end
25
-
26
- def populate_teams
27
- (1..3).each_with_object({}) do |i, hash|
28
- hash[i] = generate_team(i)
29
- end
30
- end
31
-
32
- def generate_team(number)
33
- @chart.each_with_object({}) do |(pos_name, groups), memo|
34
- memo[pos_name] = groups[number.to_s]
35
- end
36
- end
37
-
38
- def generate_chart(data)
39
- @chart = data['position'].each_with_object({}) do |position, memo|
40
- players = position['player'].map { |h| Sportradar::Api::Nfl::Player.new(h) }
41
- memo[position['name']] = players.group_by(&:depth)
42
- end
43
- end
44
-
45
- end
46
- end
47
- end
@@ -1,16 +0,0 @@
1
- module Sportradar
2
- module Api
3
- class Nfl::Division < Data
4
- attr_accessor :response, :id, :name, :alias, :teams
5
-
6
- def initialize(data)
7
- @response = data
8
- @id = data["id"]
9
- @name = data["name"]
10
- @alias = data["alias"]
11
- @teams = parse_into_array(selector: response["team"], klass: Sportradar::Api::Nfl::Team) if response["team"]
12
- end
13
-
14
- end
15
- end
16
- end
@@ -1,16 +0,0 @@
1
- module Sportradar
2
- module Api
3
- class Nfl::Draft < Data
4
- attr_accessor :response, :year, :round, :number, :team
5
-
6
- def initialize(data)
7
- @response = data
8
- @year = data["year"]
9
- @round = data["round"]
10
- @number = data["number"]
11
- @team = Sportradar::Api::Nfl::Team.new data["team"] if data["team"]
12
- end
13
-
14
- end
15
- end
16
- end
@@ -1,73 +0,0 @@
1
- module Sportradar
2
- module Api
3
- class Nfl::Drive < Data
4
- attr_accessor :response, :id, :sequence, :start_reason, :end_reason, :play_count, :duration, :first_downs, :gain, :penalty_yards, :scoring_drive, :quarter, :team, :plays, :events
5
-
6
- def initialize(data)
7
- @response = data
8
- @id = data["id"]
9
- @sequence = data["sequence"]
10
- @start_reason = data["start_reason"]
11
- @end_reason = data["end_reason"]
12
- @play_count = data["play_count"]
13
- @duration = data["duration"]
14
- @first_downs = data["first_downs"]
15
- @gain = data["gain"]
16
- @penalty_yards = data["penalty_yards"]
17
- @scoring_drive = data["scoring_drive"]
18
- @quarter = Sportradar::Api::Nfl::Quarter.new data["quarter"] if data["quarter"]
19
- @team = Sportradar::Api::Nfl::Team.new data["team"] if data["team"]
20
- @plays = parse_into_array(selector: response["play"], klass: Sportradar::Api::Nfl::Play) if response["play"]
21
- @plays ||= parse_into_array(selector: response["plays"]["play"], klass: Sportradar::Api::Nfl::Play) if response["plays"] && response["plays"]["play"]
22
- @events = parse_into_array(selector: response["event"], klass: Sportradar::Api::Nfl::Event) if response["event"]
23
- end
24
-
25
- def end_reason_possibilities
26
- [
27
- 'UNKNOWN',
28
- 'Touchdown',
29
- 'Safety',
30
- 'Field Goal',
31
- 'Missed FG',
32
- 'Blocked FG',
33
- 'Blocked FG, Downs',
34
- 'Blocked FG, Safety',
35
- 'Punt',
36
- 'Blocked Punt',
37
- 'Blocked Punt, Downs',
38
- 'Blocked Punt, Safety',
39
- 'Downs',
40
- 'Interception',
41
- 'Fumble',
42
- 'Fumble, Safety',
43
- 'Muffed FG',
44
- 'Muffed Punt',
45
- 'Muffed Kickoff',
46
- 'Kickoff',
47
- 'Own Kickoff',
48
- 'Onside Kick',
49
- 'Kickoff, No Play',
50
- 'End of Half',
51
- 'End of Game',
52
- ]
53
- end
54
- def normalized_end_reason
55
- case end_reason
56
- when 'Touchdown'
57
- 'Touchdown'
58
- when 'Field Goal'
59
- 'Field Goal'
60
- when 'Downs'
61
- 'Downs'
62
- when 'Interception', 'Fumble'
63
- 'Turnover'
64
- when 'Punt'
65
- 'Punt'
66
- else
67
- 'Other'
68
- end
69
- end
70
-
71
- end
72
- end
73
- end
@@ -1,19 +0,0 @@
1
- module Sportradar
2
- module Api
3
- class Nfl::Event < Data
4
- attr_accessor :response, :id, :sequence, :reference, :clock, :type, :description, :alt_description
5
-
6
- def initialize(data)
7
- @response = data
8
- @id = data["id"]
9
- @sequence = data["sequence"]
10
- @reference = data["reference"]
11
- @clock = data["clock"]
12
- @type = data["type"]
13
- @description = data["description"]
14
- @alt_description = data["alt_description"]
15
- end
16
-
17
- end
18
- end
19
- end