sportradar-api 0.9.24 → 0.9.25

Sign up to get free protection for your applications and to get access to all the features.
Files changed (90) hide show
  1. checksums.yaml +4 -4
  2. data/.env.sample +1 -1
  3. data/Gemfile.lock +2 -2
  4. data/README.md +1 -1
  5. data/lib/sportradar/api.rb +23 -1
  6. data/lib/sportradar/api/basketball.rb +21 -0
  7. data/lib/sportradar/api/basketball/bio.rb +33 -0
  8. data/lib/sportradar/api/basketball/broadcast.rb +15 -0
  9. data/lib/sportradar/api/basketball/nba.rb +123 -0
  10. data/lib/sportradar/api/basketball/nba/conference.rb +27 -0
  11. data/lib/sportradar/api/basketball/nba/division.rb +29 -0
  12. data/lib/sportradar/api/basketball/nba/game.rb +263 -0
  13. data/lib/sportradar/api/basketball/nba/hierarchy.rb +46 -0
  14. data/lib/sportradar/api/basketball/nba/overview.rb +64 -0
  15. data/lib/sportradar/api/basketball/nba/player.rb +146 -0
  16. data/lib/sportradar/api/basketball/nba/quarter.rb +51 -0
  17. data/lib/sportradar/api/basketball/nba/record.rb +34 -0
  18. data/lib/sportradar/api/basketball/nba/schedule.rb +32 -0
  19. data/lib/sportradar/api/basketball/nba/scoring.rb +89 -0
  20. data/lib/sportradar/api/basketball/nba/season.rb +42 -0
  21. data/lib/sportradar/api/basketball/nba/team.rb +166 -0
  22. data/lib/sportradar/api/basketball/overview.rb +74 -0
  23. data/lib/sportradar/api/basketball/play.rb +65 -0
  24. data/lib/sportradar/api/basketball/plays.rb +38 -0
  25. data/lib/sportradar/api/basketball/plays/assist.rb +11 -0
  26. data/lib/sportradar/api/basketball/plays/base.rb +88 -0
  27. data/lib/sportradar/api/basketball/plays/block.rb +11 -0
  28. data/lib/sportradar/api/basketball/plays/clear_path_foul.rb +9 -0
  29. data/lib/sportradar/api/basketball/plays/defensive_three_seconds.rb +8 -0
  30. data/lib/sportradar/api/basketball/plays/delay.rb +9 -0
  31. data/lib/sportradar/api/basketball/plays/ejection.rb +9 -0
  32. data/lib/sportradar/api/basketball/plays/end_period.rb +15 -0
  33. data/lib/sportradar/api/basketball/plays/flagrant_one.rb +9 -0
  34. data/lib/sportradar/api/basketball/plays/flagrant_two.rb +9 -0
  35. data/lib/sportradar/api/basketball/plays/foul.rb +14 -0
  36. data/lib/sportradar/api/basketball/plays/free_throw_made.rb +20 -0
  37. data/lib/sportradar/api/basketball/plays/free_throw_miss.rb +20 -0
  38. data/lib/sportradar/api/basketball/plays/jumpball.rb +9 -0
  39. data/lib/sportradar/api/basketball/plays/kickball.rb +9 -0
  40. data/lib/sportradar/api/basketball/plays/lineup_change.rb +9 -0
  41. data/lib/sportradar/api/basketball/plays/offensive_foul.rb +9 -0
  42. data/lib/sportradar/api/basketball/plays/official_timeout.rb +9 -0
  43. data/lib/sportradar/api/basketball/plays/open_inbound.rb +9 -0
  44. data/lib/sportradar/api/basketball/plays/open_tip.rb +9 -0
  45. data/lib/sportradar/api/basketball/plays/personal_foul.rb +9 -0
  46. data/lib/sportradar/api/basketball/plays/rebound.rb +15 -0
  47. data/lib/sportradar/api/basketball/plays/review.rb +8 -0
  48. data/lib/sportradar/api/basketball/plays/shooting_foul.rb +9 -0
  49. data/lib/sportradar/api/basketball/plays/shot_made.rb +21 -0
  50. data/lib/sportradar/api/basketball/plays/shot_miss.rb +21 -0
  51. data/lib/sportradar/api/basketball/plays/steal.rb +11 -0
  52. data/lib/sportradar/api/basketball/plays/team_timeout.rb +9 -0
  53. data/lib/sportradar/api/basketball/plays/technical_foul.rb +11 -0
  54. data/lib/sportradar/api/basketball/plays/three_point_made.rb +11 -0
  55. data/lib/sportradar/api/basketball/plays/three_point_miss.rb +8 -0
  56. data/lib/sportradar/api/basketball/plays/timeout.rb +15 -0
  57. data/lib/sportradar/api/basketball/plays/turnover.rb +16 -0
  58. data/lib/sportradar/api/basketball/plays/tv_timeout.rb +9 -0
  59. data/lib/sportradar/api/basketball/plays/two_point_made.rb +11 -0
  60. data/lib/sportradar/api/basketball/plays/two_point_miss.rb +8 -0
  61. data/lib/sportradar/api/basketball/profile.rb +48 -0
  62. data/lib/sportradar/api/basketball/season.rb +20 -0
  63. data/lib/sportradar/api/basketball/venue.rb +53 -0
  64. data/lib/sportradar/api/data.rb +42 -0
  65. data/lib/sportradar/api/mma.rb +195 -0
  66. data/lib/sportradar/api/mma/event.rb +111 -0
  67. data/lib/sportradar/api/mma/fight.rb +107 -0
  68. data/lib/sportradar/api/mma/fighter.rb +95 -0
  69. data/lib/sportradar/api/mma/judge.rb +70 -0
  70. data/lib/sportradar/api/mma/league.rb +63 -0
  71. data/lib/sportradar/api/mma/referee.rb +70 -0
  72. data/lib/sportradar/api/mma/result.rb +68 -0
  73. data/lib/sportradar/api/mma/roster.rb +72 -0
  74. data/lib/sportradar/api/mma/schedule.rb +53 -0
  75. data/lib/sportradar/api/mma/score.rb +83 -0
  76. data/lib/sportradar/api/mma/venue.rb +72 -0
  77. data/lib/sportradar/api/ncaafb.rb +185 -0
  78. data/lib/sportradar/api/ncaafb/drive.rb +89 -0
  79. data/lib/sportradar/api/ncaafb/game.rb +161 -0
  80. data/lib/sportradar/api/ncaafb/play.rb +39 -0
  81. data/lib/sportradar/api/ncaafb/player.rb +61 -0
  82. data/lib/sportradar/api/ncaafb/quarter.rb +37 -0
  83. data/lib/sportradar/api/ncaafb/season.rb +71 -0
  84. data/lib/sportradar/api/ncaafb/team.rb +69 -0
  85. data/lib/sportradar/api/ncaafb/week.rb +33 -0
  86. data/lib/sportradar/api/nfl.rb +6 -0
  87. data/lib/sportradar/api/nfl/conference.rb +2 -1
  88. data/lib/sportradar/api/request.rb +1 -0
  89. data/lib/sportradar/api/version.rb +1 -1
  90. metadata +81 -2
@@ -0,0 +1,69 @@
1
+ module Sportradar
2
+ module Api
3
+ class Ncaafb
4
+ class Team < Data
5
+ attr_accessor :response, :id, :name, :market
6
+
7
+ def initialize(data, **opts)
8
+ @response = data
9
+ @api = opts[:api]
10
+
11
+ case response
12
+ when String
13
+ @id = response
14
+ when Hash
15
+ @id = data['id']
16
+ update(response)
17
+ end
18
+ end
19
+ def full_name
20
+ (market || name) ? [market, name].join(' ') : id
21
+ end
22
+ def update(data)
23
+ @name = data['name'] if data['name']
24
+ @market = data['market'] if data['market']
25
+ @players = parse_players(data['player']) if data['player']
26
+ end
27
+
28
+ def players
29
+ @players ||= get_roster
30
+ end
31
+ alias :roster :players
32
+ def parse_players(data)
33
+ @players = parse_into_array_with_options(selector: data, klass: Sportradar::Api::Ncaafb::Player, api: api, team: self)
34
+ end
35
+
36
+ def get_roster
37
+ data = api.get_data(path_roster)['team']
38
+ update(data)
39
+ end
40
+
41
+ def path_base
42
+ "teams/#{ id }"
43
+ end
44
+ def path_roster
45
+ "#{ path_base }/roster"
46
+ end
47
+
48
+
49
+ def api
50
+ @api || Sportradar::Api::Ncaafb.new
51
+ end
52
+
53
+ end
54
+ end
55
+ end
56
+ end
57
+
58
+ __END__
59
+
60
+ sr = Sportradar::Api::Ncaafb.new;
61
+ ss = sr.schedule;
62
+ teams = ss.weeks(1).games.flat_map(&:teams);
63
+ t = teams.first;
64
+ ps = t.get_roster; # ps => players
65
+
66
+
67
+ # week_count = ss.weeks.count;
68
+ # w1 = ss.weeks.first;
69
+ # w1 = ss.weeks(1);
@@ -0,0 +1,33 @@
1
+ module Sportradar
2
+ module Api
3
+ class Ncaafb
4
+ class Week < Data
5
+ attr_accessor :response, :id, :sequence, :title, :season
6
+
7
+ def initialize(data, **opts)
8
+ @response = data
9
+ @api = opts[:api]
10
+ @season = opts[:season]
11
+ # @id = response['id']
12
+ # @year = response['year']
13
+ # @type = response['type']
14
+ @sequence = response['week']
15
+
16
+ rescue => e
17
+ binding.pry
18
+ end
19
+
20
+ def number
21
+ sequence
22
+ end
23
+
24
+ # private
25
+
26
+ def games
27
+ @games ||= parse_into_array_with_options(selector: response["game"], klass: Sportradar::Api::Ncaafb::Game, api: @api, week: self)
28
+ end
29
+
30
+ end
31
+ end
32
+ end
33
+ end
@@ -203,3 +203,9 @@ module Sportradar
203
203
  end
204
204
  end
205
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
@@ -3,8 +3,9 @@ module Sportradar
3
3
  class Nfl::Conference < Data
4
4
  attr_accessor :response, :id, :name, :alias, :divisions
5
5
 
6
- def initialize(data)
6
+ def initialize(data, **opts)
7
7
  @response = data
8
+ @api = opts[:api]
8
9
  @id = data["id"]
9
10
  @name = data["name"]
10
11
  @alias = data["alias"]
@@ -9,6 +9,7 @@ module Sportradar
9
9
  def get(path, options={})
10
10
  base_setup(path, options)
11
11
  begin
12
+ # puts url + "?api_key=#{api_key[:api_key]}" # uncomment for debugging
12
13
  response = self.class.get(url, headers: headers, query: options.merge(api_key), timeout: timeout)
13
14
  rescue Net::ReadTimeout, Net::OpenTimeout
14
15
  raise Sportradar::Api::Error::Timeout
@@ -1,5 +1,5 @@
1
1
  module Sportradar
2
2
  module Api
3
- VERSION = "0.9.24"
3
+ VERSION = "0.9.25"
4
4
  end
5
5
  end
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.24
4
+ version: 0.9.25
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-12-18 00:00:00.000000000 Z
11
+ date: 2017-01-05 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -240,6 +240,64 @@ files:
240
240
  - bin/console
241
241
  - bin/setup
242
242
  - lib/sportradar/api.rb
243
+ - lib/sportradar/api/basketball.rb
244
+ - lib/sportradar/api/basketball/bio.rb
245
+ - lib/sportradar/api/basketball/broadcast.rb
246
+ - lib/sportradar/api/basketball/nba.rb
247
+ - lib/sportradar/api/basketball/nba/conference.rb
248
+ - lib/sportradar/api/basketball/nba/division.rb
249
+ - lib/sportradar/api/basketball/nba/game.rb
250
+ - lib/sportradar/api/basketball/nba/hierarchy.rb
251
+ - lib/sportradar/api/basketball/nba/overview.rb
252
+ - lib/sportradar/api/basketball/nba/player.rb
253
+ - lib/sportradar/api/basketball/nba/quarter.rb
254
+ - lib/sportradar/api/basketball/nba/record.rb
255
+ - lib/sportradar/api/basketball/nba/schedule.rb
256
+ - lib/sportradar/api/basketball/nba/scoring.rb
257
+ - lib/sportradar/api/basketball/nba/season.rb
258
+ - lib/sportradar/api/basketball/nba/team.rb
259
+ - lib/sportradar/api/basketball/overview.rb
260
+ - lib/sportradar/api/basketball/play.rb
261
+ - lib/sportradar/api/basketball/plays.rb
262
+ - lib/sportradar/api/basketball/plays/assist.rb
263
+ - lib/sportradar/api/basketball/plays/base.rb
264
+ - lib/sportradar/api/basketball/plays/block.rb
265
+ - lib/sportradar/api/basketball/plays/clear_path_foul.rb
266
+ - lib/sportradar/api/basketball/plays/defensive_three_seconds.rb
267
+ - lib/sportradar/api/basketball/plays/delay.rb
268
+ - lib/sportradar/api/basketball/plays/ejection.rb
269
+ - lib/sportradar/api/basketball/plays/end_period.rb
270
+ - lib/sportradar/api/basketball/plays/flagrant_one.rb
271
+ - lib/sportradar/api/basketball/plays/flagrant_two.rb
272
+ - lib/sportradar/api/basketball/plays/foul.rb
273
+ - lib/sportradar/api/basketball/plays/free_throw_made.rb
274
+ - lib/sportradar/api/basketball/plays/free_throw_miss.rb
275
+ - lib/sportradar/api/basketball/plays/jumpball.rb
276
+ - lib/sportradar/api/basketball/plays/kickball.rb
277
+ - lib/sportradar/api/basketball/plays/lineup_change.rb
278
+ - lib/sportradar/api/basketball/plays/offensive_foul.rb
279
+ - lib/sportradar/api/basketball/plays/official_timeout.rb
280
+ - lib/sportradar/api/basketball/plays/open_inbound.rb
281
+ - lib/sportradar/api/basketball/plays/open_tip.rb
282
+ - lib/sportradar/api/basketball/plays/personal_foul.rb
283
+ - lib/sportradar/api/basketball/plays/rebound.rb
284
+ - lib/sportradar/api/basketball/plays/review.rb
285
+ - lib/sportradar/api/basketball/plays/shooting_foul.rb
286
+ - lib/sportradar/api/basketball/plays/shot_made.rb
287
+ - lib/sportradar/api/basketball/plays/shot_miss.rb
288
+ - lib/sportradar/api/basketball/plays/steal.rb
289
+ - lib/sportradar/api/basketball/plays/team_timeout.rb
290
+ - lib/sportradar/api/basketball/plays/technical_foul.rb
291
+ - lib/sportradar/api/basketball/plays/three_point_made.rb
292
+ - lib/sportradar/api/basketball/plays/three_point_miss.rb
293
+ - lib/sportradar/api/basketball/plays/timeout.rb
294
+ - lib/sportradar/api/basketball/plays/turnover.rb
295
+ - lib/sportradar/api/basketball/plays/tv_timeout.rb
296
+ - lib/sportradar/api/basketball/plays/two_point_made.rb
297
+ - lib/sportradar/api/basketball/plays/two_point_miss.rb
298
+ - lib/sportradar/api/basketball/profile.rb
299
+ - lib/sportradar/api/basketball/season.rb
300
+ - lib/sportradar/api/basketball/venue.rb
243
301
  - lib/sportradar/api/config.rb
244
302
  - lib/sportradar/api/content.rb
245
303
  - lib/sportradar/api/content/article.rb
@@ -269,6 +327,27 @@ files:
269
327
  - lib/sportradar/api/images/link.rb
270
328
  - lib/sportradar/api/images/tag.rb
271
329
  - lib/sportradar/api/live_images.rb
330
+ - lib/sportradar/api/mma.rb
331
+ - lib/sportradar/api/mma/event.rb
332
+ - lib/sportradar/api/mma/fight.rb
333
+ - lib/sportradar/api/mma/fighter.rb
334
+ - lib/sportradar/api/mma/judge.rb
335
+ - lib/sportradar/api/mma/league.rb
336
+ - lib/sportradar/api/mma/referee.rb
337
+ - lib/sportradar/api/mma/result.rb
338
+ - lib/sportradar/api/mma/roster.rb
339
+ - lib/sportradar/api/mma/schedule.rb
340
+ - lib/sportradar/api/mma/score.rb
341
+ - lib/sportradar/api/mma/venue.rb
342
+ - lib/sportradar/api/ncaafb.rb
343
+ - lib/sportradar/api/ncaafb/drive.rb
344
+ - lib/sportradar/api/ncaafb/game.rb
345
+ - lib/sportradar/api/ncaafb/play.rb
346
+ - lib/sportradar/api/ncaafb/player.rb
347
+ - lib/sportradar/api/ncaafb/quarter.rb
348
+ - lib/sportradar/api/ncaafb/season.rb
349
+ - lib/sportradar/api/ncaafb/team.rb
350
+ - lib/sportradar/api/ncaafb/week.rb
272
351
  - lib/sportradar/api/nfl.rb
273
352
  - lib/sportradar/api/nfl/.play_statistics.rb.swo
274
353
  - lib/sportradar/api/nfl/broadcast.rb