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
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: b924ebfdd01ced00daedf12e61f3df7735c7830a
4
- data.tar.gz: 69688fa9925cf6585ea0fd7c4ebaf5014b817773
3
+ metadata.gz: 61d28c013ff7cfd245145199a7e089cba0b0b101
4
+ data.tar.gz: c6856d11821f19686b04ff486540a82c2e7a48d3
5
5
  SHA512:
6
- metadata.gz: 51901385620f6ef3eec8308cb68f429ea49d132e9e3175d88c000f67f7c063ef4ec3254bd560cb90a313899495758707f15f1833548c763f3ffe74b773a82303
7
- data.tar.gz: 28eaca96e9829a2c5433ac925f9d4f330bebff4b8a6edf7a2dbdfa18a1e37b238da20cfd4459b0d6f2065897d903009b7370658699775382629df5a5572d2e1d
6
+ metadata.gz: 66f4d1ec24f715eaee2d64ebffe3957862b7d70ab2123de2198f523262dcabd71852116eab81474b51ed4c08a30520b3378416eb5c722efd5341bcf0d5a10dc3
7
+ data.tar.gz: 117a53815486c513c907232c39d612d4265fc3daecfbf703e82fbe0c510060191b8ed3f971e1964229d667b3a6841db1617928d9f7d088cd50b0e21bf181ff4e
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- sportradar-api (0.1.4)
4
+ sportradar-api (0.1.5)
5
5
  httparty (>= 0.13.3)
6
6
 
7
7
  GEM
@@ -0,0 +1,17 @@
1
+ module Sportradar
2
+ module Api
3
+ class Data
4
+
5
+ # Attributes that have a value
6
+ def attributes
7
+ all_attributes.select {|x| !self.send(x).nil? }
8
+ end
9
+
10
+ def all_attributes
11
+ self.instance_variables.map{|attribute| attribute.to_s.gsub('@', '').to_sym }
12
+ end
13
+
14
+ end
15
+
16
+ end
17
+ end
@@ -0,0 +1,13 @@
1
+ module Sportradar
2
+ module Api
3
+ class Nfl::Broadcast < Data
4
+ attr_accessor :response, :network
5
+
6
+ def initialize(data)
7
+ @response = data
8
+ @network = data["network"]
9
+ end
10
+
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,39 @@
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
+ set_players
11
+ set_games
12
+ end
13
+
14
+ private
15
+
16
+ def set_games
17
+ if response["game"]
18
+ if response["game"].is_a?(Array)
19
+ @games = response["game"].map {|game| Sportradar::Api::Nfl::Game.new game }
20
+ elsif response["game"].is_a?(Hash)
21
+ @games = [ Sportradar::Api::Nfl::Game.new(response["game"]) ]
22
+ end
23
+ end
24
+ end
25
+
26
+
27
+ def set_players
28
+ if response["profiles"] && response["profiles"]["players"] && response["profiles"]["players"]["player"]
29
+ if response["profiles"]["players"]["player"].is_a?(Array)
30
+ @players = response["profiles"]["players"]["player"].map {|player| Sportradar::Api::Nfl::Player.new player }
31
+ elsif response["profiles"]["players"]["player"].is_a?(Hash)
32
+ @players = [ Sportradar::Api::Nfl::Player.new(response["profiles"]["players"]["player"]) ]
33
+ end
34
+ end
35
+ end
36
+
37
+ end
38
+ end
39
+ end
@@ -0,0 +1,17 @@
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
@@ -0,0 +1,28 @@
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
+ set_divisions
12
+ end
13
+
14
+ private
15
+
16
+ def set_divisions
17
+ if response["division"]
18
+ if response["division"].is_a?(Array)
19
+ @divisions = response["division"].map {|division| Sportradar::Api::Nfl::Division.new division }
20
+ elsif response["division"].is_a?(Hash)
21
+ @divisions = [ Sportradar::Api::Nfl::Division.new(response["division"]) ]
22
+ end
23
+ end
24
+ end
25
+
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,15 @@
1
+ module Sportradar
2
+ module Api
3
+ class Nfl::DepthChart < Data
4
+ attr_accessor :response, :season, :teams
5
+
6
+ def initialize(data)
7
+ @response = data
8
+ @season = Sportradar::Api::Nfl::Season.new data["season"] if data["season"]
9
+ @teams = data["season"]["depth_charts"]["team"].map {|team| Sportradar::Api::Nfl::Team.new team } if data["season"]["depth_charts"]["team"]
10
+
11
+ end
12
+
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,28 @@
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
+ set_teams
12
+ end
13
+
14
+ private
15
+
16
+ def set_teams
17
+ if response["team"]
18
+ if response["team"].is_a?(Array)
19
+ @teams = response["team"].map {|team| Sportradar::Api::Nfl::Team.new team }
20
+ elsif response["team"].is_a?(Hash)
21
+ @teams = [ Sportradar::Api::Nfl::Team.new(response["team"]) ]
22
+ end
23
+ end
24
+ end
25
+
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,16 @@
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
@@ -0,0 +1,38 @@
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
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
+ set_plays
21
+
22
+ end
23
+
24
+ private
25
+
26
+ def set_plays
27
+ if response["plays"] && response["plays"]["play"]
28
+ if response["plays"]["play"].is_a?(Array)
29
+ @plays = response["plays"]["play"].map {|play| Sportradar::Api::Nfl::Play.new play }
30
+ elsif response["plays"]["play"].is_a?(Hash)
31
+ @plays = [ Sportradar::Api::Nfl::Play.new(response["plays"]["play"]) ]
32
+ end
33
+ end
34
+ end
35
+
36
+ end
37
+ end
38
+ end
@@ -0,0 +1,19 @@
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
@@ -0,0 +1,15 @@
1
+ module Sportradar
2
+ module Api
3
+ class Nfl::Franchise < Data
4
+ attr_accessor :response, :name, :alias
5
+
6
+
7
+ def initialize(data)
8
+ @response = data
9
+ @name = data["name"]
10
+ @alias = data["alias"]
11
+ end
12
+
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,50 @@
1
+ module Sportradar
2
+ module Api
3
+ class Nfl::Game < Data
4
+ attr_accessor :response, :id, :status, :reference, :number, :scheduled, :entry_mode, :venue, :home, :away, :broadcast, :number, :attendance, :utc_offset, :weather, :clock, :quarter, :summary, :situation, :last_event, :scoring, :scoring_drives
5
+
6
+ def initialize(data)
7
+ @response = data
8
+ @id = data["id"]
9
+ @status = data["status"]
10
+ @reference = data["reference"]
11
+ @number = data["number"]
12
+ @scheduled = data["scheduled"]
13
+ @entry_mode = data["entry_mode"]
14
+
15
+ # game boxscore
16
+ @number = data["number"]
17
+ @attendance = data["attendance"]
18
+ @utc_offset = data["utc_offset"]
19
+ @weather = data["weather"]
20
+ @clock = data["clock"]
21
+ @quarter = data["quarter"]
22
+ @summary = Sportradar::Api::Nfl::Summary.new data["summary"] if data["summary"]
23
+ @situation = Sportradar::Api::Nfl::Situation.new data["situation"] if data["situation"]
24
+ @last_event = Sportradar::Api::Nfl::Event.new data["last_event"]["event"] if data["last_event"] && data["last_event"]["event"]
25
+ @scoring = Sportradar::Api::Nfl::Scoring.new data["scoring"] if data["scoring"]
26
+ set_scoring_drives
27
+
28
+ @venue = Sportradar::Api::Nfl::Venue.new data["venue"] if data["venue"]
29
+ @home = Sportradar::Api::Nfl::Team.new data["home"] if data["home"]
30
+ @away = Sportradar::Api::Nfl::Team.new data["away"] if data["away"]
31
+ @broadcast = Sportradar::Api::Nfl::Broadcast.new data["broadcast"] if data["broadcast"]
32
+
33
+
34
+ end
35
+
36
+ private
37
+
38
+ def set_scoring_drives
39
+ if response["scoring_drives"] && response["scoring_drives"]["drive"]
40
+ if response["scoring_drives"]["drive"].is_a?(Array)
41
+ @scoring_drives = response["scoring_drives"]["drive"].map {|scoring_drive| Sportradar::Api::Nfl::Drive.new scoring_drive }
42
+ elsif response["scoring_drives"]["drive"].is_a?(Hash)
43
+ @scoring_drives = [ Sportradar::Api::Nfl::Drive.new(response["scoring_drives"]["drive"]) ]
44
+ end
45
+ end
46
+ end
47
+
48
+ end
49
+ end
50
+ end
@@ -0,0 +1,39 @@
1
+ module Sportradar
2
+ module Api
3
+ class Nfl::Hierarchy < Data
4
+ attr_accessor :response, :id, :name, :alias, :divisions, :conferences
5
+
6
+ def initialize(data)
7
+ @response = data
8
+ @id = data["id"]
9
+ @name = data["name"]
10
+ @alias = data["alias"]
11
+ set_divisions
12
+ set_conferences
13
+ end
14
+
15
+ private
16
+
17
+ def set_divisions
18
+ if response["division"]
19
+ if response["division"].is_a?(Array)
20
+ @divisions = response["division"].map {|division| Sportradar::Api::Nfl::Division.new division }
21
+ elsif response["division"].is_a?(Hash)
22
+ @divisions = [ Sportradar::Api::Nfl::Division.new(response["division"]) ]
23
+ end
24
+ end
25
+ end
26
+
27
+ def set_conferences
28
+ if response["conference"]
29
+ if response["conference"].is_a?(Array)
30
+ @conferences = response["conference"].map {|conference| Sportradar::Api::Nfl::Conference.new conference }
31
+ elsif response["conference"].is_a?(Hash)
32
+ @conferences = [ Sportradar::Api::Nfl::Conference.new(response["conference"]) ]
33
+ end
34
+ end
35
+ end
36
+
37
+ end
38
+ end
39
+ end
@@ -0,0 +1,16 @@
1
+ module Sportradar
2
+ module Api
3
+ class Nfl::Injury < Data
4
+ attr_accessor :response, :status, :status_date, :practice, :primary
5
+
6
+ def initialize(data)
7
+ @response = data
8
+ @status = data["status"]
9
+ @status_date = data["status_date"]
10
+ @practice = OpenStruct.new data["practice"] if data['practice']
11
+ @primary = data["primary"]
12
+ end
13
+
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,28 @@
1
+ module Sportradar
2
+ module Api
3
+ class Nfl::Play < Data
4
+ attr_accessor :response, :id, :sequence, :reference, :clock, :home_points, :away_points, :type, :play_clock, :wall_clock, :start_situation, :end_situation, :description, :alt_description, :statistics, :score, :scoring_play
5
+
6
+ def initialize(data)
7
+ @response = data
8
+ @alt_description = data["alt_description"]
9
+ @away_points = data["away_points"]
10
+ @clock = data["clock"]
11
+ @description = data["description"]
12
+ @end_situation = Sportradar::Api::Nfl::Situation.new data["end_situation"] if data["end_situation"]
13
+ @home_points = data["home_points"]
14
+ @id = data["id"]
15
+ @play_clock = data["play_clock"]
16
+ @reference = data["reference"]
17
+ @score = data["score"]
18
+ @scoring_play = data["scoring_play"]
19
+ @sequence = data["sequence"]
20
+ @start_situation = Sportradar::Api::Nfl::Situation.new data["start_situation"] if data["start_situation"]
21
+ @statistics = OpenStruct.new data["statistics"] if data["statistics"] # TODO Implement statistics?
22
+ @type = data["type"]
23
+ @wall_clock = data["wall_clock"]
24
+ end
25
+
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,52 @@
1
+ module Sportradar
2
+ module Api
3
+ class Nfl::Player < Data
4
+ attr_accessor :response, :id, :sequence, :title, :game, :name, :jersey, :reference, :position, :depth, :injury, :age, :birth_date, :birth_place, :college, :college_conf, :draft, :first_name, :height, :high_school, :last_name, :preferred_name, :references, :rookie_year, :status, :weight, :abbr_name, :seasons, :team
5
+
6
+ def initialize(data)
7
+ @response = data
8
+ @depth = data["depth"]
9
+ @game = data["game"] # Games
10
+ @id = data["id"]
11
+ @jersey = data["jersey"]
12
+ @name = data["name"]
13
+ @position = data["position"]
14
+ @reference = data["reference"]
15
+ @sequence = data["sequence"]
16
+ @title = data["title"]
17
+ @age = data["age"]
18
+ @birth_date = data["birth_date"]
19
+ @birth_place = data["birth_place"]
20
+ @college = data["college"]
21
+ @college_conf = data["college_conf"]
22
+ @first_name = data["first_name"]
23
+ @height = data["height"]
24
+ @high_school = data["high_school"]
25
+ @last_name = data["last_name"]
26
+ @preferred_name = data["preferred_name"]
27
+ @references = data["references"]
28
+ @rookie_year = data["rookie_year"]
29
+ @status = data["status"]
30
+ @weight = data["weight"]
31
+ @abbr_name = data["abbr_name"]
32
+ @team = Sportradar::Api::Nfl::Team.new data["team"] if data["team"]
33
+ @injury = Sportradar::Api::Nfl::Injury.new data["injury"] if data["injury"]
34
+ @draft = Sportradar::Api::Nfl::Draft.new data["draft"] if data["draft"]
35
+ set_seasons
36
+ end
37
+
38
+ private
39
+
40
+ def set_seasons
41
+ if response["season"]
42
+ if response["season"].is_a?(Array)
43
+ @seasons = response["season"].map {|season| Sportradar::Api::Nfl::Season.new season }
44
+ elsif response["season"].is_a?(Hash)
45
+ @seasons = [ Sportradar::Api::Nfl::Season.new(response["season"]) ]
46
+ end
47
+ end
48
+ end
49
+
50
+ end
51
+ end
52
+ end
@@ -0,0 +1,26 @@
1
+ module Sportradar
2
+ module Api
3
+ class Nfl::Position < Data
4
+ attr_accessor :response, :name, :players
5
+
6
+ def initialize(data)
7
+ @response = data
8
+ @name = data["name"]
9
+ set_players
10
+ end
11
+
12
+ private
13
+
14
+ def set_players
15
+ if response["player"]
16
+ if response["player"].is_a?(Array)
17
+ @players = response["player"].map {|player| Sportradar::Api::Nfl::Player.new player }
18
+ elsif response["player"].is_a?(Hash)
19
+ @players = [ Sportradar::Api::Nfl::Player.new(response["player"]) ]
20
+ end
21
+ end
22
+ end
23
+
24
+ end
25
+ end
26
+ end
@@ -0,0 +1,17 @@
1
+ module Sportradar
2
+ module Api
3
+ class Nfl::Quarter < Data
4
+ attr_accessor :response, :id, :number, :sequence, :home_points, :away_points
5
+
6
+ def initialize(data)
7
+ @response = data
8
+ @id = data["id"]
9
+ @number = data["number"]
10
+ @sequence = data["sequence"]
11
+ @home_points = data["home_points"]
12
+ @away_points = data["away_points"]
13
+ end
14
+
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,24 @@
1
+ module Sportradar
2
+ module Api
3
+ class Nfl::Scoring < Data
4
+ attr_accessor :response, :quarters
5
+
6
+ def initialize(data)
7
+ @response = data
8
+ @quarters = data['quarter'].map { |quarter| Sportradar::Api::Nfl::Quarter.new quarter} if data['quarter']
9
+ end
10
+
11
+ def final
12
+ "#{home}-#{away}"
13
+ end
14
+
15
+ def home
16
+ quarters.map {|quarter| quarter['home_points'].to_i }.reduce(:+)
17
+ end
18
+
19
+ def away
20
+ quarters.map {|quarter| quarter['away_points'].to_i }.reduce(:+)
21
+ end
22
+ end
23
+ end
24
+ end
@@ -0,0 +1,31 @@
1
+ module Sportradar
2
+ module Api
3
+ class Nfl::Season < Data
4
+ attr_accessor :response, :id, :year, :type, :name, :weeks, :injuries, :team
5
+
6
+ def initialize(data)
7
+ @response = data
8
+ @id = data["id"]
9
+ @year = data["year"]
10
+ @type = data["type"]
11
+ @name = data["name"]
12
+ @team = Sportradar::Api::Nfl::Team.new data["team"] if data["team"]
13
+ @injuries = data["injuries"]["team"].map {|team| Sportradar::Api::Nfl::Team.new team } if data["injuries"] && data["injuries"]["team"]
14
+ set_weeks
15
+ end
16
+
17
+ private
18
+
19
+ def set_weeks
20
+ if response["week"]
21
+ if response["week"].is_a?(Array)
22
+ @weeks = response["week"].map {|week| Sportradar::Api::Nfl::Week.new week }
23
+ elsif response["week"].is_a?(Hash)
24
+ @weeks = [ Sportradar::Api::Nfl::Week.new(response["week"]) ]
25
+ end
26
+ end
27
+ end
28
+
29
+ end
30
+ end
31
+ end
@@ -0,0 +1,17 @@
1
+ module Sportradar
2
+ module Api
3
+ class Nfl::Situation < Data
4
+ attr_accessor :response, :clock, :down, :yfd, :possession, :location
5
+
6
+ def initialize(data)
7
+ @response = data
8
+ @clock = data["clock"]
9
+ @down = data["down"]
10
+ @yfd = data["yfd"]
11
+ @possession = OpenStruct.new data["possession"] if data["possession"]
12
+ @location = OpenStruct.new data["location"] if data["location"]
13
+ end
14
+
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,28 @@
1
+ module Sportradar
2
+ module Api
3
+ class Nfl::Statistic < Data
4
+ attr_accessor :response, :id, :sequence, :reference, :clock, :home_points, :away_points, :type, :play_clock, :wall_clock, :start_situation, :end_situation, :description, :alt_description, :statistics, :score, :scoring_play
5
+
6
+ def initialize(data)
7
+ @response = data
8
+ @alt_description = data["alt_description"]
9
+ @away_points = data["away_points"]
10
+ @clock = data["clock"]
11
+ @description = data["description"]
12
+ @end_situation = Sportradar::Api::Nfl::Situation.new data["end_situation"] if data["end_situation"]
13
+ @home_points = data["home_points"]
14
+ @id = data["id"]
15
+ @play_clock = data["play_clock"]
16
+ @reference = data["reference"]
17
+ @score = data["score"]
18
+ @scoring_play = data["scoring_play"]
19
+ @sequence = data["sequence"]
20
+ @start_situation = Sportradar::Api::Nfl::Situation.new data["start_situation"] if data["start_situation"]
21
+ @statistics = data["statistics"]
22
+ @type = data["type"]
23
+ @wall_clock = data["wall_clock"]
24
+ end
25
+
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,18 @@
1
+ module Sportradar
2
+ module Api
3
+ class Nfl::Summary < Data
4
+ attr_accessor :response, :season, :week, :venue, :home, :away
5
+
6
+
7
+ def initialize(data)
8
+ @response = data
9
+ @season = Sportradar::Api::Nfl::Season.new data["season"] if data["season"]
10
+ @weak = Sportradar::Api::Nfl::weak.new data["weak"] if data["weak"]
11
+ @venue = Sportradar::Api::Nfl::Venue.new data["venue"] if data["venue"]
12
+ @home = Sportradar::Api::Nfl::Team.new data["home"] if data["home"]
13
+ @away = Sportradar::Api::Nfl::Team.new data["away"] if data["away"]
14
+ end
15
+
16
+ end
17
+ end
18
+ end