sportradar-api 0.1.4 → 0.1.5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (49) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +1 -1
  3. data/lib/sportradar/api/data.rb +17 -0
  4. data/lib/sportradar/api/nfl/broadcast.rb +13 -0
  5. data/lib/sportradar/api/nfl/changelog.rb +39 -0
  6. data/lib/sportradar/api/nfl/coach.rb +17 -0
  7. data/lib/sportradar/api/nfl/conference.rb +28 -0
  8. data/lib/sportradar/api/nfl/depth_chart.rb +15 -0
  9. data/lib/sportradar/api/nfl/division.rb +28 -0
  10. data/lib/sportradar/api/nfl/draft.rb +16 -0
  11. data/lib/sportradar/api/nfl/drive.rb +38 -0
  12. data/lib/sportradar/api/nfl/event.rb +19 -0
  13. data/lib/sportradar/api/nfl/franchise.rb +15 -0
  14. data/lib/sportradar/api/nfl/game.rb +50 -0
  15. data/lib/sportradar/api/nfl/hierarchy.rb +39 -0
  16. data/lib/sportradar/api/nfl/injury.rb +16 -0
  17. data/lib/sportradar/api/nfl/play.rb +28 -0
  18. data/lib/sportradar/api/nfl/player.rb +52 -0
  19. data/lib/sportradar/api/nfl/position.rb +26 -0
  20. data/lib/sportradar/api/nfl/quarter.rb +17 -0
  21. data/lib/sportradar/api/nfl/scoring.rb +24 -0
  22. data/lib/sportradar/api/nfl/season.rb +31 -0
  23. data/lib/sportradar/api/nfl/situation.rb +17 -0
  24. data/lib/sportradar/api/nfl/statistic.rb +28 -0
  25. data/lib/sportradar/api/nfl/summary.rb +18 -0
  26. data/lib/sportradar/api/nfl/team.rb +59 -0
  27. data/lib/sportradar/api/nfl/venue.rb +22 -0
  28. data/lib/sportradar/api/nfl/week.rb +17 -0
  29. data/lib/sportradar/api/nfl.rb +49 -32
  30. data/lib/sportradar/api/soccer/boxscore.rb +2 -3
  31. data/lib/sportradar/api/soccer/category.rb +28 -0
  32. data/lib/sportradar/api/soccer/fact.rb +2 -2
  33. data/lib/sportradar/api/soccer/hierarchy.rb +26 -0
  34. data/lib/sportradar/api/soccer/match.rb +5 -5
  35. data/lib/sportradar/api/soccer/player.rb +47 -6
  36. data/lib/sportradar/api/soccer/ranking.rb +26 -0
  37. data/lib/sportradar/api/soccer/schedule.rb +3 -4
  38. data/lib/sportradar/api/soccer/season.rb +27 -0
  39. data/lib/sportradar/api/soccer/standing.rb +24 -0
  40. data/lib/sportradar/api/soccer/statistic.rb +14 -0
  41. data/lib/sportradar/api/soccer/summary.rb +3 -4
  42. data/lib/sportradar/api/soccer/team.rb +20 -13
  43. data/lib/sportradar/api/soccer/tournament.rb +33 -0
  44. data/lib/sportradar/api/soccer/tournament_group.rb +45 -0
  45. data/lib/sportradar/api/soccer/venue.rb +2 -2
  46. data/lib/sportradar/api/soccer.rb +8 -5
  47. data/lib/sportradar/api/version.rb +1 -1
  48. data/lib/sportradar/api.rb +35 -0
  49. metadata +36 -2
@@ -0,0 +1,33 @@
1
+ module Sportradar
2
+ module Api
3
+ class Soccer::Tournament < Data
4
+ attr_accessor :response, :id, :name, :season_start, :season_end, :season, :type, :reference_id, :coverage, :teams
5
+
6
+ def initialize(data)
7
+ @response = data
8
+ @id = data["id"]
9
+ @name = data["name"]
10
+ @season_start = data["season_start"]
11
+ @season_end = data["season_end"]
12
+ @season = data["season"]
13
+ @reference_id = data["reference_id"]
14
+ @coverage = OpenStruct.new data["coverage"] if data["coverage"]
15
+ set_teams
16
+
17
+ end
18
+
19
+ private
20
+
21
+ def set_teams
22
+ if response["team"]
23
+ if response["team"].is_a?(Array)
24
+ @teams = response["team"].map {|team| Sportradar::Api::Soccer::Team.new team }
25
+ elsif response["team"].is_a?(Hash)
26
+ @teams = [ Sportradar::Api::Soccer::Team.new(response["team"]) ]
27
+ end
28
+ end
29
+ end
30
+
31
+ end
32
+ end
33
+ end
@@ -0,0 +1,45 @@
1
+ module Sportradar
2
+ module Api
3
+ class Soccer::TournamentGroup < Data
4
+ attr_accessor :response, :id, :name, :season_start, :season_end, :season, :reference_id, :top_goals, :top_own_goals, :top_assists, :top_cards, :top_points, :tournaments
5
+
6
+ def initialize(data)
7
+ @response = data
8
+ @id = data["id"]
9
+ @name = data["name"]
10
+ @season_start = data["season_start"]
11
+ @season_end = data["season_end"]
12
+ @season = data["season"]
13
+ @reference_id = data["reference_id"]
14
+ @top_goals = parse_players(data["top_goals"]["player"]) if data["top_goals"] && data["top_goals"]["player"]
15
+ @top_own_goals = parse_players(data["top_own_goals"]["player"]) if data["top_own_goals"] && data["top_own_goals"]["player"]
16
+ @top_assists = parse_players(data["top_assists"]["player"]) if data["top_assists"] && data["top_assists"]["player"]
17
+ @top_cards = parse_players(data["top_cards"]["player"]) if data["top_cards"] && data["top_cards"]["player"]
18
+ @top_points = parse_players(data["top_points"]["player"]) if data["top_points"] && data["top_points"]["player"]
19
+ set_tournaments
20
+
21
+ end
22
+
23
+ private
24
+
25
+ def parse_players(field_to_parse)
26
+ if field_to_parse.is_a?(Array)
27
+ field_to_parse.map {|player| Sportradar::Api::Soccer::Player.new player }
28
+ elsif field_to_parse.is_a?(Hash)
29
+ [ Sportradar::Api::Soccer::Player.new(field_to_parse) ]
30
+ end
31
+ end
32
+
33
+ def set_tournaments
34
+ if response["tournament"]
35
+ if response["tournament"].is_a?(Array)
36
+ @tournaments = response["tournament"].map {|x| Sportradar::Api::Soccer::Tournament.new x }
37
+ elsif response["tournament"].is_a?(Hash)
38
+ @tournaments = [ Sportradar::Api::Soccer::Tournament.new(response["tournament"]) ]
39
+ end
40
+ end
41
+ end
42
+
43
+ end
44
+ end
45
+ end
@@ -1,10 +1,11 @@
1
1
  module Sportradar
2
2
  module Api
3
- class Soccer::Venue
3
+ class Soccer::Venue < Data
4
4
 
5
5
  attr_accessor :id, :name, :country_code, :country, :city, :capacity, :coordinates, :reference_id, :response
6
6
 
7
7
  def initialize(data)
8
+ @response = data
8
9
  @id = data["id"]
9
10
  @name = data["name"]
10
11
  @country_code = data["country_code"]
@@ -13,7 +14,6 @@ module Sportradar
13
14
  @capacity = data["capacity"]
14
15
  @coordinates = data["coordinates"]
15
16
  @reference_id = data["reference_id"]
16
- @response = data
17
17
  end
18
18
 
19
19
  end
@@ -14,12 +14,13 @@ module Sportradar
14
14
  Sportradar::Api::Soccer::Schedule.new response
15
15
  end
16
16
 
17
+ # date = Date.parse('2016-07-17')
17
18
  def daily_schedule(date = Date.today)
18
19
  response = get request_url("matches/#{date_path(date)}/schedule")
19
20
  Sportradar::Api::Soccer::Schedule.new response
20
21
  end
21
22
 
22
- # date = Date.parse('2016-07-17')
23
+
23
24
  def daily_summary(date = Date.today)
24
25
  response = get request_url("matches/#{date_path(date)}/summary")
25
26
  Sportradar::Api::Soccer::Summary.new response
@@ -48,7 +49,6 @@ module Sportradar
48
49
  Sportradar::Api::Soccer::Team.new response["profile"]["team"] if response.success?
49
50
  end
50
51
 
51
-
52
52
  # player_id = "2aeacd39-3f9c-42af-957e-9df8573973c4"
53
53
  def player_profile(player_id)
54
54
  response = get request_url("players/#{player_id}/profile")
@@ -56,15 +56,18 @@ module Sportradar
56
56
  end
57
57
 
58
58
  def player_rankings
59
- get request_url("players/leader")
59
+ response = get request_url("players/leader")
60
+ Sportradar::Api::Soccer::Ranking.new response["leaders"] if response.success? && response["leaders"]
60
61
  end
61
62
 
62
63
  def team_hierarchy
63
- get request_url("teams/hierarchy")
64
+ response = get request_url("teams/hierarchy")
65
+ Sportradar::Api::Soccer::Hierarchy.new response["hierarchy"] if response.success? && response["hierarchy"]
64
66
  end
65
67
 
66
68
  def team_standings
67
- get request_url("teams/standing")
69
+ response = get request_url("teams/standing")
70
+ Sportradar::Api::Soccer::Standing.new response["standings"] if response.success? && response["standings"]
68
71
  end
69
72
 
70
73
  private
@@ -1,5 +1,5 @@
1
1
  module Sportradar
2
2
  module Api
3
- VERSION = "0.1.4"
3
+ VERSION = "0.1.5"
4
4
  end
5
5
  end
@@ -5,20 +5,55 @@ require "httparty"
5
5
  require "sportradar/api/version"
6
6
 
7
7
  require "sportradar/api/config"
8
+ require "sportradar/api/data"
8
9
  require "sportradar/api/error"
9
10
  require "sportradar/api/request"
10
11
 
11
12
  require "sportradar/api/soccer"
12
13
  require "sportradar/api/soccer/boxscore"
14
+ require "sportradar/api/soccer/category"
13
15
  require "sportradar/api/soccer/fact"
16
+ require "sportradar/api/soccer/hierarchy"
14
17
  require "sportradar/api/soccer/match"
15
18
  require "sportradar/api/soccer/player"
19
+ require "sportradar/api/soccer/ranking"
16
20
  require "sportradar/api/soccer/schedule"
21
+ require "sportradar/api/soccer/season"
22
+ require "sportradar/api/soccer/standing"
23
+ require "sportradar/api/soccer/statistic"
17
24
  require "sportradar/api/soccer/summary"
18
25
  require "sportradar/api/soccer/team"
26
+ require "sportradar/api/soccer/tournament"
27
+ require "sportradar/api/soccer/tournament_group"
19
28
  require "sportradar/api/soccer/venue"
20
29
 
21
30
  require "sportradar/api/nfl"
31
+ require "sportradar/api/nfl/broadcast"
32
+ require "sportradar/api/nfl/changelog"
33
+ require "sportradar/api/nfl/coach"
34
+ require "sportradar/api/nfl/conference"
35
+ require "sportradar/api/nfl/depth_chart"
36
+ require "sportradar/api/nfl/division"
37
+ require "sportradar/api/nfl/draft"
38
+ require "sportradar/api/nfl/drive"
39
+ require "sportradar/api/nfl/event"
40
+ require "sportradar/api/nfl/franchise"
41
+ require "sportradar/api/nfl/game"
42
+ require "sportradar/api/nfl/hierarchy"
43
+ require "sportradar/api/nfl/injury"
44
+ require "sportradar/api/nfl/play"
45
+ require "sportradar/api/nfl/player"
46
+ require "sportradar/api/nfl/position"
47
+ require "sportradar/api/nfl/quarter"
48
+ require "sportradar/api/nfl/scoring"
49
+ require "sportradar/api/nfl/season"
50
+ require "sportradar/api/nfl/situation"
51
+ require "sportradar/api/nfl/statistic"
52
+ require "sportradar/api/nfl/summary"
53
+ require "sportradar/api/nfl/team"
54
+ require "sportradar/api/nfl/venue"
55
+ require "sportradar/api/nfl/week"
56
+
22
57
  require "sportradar/api/images"
23
58
  require "sportradar/api/live_images"
24
59
  require "sportradar/api/content"
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.1.4
4
+ version: 0.1.5
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-07-19 00:00:00.000000000 Z
11
+ date: 2016-07-21 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -213,20 +213,54 @@ files:
213
213
  - lib/sportradar/api.rb
214
214
  - lib/sportradar/api/config.rb
215
215
  - lib/sportradar/api/content.rb
216
+ - lib/sportradar/api/data.rb
216
217
  - lib/sportradar/api/error.rb
217
218
  - lib/sportradar/api/images.rb
218
219
  - lib/sportradar/api/live_images.rb
219
220
  - lib/sportradar/api/nfl.rb
221
+ - lib/sportradar/api/nfl/broadcast.rb
222
+ - lib/sportradar/api/nfl/changelog.rb
223
+ - lib/sportradar/api/nfl/coach.rb
224
+ - lib/sportradar/api/nfl/conference.rb
225
+ - lib/sportradar/api/nfl/depth_chart.rb
226
+ - lib/sportradar/api/nfl/division.rb
227
+ - lib/sportradar/api/nfl/draft.rb
228
+ - lib/sportradar/api/nfl/drive.rb
229
+ - lib/sportradar/api/nfl/event.rb
230
+ - lib/sportradar/api/nfl/franchise.rb
231
+ - lib/sportradar/api/nfl/game.rb
232
+ - lib/sportradar/api/nfl/hierarchy.rb
233
+ - lib/sportradar/api/nfl/injury.rb
234
+ - lib/sportradar/api/nfl/play.rb
235
+ - lib/sportradar/api/nfl/player.rb
236
+ - lib/sportradar/api/nfl/position.rb
237
+ - lib/sportradar/api/nfl/quarter.rb
238
+ - lib/sportradar/api/nfl/scoring.rb
239
+ - lib/sportradar/api/nfl/season.rb
240
+ - lib/sportradar/api/nfl/situation.rb
241
+ - lib/sportradar/api/nfl/statistic.rb
242
+ - lib/sportradar/api/nfl/summary.rb
243
+ - lib/sportradar/api/nfl/team.rb
244
+ - lib/sportradar/api/nfl/venue.rb
245
+ - lib/sportradar/api/nfl/week.rb
220
246
  - lib/sportradar/api/odds.rb
221
247
  - lib/sportradar/api/request.rb
222
248
  - lib/sportradar/api/soccer.rb
223
249
  - lib/sportradar/api/soccer/boxscore.rb
250
+ - lib/sportradar/api/soccer/category.rb
224
251
  - lib/sportradar/api/soccer/fact.rb
252
+ - lib/sportradar/api/soccer/hierarchy.rb
225
253
  - lib/sportradar/api/soccer/match.rb
226
254
  - lib/sportradar/api/soccer/player.rb
255
+ - lib/sportradar/api/soccer/ranking.rb
227
256
  - lib/sportradar/api/soccer/schedule.rb
257
+ - lib/sportradar/api/soccer/season.rb
258
+ - lib/sportradar/api/soccer/standing.rb
259
+ - lib/sportradar/api/soccer/statistic.rb
228
260
  - lib/sportradar/api/soccer/summary.rb
229
261
  - lib/sportradar/api/soccer/team.rb
262
+ - lib/sportradar/api/soccer/tournament.rb
263
+ - lib/sportradar/api/soccer/tournament_group.rb
230
264
  - lib/sportradar/api/soccer/venue.rb
231
265
  - lib/sportradar/api/version.rb
232
266
  - sportradar-api.gemspec