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.
- checksums.yaml +4 -4
- data/.env.sample +6 -0
- data/.travis.yml +1 -0
- data/Gemfile.lock +32 -30
- data/README.md +12 -9
- data/lib/sportradar/api/baseball/README.md +28 -0
- data/lib/sportradar/api/baseball/error.rb +25 -0
- data/lib/sportradar/api/baseball/event.rb +44 -0
- data/lib/sportradar/api/baseball/events/at_bat.rb +96 -0
- data/lib/sportradar/api/baseball/events/lineup.rb +41 -0
- data/lib/sportradar/api/baseball/events/warming_up.rb +35 -0
- data/lib/sportradar/api/baseball/fielder.rb +26 -0
- data/lib/sportradar/api/baseball/game.rb +472 -0
- data/lib/sportradar/api/baseball/half_inning.rb +69 -0
- data/lib/sportradar/api/baseball/inning.rb +42 -0
- data/lib/sportradar/api/baseball/lineup.rb +116 -0
- data/lib/sportradar/api/baseball/mlb/division.rb +32 -0
- data/lib/sportradar/api/baseball/mlb/hierarchy.rb +273 -0
- data/lib/sportradar/api/baseball/mlb/league.rb +27 -0
- data/lib/sportradar/api/baseball/mlb.rb +84 -0
- data/lib/sportradar/api/baseball/outcome.rb +87 -0
- data/lib/sportradar/api/baseball/pitch.rb +245 -0
- data/lib/sportradar/api/baseball/player.rb +119 -0
- data/lib/sportradar/api/baseball/record.rb +42 -0
- data/lib/sportradar/api/baseball/runner.rb +78 -0
- data/lib/sportradar/api/baseball/scoring.rb +86 -0
- data/lib/sportradar/api/baseball/team.rb +147 -0
- data/lib/sportradar/api/baseball/venue.rb +51 -0
- data/lib/sportradar/api/baseball.rb +46 -0
- data/lib/sportradar/api/basketball/broadcast.rb +15 -0
- data/lib/sportradar/api/basketball/game.rb +339 -0
- data/lib/sportradar/api/basketball/injury.rb +41 -0
- data/lib/sportradar/api/basketball/nba/conference.rb +27 -0
- data/lib/sportradar/api/basketball/nba/division.rb +30 -0
- data/lib/sportradar/api/basketball/nba/game.rb +62 -0
- data/lib/sportradar/api/basketball/nba/hierarchy.rb +47 -0
- data/lib/sportradar/api/basketball/nba/player.rb +160 -0
- data/lib/sportradar/api/basketball/nba/quarter.rb +51 -0
- data/lib/sportradar/api/basketball/nba/schedule.rb +43 -0
- data/lib/sportradar/api/basketball/nba/scoring.rb +15 -0
- data/lib/sportradar/api/basketball/nba/season.rb +54 -0
- data/lib/sportradar/api/basketball/nba/series.rb +82 -0
- data/lib/sportradar/api/basketball/nba/team.rb +74 -0
- data/lib/sportradar/api/basketball/nba.rb +129 -0
- data/lib/sportradar/api/basketball/ncaamb/bracket.rb +44 -0
- data/lib/sportradar/api/basketball/ncaamb/conference.rb +41 -0
- data/lib/sportradar/api/basketball/ncaamb/division.rb +42 -0
- data/lib/sportradar/api/basketball/ncaamb/game.rb +75 -0
- data/lib/sportradar/api/basketball/ncaamb/half.rb +49 -0
- data/lib/sportradar/api/basketball/ncaamb/hierarchy.rb +65 -0
- data/lib/sportradar/api/basketball/ncaamb/player.rb +162 -0
- data/lib/sportradar/api/basketball/ncaamb/round.rb +55 -0
- data/lib/sportradar/api/basketball/ncaamb/schedule.rb +41 -0
- data/lib/sportradar/api/basketball/ncaamb/season.rb +55 -0
- data/lib/sportradar/api/basketball/ncaamb/team.rb +61 -0
- data/lib/sportradar/api/basketball/ncaamb/tournament.rb +154 -0
- data/lib/sportradar/api/basketball/ncaamb.rb +149 -0
- data/lib/sportradar/api/basketball/play.rb +75 -0
- data/lib/sportradar/api/basketball/plays/assist.rb +14 -0
- data/lib/sportradar/api/basketball/plays/base.rb +126 -0
- data/lib/sportradar/api/basketball/plays/block.rb +14 -0
- data/lib/sportradar/api/basketball/plays/clear_path_foul.rb +11 -0
- data/lib/sportradar/api/basketball/plays/deadball.rb +11 -0
- data/lib/sportradar/api/basketball/plays/defensive_three_seconds.rb +11 -0
- data/lib/sportradar/api/basketball/plays/delay.rb +11 -0
- data/lib/sportradar/api/basketball/plays/ejection.rb +14 -0
- data/lib/sportradar/api/basketball/plays/end_period.rb +28 -0
- data/lib/sportradar/api/basketball/plays/flagrant_one.rb +11 -0
- data/lib/sportradar/api/basketball/plays/flagrant_two.rb +11 -0
- data/lib/sportradar/api/basketball/plays/foul.rb +17 -0
- data/lib/sportradar/api/basketball/plays/free_throw_made.rb +23 -0
- data/lib/sportradar/api/basketball/plays/free_throw_miss.rb +25 -0
- data/lib/sportradar/api/basketball/plays/jumpball.rb +12 -0
- data/lib/sportradar/api/basketball/plays/kickball.rb +11 -0
- data/lib/sportradar/api/basketball/plays/lineup_change.rb +11 -0
- data/lib/sportradar/api/basketball/plays/offensive_foul.rb +11 -0
- data/lib/sportradar/api/basketball/plays/official_timeout.rb +11 -0
- data/lib/sportradar/api/basketball/plays/open_inbound.rb +9 -0
- data/lib/sportradar/api/basketball/plays/open_tip.rb +11 -0
- data/lib/sportradar/api/basketball/plays/personal_foul.rb +9 -0
- data/lib/sportradar/api/basketball/plays/rebound.rb +28 -0
- data/lib/sportradar/api/basketball/plays/review.rb +11 -0
- data/lib/sportradar/api/basketball/plays/shooting_foul.rb +9 -0
- data/lib/sportradar/api/basketball/plays/shot_made.rb +22 -0
- data/lib/sportradar/api/basketball/plays/shot_miss.rb +22 -0
- data/lib/sportradar/api/basketball/plays/steal.rb +11 -0
- data/lib/sportradar/api/basketball/plays/team_timeout.rb +14 -0
- data/lib/sportradar/api/basketball/plays/technical_foul.rb +14 -0
- data/lib/sportradar/api/basketball/plays/three_point_made.rb +14 -0
- data/lib/sportradar/api/basketball/plays/three_point_miss.rb +11 -0
- data/lib/sportradar/api/basketball/plays/timeout.rb +24 -0
- data/lib/sportradar/api/basketball/plays/turnover.rb +19 -0
- data/lib/sportradar/api/basketball/plays/tv_timeout.rb +11 -0
- data/lib/sportradar/api/basketball/plays/two_point_made.rb +14 -0
- data/lib/sportradar/api/basketball/plays/two_point_miss.rb +11 -0
- data/lib/sportradar/api/basketball/plays.rb +39 -0
- data/lib/sportradar/api/basketball/record.rb +28 -0
- data/lib/sportradar/api/basketball/scoring.rb +103 -0
- data/lib/sportradar/api/basketball/season.rb +20 -0
- data/lib/sportradar/api/basketball/team.rb +136 -0
- data/lib/sportradar/api/basketball/venue.rb +54 -0
- data/lib/sportradar/api/basketball.rb +35 -0
- data/lib/sportradar/api/{nfl/broadcast.rb → broadcast.rb} +1 -1
- data/lib/sportradar/api/content/article.rb +1 -1
- data/lib/sportradar/api/content/article_list.rb +1 -1
- data/lib/sportradar/api/content.rb +17 -5
- data/lib/sportradar/api/data.rb +53 -0
- data/lib/sportradar/api/football/README.md +62 -0
- data/lib/sportradar/api/football/drive.rb +114 -0
- data/lib/sportradar/api/football/event.rb +36 -0
- data/lib/sportradar/api/football/game.rb +404 -0
- data/lib/sportradar/api/football/game_stats.rb +135 -0
- data/lib/sportradar/api/football/ncaafb/api.rb +81 -0
- data/lib/sportradar/api/football/ncaafb/conference.rb +53 -0
- data/lib/sportradar/api/football/ncaafb/division.rb +42 -0
- data/lib/sportradar/api/football/ncaafb/drive.rb +36 -0
- data/lib/sportradar/api/football/ncaafb/game.rb +130 -0
- data/lib/sportradar/api/football/ncaafb/play.rb +97 -0
- data/lib/sportradar/api/football/ncaafb/player.rb +31 -0
- data/lib/sportradar/api/football/ncaafb/quarter.rb +15 -0
- data/lib/sportradar/api/football/ncaafb/subdivision.rb +43 -0
- data/lib/sportradar/api/football/ncaafb/team.rb +49 -0
- data/lib/sportradar/api/football/ncaafb/week.rb +24 -0
- data/lib/sportradar/api/football/ncaafb.rb +273 -0
- data/lib/sportradar/api/football/nfl/api.rb +76 -0
- data/lib/sportradar/api/football/nfl/conference.rb +35 -0
- data/lib/sportradar/api/football/nfl/depth_chart.rb +53 -0
- data/lib/sportradar/api/football/nfl/division.rb +37 -0
- data/lib/sportradar/api/football/nfl/drive.rb +19 -0
- data/lib/sportradar/api/football/nfl/event.rb +19 -0
- data/lib/sportradar/api/football/nfl/game.rb +77 -0
- data/lib/sportradar/api/football/nfl/league_depth_chart.rb +41 -0
- data/lib/sportradar/api/football/nfl/play.rb +27 -0
- data/lib/sportradar/api/football/nfl/player.rb +31 -0
- data/lib/sportradar/api/football/nfl/quarter.rb +15 -0
- data/lib/sportradar/api/football/nfl/team.rb +42 -0
- data/lib/sportradar/api/football/nfl/team_depth_chart.rb +44 -0
- data/lib/sportradar/api/football/nfl/week.rb +24 -0
- data/lib/sportradar/api/football/nfl.rb +322 -0
- data/lib/sportradar/api/football/play.rb +116 -0
- data/lib/sportradar/api/football/play_statistics.rb +313 -0
- data/lib/sportradar/api/football/player.rb +121 -0
- data/lib/sportradar/api/football/quarter.rb +46 -0
- data/lib/sportradar/api/football/record.rb +48 -0
- data/lib/sportradar/api/football/scoring.rb +92 -0
- data/lib/sportradar/api/football/situation.rb +32 -0
- data/lib/sportradar/api/football/stat_pack/defense.rb +20 -20
- data/lib/sportradar/api/football/stat_pack/extra_points.rb +5 -4
- data/lib/sportradar/api/football/stat_pack/field_goals.rb +6 -5
- data/lib/sportradar/api/football/stat_pack/fumbles.rb +11 -9
- data/lib/sportradar/api/football/stat_pack/kick_returns.rb +8 -7
- data/lib/sportradar/api/football/stat_pack/kickoffs.rb +9 -7
- data/lib/sportradar/api/football/stat_pack/misc_returns.rb +1 -1
- data/lib/sportradar/api/football/stat_pack/passing.rb +13 -11
- data/lib/sportradar/api/football/stat_pack/penalties.rb +2 -2
- data/lib/sportradar/api/football/stat_pack/punt_returns.rb +7 -6
- data/lib/sportradar/api/football/stat_pack/punts.rb +12 -10
- data/lib/sportradar/api/football/stat_pack/receiving.rb +10 -9
- data/lib/sportradar/api/football/stat_pack/rushing.rb +11 -9
- data/lib/sportradar/api/football/stat_pack.rb +7 -3
- data/lib/sportradar/api/football/team.rb +160 -0
- data/lib/sportradar/api/football/venue.rb +25 -0
- data/lib/sportradar/api/football/week.rb +57 -0
- data/lib/sportradar/api/football.rb +47 -0
- data/lib/sportradar/api/images/asset.rb +2 -1
- data/lib/sportradar/api/images/ref.rb +15 -0
- data/lib/sportradar/api/images.rb +51 -9
- data/lib/sportradar/api/mma/event.rb +111 -0
- data/lib/sportradar/api/mma/fight.rb +107 -0
- data/lib/sportradar/api/mma/fighter.rb +95 -0
- data/lib/sportradar/api/mma/judge.rb +70 -0
- data/lib/sportradar/api/mma/league.rb +63 -0
- data/lib/sportradar/api/mma/referee.rb +70 -0
- data/lib/sportradar/api/mma/result.rb +68 -0
- data/lib/sportradar/api/mma/roster.rb +72 -0
- data/lib/sportradar/api/mma/schedule.rb +53 -0
- data/lib/sportradar/api/mma/score.rb +83 -0
- data/lib/sportradar/api/mma/venue.rb +72 -0
- data/lib/sportradar/api/mma.rb +195 -0
- data/lib/sportradar/api/poll.rb +40 -0
- data/lib/sportradar/api/request.rb +40 -8
- data/lib/sportradar/api/soccer/schedule.rb +1 -0
- data/lib/sportradar/api/version.rb +1 -1
- data/lib/sportradar/api.rb +20 -34
- metadata +157 -34
- data/lib/sportradar/api/nfl/.play_statistics.rb.swo +0 -0
- data/lib/sportradar/api/nfl/changelog.rb +0 -17
- data/lib/sportradar/api/nfl/coach.rb +0 -17
- data/lib/sportradar/api/nfl/conference.rb +0 -16
- data/lib/sportradar/api/nfl/depth_chart.rb +0 -47
- data/lib/sportradar/api/nfl/division.rb +0 -16
- data/lib/sportradar/api/nfl/draft.rb +0 -16
- data/lib/sportradar/api/nfl/drive.rb +0 -73
- data/lib/sportradar/api/nfl/event.rb +0 -19
- data/lib/sportradar/api/nfl/franchise.rb +0 -14
- data/lib/sportradar/api/nfl/game.rb +0 -94
- data/lib/sportradar/api/nfl/game_statistic.rb +0 -133
- data/lib/sportradar/api/nfl/hierarchy.rb +0 -19
- data/lib/sportradar/api/nfl/injury.rb +0 -16
- data/lib/sportradar/api/nfl/league_depth_chart.rb +0 -26
- data/lib/sportradar/api/nfl/play.rb +0 -39
- data/lib/sportradar/api/nfl/play_statistics.rb +0 -247
- data/lib/sportradar/api/nfl/player.rb +0 -49
- data/lib/sportradar/api/nfl/position.rb +0 -14
- data/lib/sportradar/api/nfl/quarter.rb +0 -29
- data/lib/sportradar/api/nfl/scoring.rb +0 -25
- data/lib/sportradar/api/nfl/season.rb +0 -23
- data/lib/sportradar/api/nfl/situation.rb +0 -18
- data/lib/sportradar/api/nfl/statistic.rb +0 -28
- data/lib/sportradar/api/nfl/summary.rb +0 -17
- data/lib/sportradar/api/nfl/team.rb +0 -56
- data/lib/sportradar/api/nfl/team_depth_chart.rb +0 -44
- data/lib/sportradar/api/nfl/venue.rb +0 -22
- data/lib/sportradar/api/nfl/week.rb +0 -16
- data/lib/sportradar/api/nfl.rb +0 -205
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
module Sportradar
|
|
2
|
+
module Api
|
|
3
|
+
module Basketball
|
|
4
|
+
class EndPeriod < Play::Base
|
|
5
|
+
def display_type
|
|
6
|
+
''
|
|
7
|
+
end
|
|
8
|
+
|
|
9
|
+
def end_of_period?
|
|
10
|
+
true
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
def quarter_break?
|
|
14
|
+
["End of 1st Quarter.", "End of 3rd Quarter."].include? description
|
|
15
|
+
end
|
|
16
|
+
def end_of_regulation?
|
|
17
|
+
description == "End of 4th Quarter." || description == "End of 2nd Half."
|
|
18
|
+
end
|
|
19
|
+
def end_of_ot?
|
|
20
|
+
description.start_with?("End of ") && description.end_with?(" OT.")
|
|
21
|
+
end
|
|
22
|
+
def halftime?
|
|
23
|
+
description == 'End of 1st Half.'
|
|
24
|
+
end
|
|
25
|
+
end
|
|
26
|
+
end
|
|
27
|
+
end
|
|
28
|
+
end
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
module Sportradar
|
|
2
|
+
module Api
|
|
3
|
+
module Basketball
|
|
4
|
+
class FreeThrowMade < ShotMade
|
|
5
|
+
def base_key
|
|
6
|
+
"freethrow"
|
|
7
|
+
end
|
|
8
|
+
def display_type
|
|
9
|
+
'FT Made'
|
|
10
|
+
end
|
|
11
|
+
def free_throw_type
|
|
12
|
+
@free_throw_type ||= @statistics.dig(base_key, "free_throw_type")
|
|
13
|
+
end
|
|
14
|
+
def made?
|
|
15
|
+
true
|
|
16
|
+
end
|
|
17
|
+
def points
|
|
18
|
+
1
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
end
|
|
22
|
+
end
|
|
23
|
+
end
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
module Sportradar
|
|
2
|
+
module Api
|
|
3
|
+
module Basketball
|
|
4
|
+
class FreeThrowMiss < ShotMiss
|
|
5
|
+
def base_key
|
|
6
|
+
"freethrow"
|
|
7
|
+
end
|
|
8
|
+
def display_type
|
|
9
|
+
'FT Miss'
|
|
10
|
+
end
|
|
11
|
+
def free_throw_type
|
|
12
|
+
@free_throw_type ||= @statistics.dig(base_key, "free_throw_type")
|
|
13
|
+
end
|
|
14
|
+
def made?
|
|
15
|
+
false
|
|
16
|
+
end
|
|
17
|
+
def player_id
|
|
18
|
+
stats = @statistics
|
|
19
|
+
stats = stats[0] if stats.is_a?(Array)
|
|
20
|
+
@player_id ||= stats&.dig("player", "id") # safe operator is specifically for lane violations, which have no player_id and should not be assigned a player
|
|
21
|
+
end
|
|
22
|
+
end
|
|
23
|
+
end
|
|
24
|
+
end
|
|
25
|
+
end
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
module Sportradar
|
|
2
|
+
module Api
|
|
3
|
+
module Basketball
|
|
4
|
+
class Rebound < Play::Base
|
|
5
|
+
def base_key
|
|
6
|
+
'rebound'
|
|
7
|
+
end
|
|
8
|
+
def display_type
|
|
9
|
+
'Rebound'
|
|
10
|
+
end
|
|
11
|
+
def defensive?
|
|
12
|
+
@rebound_type == 'defensive'
|
|
13
|
+
end
|
|
14
|
+
def offensive?
|
|
15
|
+
@rebound_type == 'offensive'
|
|
16
|
+
end
|
|
17
|
+
def parse_statistics(data)
|
|
18
|
+
super
|
|
19
|
+
stat = @statistics.dig(base_key)
|
|
20
|
+
stat = stat[0] if stat.is_a?(Array)
|
|
21
|
+
@rebound_type = stat['rebound_type']
|
|
22
|
+
rescue => e
|
|
23
|
+
# noop => bad data from SR
|
|
24
|
+
end
|
|
25
|
+
end
|
|
26
|
+
end
|
|
27
|
+
end
|
|
28
|
+
end
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
module Sportradar
|
|
2
|
+
module Api
|
|
3
|
+
module Basketball
|
|
4
|
+
class ShotMade < Play::Base
|
|
5
|
+
attr_reader :shot_type, :shot_type_desc, :assist
|
|
6
|
+
def base_key
|
|
7
|
+
"fieldgoal"
|
|
8
|
+
end
|
|
9
|
+
def parse_statistics(data)
|
|
10
|
+
super
|
|
11
|
+
stat = @statistics.detect { |hash| hash['type'] == base_key }
|
|
12
|
+
@shot_type = stat['shot_type']
|
|
13
|
+
@shot_type_desc = stat['shot_type_desc']
|
|
14
|
+
@assist = Assist.new(data, quarter: @quarter, half: @half) if @statistics.detect { |hash| hash['type'] == 'assist' }
|
|
15
|
+
end
|
|
16
|
+
def made?
|
|
17
|
+
true
|
|
18
|
+
end
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
end
|
|
22
|
+
end
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
module Sportradar
|
|
2
|
+
module Api
|
|
3
|
+
module Basketball
|
|
4
|
+
class ShotMiss < Play::Base
|
|
5
|
+
attr_reader :shot_type, :shot_type_desc, :block
|
|
6
|
+
def base_key
|
|
7
|
+
"fieldgoal"
|
|
8
|
+
end
|
|
9
|
+
def parse_statistics(data)
|
|
10
|
+
super
|
|
11
|
+
stat = @statistics.detect { |hash| hash['type'] == base_key }
|
|
12
|
+
@shot_type = stat['shot_type']
|
|
13
|
+
@shot_type_desc = stat['shot_type_desc']
|
|
14
|
+
@block = Block.new(data, quarter: @quarter, half: @half) if @statistics.detect { |hash| hash['type'] == 'block' }
|
|
15
|
+
end
|
|
16
|
+
def made?
|
|
17
|
+
false
|
|
18
|
+
end
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
end
|
|
22
|
+
end
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
module Sportradar
|
|
2
|
+
module Api
|
|
3
|
+
module Basketball
|
|
4
|
+
class Timeout < Play::Base
|
|
5
|
+
attr_writer :media_timeout
|
|
6
|
+
def display_type
|
|
7
|
+
'Timeout'
|
|
8
|
+
end
|
|
9
|
+
def tv?
|
|
10
|
+
false
|
|
11
|
+
end
|
|
12
|
+
def timeout?
|
|
13
|
+
true
|
|
14
|
+
end
|
|
15
|
+
def full?
|
|
16
|
+
true
|
|
17
|
+
end
|
|
18
|
+
def media_timeout?
|
|
19
|
+
@media_timeout
|
|
20
|
+
end
|
|
21
|
+
end
|
|
22
|
+
end
|
|
23
|
+
end
|
|
24
|
+
end
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
module Sportradar
|
|
2
|
+
module Api
|
|
3
|
+
module Basketball
|
|
4
|
+
class Turnover < Play::Base
|
|
5
|
+
attr_reader :steal
|
|
6
|
+
def base_key
|
|
7
|
+
'turnover'
|
|
8
|
+
end
|
|
9
|
+
def display_type
|
|
10
|
+
'Turnover'
|
|
11
|
+
end
|
|
12
|
+
def parse_statistics(data)
|
|
13
|
+
super
|
|
14
|
+
@steal = Steal.new(data, quarter: @quarter, half: @half) if @statistics.detect { |hash| hash['type'] == 'steal' }
|
|
15
|
+
end
|
|
16
|
+
end
|
|
17
|
+
end
|
|
18
|
+
end
|
|
19
|
+
end
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
require_relative 'play'
|
|
2
|
+
|
|
3
|
+
require_relative 'plays/base'
|
|
4
|
+
require_relative 'plays/timeout'
|
|
5
|
+
require_relative 'plays/foul'
|
|
6
|
+
require_relative 'plays/end_period'
|
|
7
|
+
require_relative 'plays/assist'
|
|
8
|
+
require_relative 'plays/block'
|
|
9
|
+
require_relative 'plays/shot_made'
|
|
10
|
+
require_relative 'plays/shot_miss'
|
|
11
|
+
require_relative 'plays/free_throw_made'
|
|
12
|
+
require_relative 'plays/free_throw_miss'
|
|
13
|
+
require_relative 'plays/jumpball'
|
|
14
|
+
require_relative 'plays/deadball'
|
|
15
|
+
require_relative 'plays/kickball'
|
|
16
|
+
require_relative 'plays/lineup_change'
|
|
17
|
+
require_relative 'plays/offensive_foul'
|
|
18
|
+
require_relative 'plays/official_timeout'
|
|
19
|
+
require_relative 'plays/open_inbound'
|
|
20
|
+
require_relative 'plays/open_tip'
|
|
21
|
+
require_relative 'plays/personal_foul'
|
|
22
|
+
require_relative 'plays/rebound'
|
|
23
|
+
require_relative 'plays/shooting_foul'
|
|
24
|
+
require_relative 'plays/team_timeout'
|
|
25
|
+
require_relative 'plays/three_point_made'
|
|
26
|
+
require_relative 'plays/three_point_miss'
|
|
27
|
+
require_relative 'plays/steal'
|
|
28
|
+
require_relative 'plays/turnover'
|
|
29
|
+
require_relative 'plays/tv_timeout'
|
|
30
|
+
require_relative 'plays/two_point_made'
|
|
31
|
+
require_relative 'plays/two_point_miss'
|
|
32
|
+
require_relative 'plays/clear_path_foul'
|
|
33
|
+
require_relative 'plays/technical_foul'
|
|
34
|
+
require_relative 'plays/review'
|
|
35
|
+
require_relative 'plays/defensive_three_seconds'
|
|
36
|
+
require_relative 'plays/flagrant_one'
|
|
37
|
+
require_relative 'plays/flagrant_two'
|
|
38
|
+
require_relative 'plays/delay'
|
|
39
|
+
require_relative 'plays/ejection'
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
module Sportradar
|
|
2
|
+
module Api
|
|
3
|
+
module Basketball
|
|
4
|
+
class Record < Data
|
|
5
|
+
attr_accessor :id, :team, :wins, :losses, :win_pct, :points_for, :points_against, :point_diff, :games_behind, :streak
|
|
6
|
+
|
|
7
|
+
def initialize(data, type: 'overall', **opts)
|
|
8
|
+
@team = opts[:team]
|
|
9
|
+
@type = type
|
|
10
|
+
|
|
11
|
+
update(data, **opts)
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
def update(data, **opts)
|
|
15
|
+
@wins = data['wins'].to_i
|
|
16
|
+
@losses = data['losses'].to_i
|
|
17
|
+
@win_pct = data['win_pct'].to_f
|
|
18
|
+
@points_for = data['points_for']
|
|
19
|
+
@points_against = data['points_against']
|
|
20
|
+
@point_diff = data['point_diff']
|
|
21
|
+
@games_behind = data['games_behind']
|
|
22
|
+
@streak = data['streak']
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
end
|
|
26
|
+
end
|
|
27
|
+
end
|
|
28
|
+
end
|