sportradar-api 0.1.4 → 0.1.5

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 (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