nba 0.1.1 → 0.2.0
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 +5 -5
- data/AGENTS.md +362 -0
- data/CHANGELOG.md +169 -0
- data/CLAUDE.md +1 -0
- data/LICENSE +21 -0
- data/README.md +501 -101
- data/bin/console +10 -0
- data/bin/setup +6 -0
- data/exe/nba +8 -0
- data/lib/nba/all_time_leader.rb +77 -0
- data/lib/nba/all_time_leaders.rb +185 -0
- data/lib/nba/assist_leader.rb +92 -0
- data/lib/nba/assist_leaders.rb +64 -0
- data/lib/nba/assist_tracker.rb +108 -0
- data/lib/nba/assist_tracker_entry.rb +206 -0
- data/lib/nba/award.rb +128 -0
- data/lib/nba/box_score.rb +2 -0
- data/lib/nba/box_score_advanced.rb +114 -0
- data/lib/nba/box_score_advanced_player_stat.rb +297 -0
- data/lib/nba/box_score_advanced_team_stat.rb +237 -0
- data/lib/nba/box_score_advanced_v3.rb +124 -0
- data/lib/nba/box_score_defensive_player_stat.rb +281 -0
- data/lib/nba/box_score_defensive_team_stat.rb +85 -0
- data/lib/nba/box_score_defensive_v2.rb +190 -0
- data/lib/nba/box_score_four_factors.rb +91 -0
- data/lib/nba/box_score_four_factors_player_stat.rb +185 -0
- data/lib/nba/box_score_four_factors_team_stat.rb +141 -0
- data/lib/nba/box_score_four_factors_v3.rb +133 -0
- data/lib/nba/box_score_hustle.rb +226 -0
- data/lib/nba/box_score_hustle_player_stat.rb +233 -0
- data/lib/nba/box_score_hustle_team_stat.rb +189 -0
- data/lib/nba/box_score_matchup_stat.rb +417 -0
- data/lib/nba/box_score_matchups_v3.rb +184 -0
- data/lib/nba/box_score_misc.rb +100 -0
- data/lib/nba/box_score_misc_player_stat.rb +217 -0
- data/lib/nba/box_score_misc_team_stat.rb +173 -0
- data/lib/nba/box_score_misc_v3.rb +163 -0
- data/lib/nba/box_score_player_stat.rb +273 -0
- data/lib/nba/box_score_player_track.rb +223 -0
- data/lib/nba/box_score_player_track_stat.rb +273 -0
- data/lib/nba/box_score_player_track_team_stat.rb +229 -0
- data/lib/nba/box_score_scoring.rb +103 -0
- data/lib/nba/box_score_scoring_player_stat.rb +241 -0
- data/lib/nba/box_score_scoring_team_stat.rb +197 -0
- data/lib/nba/box_score_scoring_v3.rb +170 -0
- data/lib/nba/box_score_similarity_score.rb +119 -0
- data/lib/nba/box_score_similarity_stat.rb +76 -0
- data/lib/nba/box_score_starter_bench_stat.rb +257 -0
- data/lib/nba/box_score_summary.rb +285 -0
- data/lib/nba/box_score_summary_v2.rb +202 -0
- data/lib/nba/box_score_summary_v3.rb +120 -0
- data/lib/nba/box_score_summary_v3_data.rb +419 -0
- data/lib/nba/box_score_team_stat.rb +229 -0
- data/lib/nba/box_score_traditional.rb +101 -0
- data/lib/nba/box_score_traditional_v3.rb +195 -0
- data/lib/nba/box_score_usage.rb +102 -0
- data/lib/nba/box_score_usage_player_stat.rb +265 -0
- data/lib/nba/box_score_usage_team_stat.rb +221 -0
- data/lib/nba/box_score_usage_v3.rb +169 -0
- data/lib/nba/box_score_v3_helpers.rb +144 -0
- data/lib/nba/career_stats.rb +217 -0
- data/lib/nba/cli/display/player_display.rb +98 -0
- data/lib/nba/cli/display.rb +178 -0
- data/lib/nba/cli/formatters/game_formatters.rb +86 -0
- data/lib/nba/cli/formatters/leaders_formatters.rb +26 -0
- data/lib/nba/cli/formatters/player_formatters.rb +52 -0
- data/lib/nba/cli/formatters/standings_formatters.rb +26 -0
- data/lib/nba/cli/formatters/team_formatters.rb +67 -0
- data/lib/nba/cli/formatters/time_formatters.rb +82 -0
- data/lib/nba/cli/formatters.rb +56 -0
- data/lib/nba/cli/helpers.rb +135 -0
- data/lib/nba/cli.rb +171 -20
- data/lib/nba/client.rb +35 -0
- data/lib/nba/collection.rb +89 -0
- data/lib/nba/college_player_stat.rb +200 -0
- data/lib/nba/common_player_info.rb +142 -0
- data/lib/nba/common_playoff_series.rb +90 -0
- data/lib/nba/common_team_years.rb +113 -0
- data/lib/nba/conference.rb +39 -0
- data/lib/nba/connection.rb +84 -0
- data/lib/nba/cume_stats_player.rb +358 -0
- data/lib/nba/cume_stats_player_game.rb +217 -0
- data/lib/nba/cume_stats_player_games.rb +99 -0
- data/lib/nba/cume_stats_player_games_entry.rb +25 -0
- data/lib/nba/cume_stats_player_total.rb +481 -0
- data/lib/nba/cume_stats_team.rb +349 -0
- data/lib/nba/cume_stats_team_games.rb +145 -0
- data/lib/nba/cume_stats_team_games_entry.rb +25 -0
- data/lib/nba/cume_stats_team_player.rb +485 -0
- data/lib/nba/cume_stats_team_total.rb +267 -0
- data/lib/nba/data.rb +73 -0
- data/lib/nba/defense_hub.rb +109 -0
- data/lib/nba/defense_hub_stat.rb +57 -0
- data/lib/nba/defensive_shot_stat.rb +102 -0
- data/lib/nba/division.rb +49 -0
- data/lib/nba/draft_board.rb +126 -0
- data/lib/nba/draft_board_pick.rb +173 -0
- data/lib/nba/draft_combine_anthro_measurement.rb +163 -0
- data/lib/nba/draft_combine_drill_result.rb +115 -0
- data/lib/nba/draft_combine_drill_results.rb +112 -0
- data/lib/nba/draft_combine_non_stationary_shooting.rb +268 -0
- data/lib/nba/draft_combine_non_stationary_shooting_result.rb +355 -0
- data/lib/nba/draft_combine_player_anthro.rb +133 -0
- data/lib/nba/draft_combine_spot_shooting.rb +243 -0
- data/lib/nba/draft_combine_spot_shooting_result.rb +419 -0
- data/lib/nba/draft_combine_stat.rb +211 -0
- data/lib/nba/draft_combine_stats.rb +160 -0
- data/lib/nba/draft_history.rb +142 -0
- data/lib/nba/draft_pick.rb +154 -0
- data/lib/nba/dunk_score_leader.rb +93 -0
- data/lib/nba/dunk_score_leaders.rb +77 -0
- data/lib/nba/estimated_metrics_stat.rb +152 -0
- data/lib/nba/fantasy_profile_stat.rb +142 -0
- data/lib/nba/fantasy_widget.rb +72 -0
- data/lib/nba/fantasy_widget_player.rb +98 -0
- data/lib/nba/found_game.rb +260 -0
- data/lib/nba/franchise.rb +136 -0
- data/lib/nba/franchise_history.rb +142 -0
- data/lib/nba/franchise_leader.rb +147 -0
- data/lib/nba/franchise_leaders.rb +162 -0
- data/lib/nba/franchise_player.rb +224 -0
- data/lib/nba/franchise_players.rb +147 -0
- data/lib/nba/game.rb +80 -64
- data/lib/nba/game_log.rb +349 -0
- data/lib/nba/game_rotation.rb +152 -0
- data/lib/nba/game_streak.rb +102 -0
- data/lib/nba/games.rb +46 -0
- data/lib/nba/home_page_leader.rb +99 -0
- data/lib/nba/home_page_leaders.rb +75 -0
- data/lib/nba/home_page_stat.rb +57 -0
- data/lib/nba/home_page_v2.rb +110 -0
- data/lib/nba/hustle_stats_box_score.rb +182 -0
- data/lib/nba/infographic_fan_duel_player.rb +139 -0
- data/lib/nba/infographic_fan_duel_player_stat.rb +311 -0
- data/lib/nba/ist_standing.rb +167 -0
- data/lib/nba/ist_standings.rb +81 -0
- data/lib/nba/leader.rb +103 -0
- data/lib/nba/leaders.rb +110 -0
- data/lib/nba/leaders_tile.rb +57 -0
- data/lib/nba/leaders_tiles.rb +90 -0
- data/lib/nba/league.rb +37 -0
- data/lib/nba/league_dash_lineup_stat.rb +270 -0
- data/lib/nba/league_dash_lineups.rb +177 -0
- data/lib/nba/league_dash_opp_pt_shot.rb +150 -0
- data/lib/nba/league_dash_player_bio_stat.rb +217 -0
- data/lib/nba/league_dash_player_bio_stats.rb +164 -0
- data/lib/nba/league_dash_player_clutch.rb +212 -0
- data/lib/nba/league_dash_player_clutch_stat.rb +271 -0
- data/lib/nba/league_dash_player_pt_shot.rb +152 -0
- data/lib/nba/league_dash_player_pt_shot_stat.rb +193 -0
- data/lib/nba/league_dash_player_shot_location_stat.rb +265 -0
- data/lib/nba/league_dash_player_shot_locations.rb +210 -0
- data/lib/nba/league_dash_player_stat.rb +306 -0
- data/lib/nba/league_dash_player_stats.rb +176 -0
- data/lib/nba/league_dash_pt_defend.rb +160 -0
- data/lib/nba/league_dash_pt_defend_stat.rb +145 -0
- data/lib/nba/league_dash_pt_stats.rb +152 -0
- data/lib/nba/league_dash_pt_stats_stat.rb +169 -0
- data/lib/nba/league_dash_pt_team_defend.rb +158 -0
- data/lib/nba/league_dash_pt_team_defend_stat.rb +110 -0
- data/lib/nba/league_dash_team_clutch.rb +211 -0
- data/lib/nba/league_dash_team_clutch_stat.rb +237 -0
- data/lib/nba/league_dash_team_pt_shot.rb +150 -0
- data/lib/nba/league_dash_team_pt_shot_stat.rb +166 -0
- data/lib/nba/league_dash_team_shot_location_stat.rb +230 -0
- data/lib/nba/league_dash_team_shot_locations.rb +208 -0
- data/lib/nba/league_dash_team_stat.rb +275 -0
- data/lib/nba/league_dash_team_stats.rb +172 -0
- data/lib/nba/league_game_finder.rb +170 -0
- data/lib/nba/league_game_log.rb +224 -0
- data/lib/nba/league_hustle_stats_player.rb +161 -0
- data/lib/nba/league_hustle_stats_player_stat.rb +253 -0
- data/lib/nba/league_hustle_stats_team.rb +157 -0
- data/lib/nba/league_hustle_stats_team_stat.rb +179 -0
- data/lib/nba/league_lineup_viz.rb +184 -0
- data/lib/nba/league_lineup_viz_stat.rb +214 -0
- data/lib/nba/league_player_on_details.rb +175 -0
- data/lib/nba/league_player_on_details_stat.rb +313 -0
- data/lib/nba/league_season_matchup_stat.rb +241 -0
- data/lib/nba/league_season_matchups.rb +181 -0
- data/lib/nba/league_standing.rb +284 -0
- data/lib/nba/league_standings.rb +159 -0
- data/lib/nba/league_wide_shot_stat.rb +62 -0
- data/lib/nba/live_action.rb +240 -0
- data/lib/nba/live_box_score.rb +143 -0
- data/lib/nba/live_connection.rb +84 -0
- data/lib/nba/live_game.rb +230 -0
- data/lib/nba/live_play_by_play.rb +120 -0
- data/lib/nba/live_player_stat.rb +276 -0
- data/lib/nba/live_scoreboard.rb +102 -0
- data/lib/nba/matchup_rollup.rb +98 -0
- data/lib/nba/matchups_rollup.rb +81 -0
- data/lib/nba/pass_stat.rb +209 -0
- data/lib/nba/play.rb +258 -0
- data/lib/nba/play_by_play.rb +85 -0
- data/lib/nba/play_by_play_v3.rb +91 -0
- data/lib/nba/play_type_stat.rb +206 -0
- data/lib/nba/player.rb +242 -24
- data/lib/nba/player_awards.rb +110 -0
- data/lib/nba/player_career_by_college.rb +86 -0
- data/lib/nba/player_career_by_college_rollup.rb +143 -0
- data/lib/nba/player_career_stats.rb +77 -0
- data/lib/nba/player_compare.rb +156 -0
- data/lib/nba/player_comparison_stat.rb +242 -0
- data/lib/nba/player_dash_pt_pass.rb +164 -0
- data/lib/nba/player_dash_pt_reb.rb +235 -0
- data/lib/nba/player_dash_pt_shot_defend.rb +119 -0
- data/lib/nba/player_dash_pt_shots.rb +279 -0
- data/lib/nba/player_dashboard.rb +259 -0
- data/lib/nba/player_dashboard_stat.rb +248 -0
- data/lib/nba/player_estimated_metrics.rb +84 -0
- data/lib/nba/player_fantasy_profile_bar_graph.rb +147 -0
- data/lib/nba/player_game_log.rb +72 -0
- data/lib/nba/player_game_logs.rb +117 -0
- data/lib/nba/player_game_streak_finder.rb +108 -0
- data/lib/nba/player_index.rb +135 -0
- data/lib/nba/player_index_entry.rb +266 -0
- data/lib/nba/player_info.rb +225 -0
- data/lib/nba/player_next_n_games.rb +64 -0
- data/lib/nba/player_profile_v2.rb +169 -0
- data/lib/nba/player_vs_player.rb +153 -0
- data/lib/nba/players.rb +107 -0
- data/lib/nba/playoff_matchup.rb +84 -0
- data/lib/nba/playoff_picture.rb +98 -0
- data/lib/nba/playoff_series.rb +76 -0
- data/lib/nba/position.rb +48 -0
- data/lib/nba/rebound_stat.rb +189 -0
- data/lib/nba/response_parser.rb +116 -0
- data/lib/nba/roster.rb +74 -0
- data/lib/nba/rotation_entry.rb +154 -0
- data/lib/nba/schedule.rb +183 -0
- data/lib/nba/schedule_international.rb +182 -0
- data/lib/nba/scheduled_game.rb +240 -0
- data/lib/nba/scoreboard.rb +183 -0
- data/lib/nba/scoreboard_v3.rb +104 -0
- data/lib/nba/shot.rb +208 -0
- data/lib/nba/shot_chart.rb +75 -0
- data/lib/nba/shot_chart_league_wide.rb +102 -0
- data/lib/nba/shot_chart_lineup_detail.rb +109 -0
- data/lib/nba/shot_stat.rb +174 -0
- data/lib/nba/standing.rb +129 -0
- data/lib/nba/standings.rb +75 -0
- data/lib/nba/static.rb +107 -0
- data/lib/nba/synergy_play_types.rb +211 -0
- data/lib/nba/team.rb +203 -127
- data/lib/nba/team_and_players_vs_players.rb +227 -0
- data/lib/nba/team_and_players_vs_players_stat.rb +155 -0
- data/lib/nba/team_dash_pt_pass.rb +157 -0
- data/lib/nba/team_dash_pt_reb.rb +216 -0
- data/lib/nba/team_dash_pt_shots.rb +244 -0
- data/lib/nba/team_dashboard.rb +275 -0
- data/lib/nba/team_dashboard_stat.rb +248 -0
- data/lib/nba/team_detail.rb +117 -0
- data/lib/nba/team_details.rb +173 -0
- data/lib/nba/team_estimated_metrics.rb +91 -0
- data/lib/nba/team_estimated_metrics_stat.rb +146 -0
- data/lib/nba/team_game_log.rb +143 -0
- data/lib/nba/team_game_log_entry.rb +246 -0
- data/lib/nba/team_game_log_stat.rb +275 -0
- data/lib/nba/team_game_logs.rb +163 -0
- data/lib/nba/team_game_streak.rb +111 -0
- data/lib/nba/team_game_streak_finder.rb +109 -0
- data/lib/nba/team_historical_leader.rb +207 -0
- data/lib/nba/team_historical_leaders.rb +98 -0
- data/lib/nba/team_historical_record.rb +139 -0
- data/lib/nba/team_info.rb +150 -0
- data/lib/nba/team_info_common.rb +177 -0
- data/lib/nba/team_on_off_overall_stat.rb +477 -0
- data/lib/nba/team_on_off_player_stat.rb +523 -0
- data/lib/nba/team_on_off_player_summary.rb +135 -0
- data/lib/nba/team_pass_stat.rb +183 -0
- data/lib/nba/team_player_dashboard.rb +212 -0
- data/lib/nba/team_player_on_off_details.rb +218 -0
- data/lib/nba/team_player_on_off_summary.rb +214 -0
- data/lib/nba/team_player_stat.rb +275 -0
- data/lib/nba/team_rebound_stat.rb +189 -0
- data/lib/nba/team_season_rank.rb +110 -0
- data/lib/nba/team_shot_stat.rb +173 -0
- data/lib/nba/team_vs_player.rb +151 -0
- data/lib/nba/team_vs_player_stat.rb +157 -0
- data/lib/nba/team_year.rb +55 -0
- data/lib/nba/team_year_by_year_stats.rb +152 -0
- data/lib/nba/team_year_stat.rb +282 -0
- data/lib/nba/teams.rb +33 -0
- data/lib/nba/upcoming_game.rb +115 -0
- data/lib/nba/utils.rb +94 -0
- data/lib/nba/version.rb +5 -2
- data/lib/nba/video_detail.rb +103 -0
- data/lib/nba/video_details.rb +118 -0
- data/lib/nba/video_details_asset.rb +115 -0
- data/lib/nba/video_details_asset_entry.rb +91 -0
- data/lib/nba/video_event.rb +83 -0
- data/lib/nba/video_event_asset.rb +91 -0
- data/lib/nba/video_events.rb +106 -0
- data/lib/nba/video_events_asset.rb +107 -0
- data/lib/nba/video_status.rb +129 -0
- data/lib/nba/video_status_entry.rb +161 -0
- data/lib/nba/vs_player_stat.rb +156 -0
- data/lib/nba/win_probability.rb +117 -0
- data/lib/nba/win_probability_point.rb +140 -0
- data/lib/nba.rb +249 -5
- data/sig/equalizer.rbs +3 -0
- data/sig/nba.rbs +7297 -0
- data/sig/shale.rbs +24 -0
- data/sig/thor.rbs +19 -0
- metadata +324 -95
- data/.gitignore +0 -18
- data/.travis.yml +0 -22
- data/Gemfile +0 -23
- data/LICENSE.md +0 -22
- data/Rakefile +0 -18
- data/bin/nba +0 -7
- data/cache/teams.json +0 -16529
- data/lib/faraday_middleware/scrape_game.rb +0 -41
- data/lib/nba/request.rb +0 -37
- data/nba.gemspec +0 -28
- data/spec/fixtures/games.html +0 -785
- data/spec/fixtures/teams.json +0 -16529
- data/spec/game_spec.rb +0 -40
- data/spec/spec_helper.rb +0 -25
- data/spec/team_spec.rb +0 -93
|
@@ -0,0 +1,419 @@
|
|
|
1
|
+
require "equalizer"
|
|
2
|
+
require "shale"
|
|
3
|
+
|
|
4
|
+
module NBA
|
|
5
|
+
# Represents game summary information from V3 API
|
|
6
|
+
class BoxScoreSummaryV3Data < Shale::Mapper
|
|
7
|
+
include Equalizer.new(:game_id)
|
|
8
|
+
|
|
9
|
+
# @!attribute [rw] game_id
|
|
10
|
+
# Returns the game ID
|
|
11
|
+
# @api public
|
|
12
|
+
# @example
|
|
13
|
+
# summary.game_id #=> "0022400001"
|
|
14
|
+
# @return [String] the game ID
|
|
15
|
+
attribute :game_id, Shale::Type::String
|
|
16
|
+
|
|
17
|
+
# @!attribute [rw] game_code
|
|
18
|
+
# Returns the game code
|
|
19
|
+
# @api public
|
|
20
|
+
# @example
|
|
21
|
+
# summary.game_code #=> "20241022/LALGSW"
|
|
22
|
+
# @return [String] the game code
|
|
23
|
+
attribute :game_code, Shale::Type::String
|
|
24
|
+
|
|
25
|
+
# @!attribute [rw] game_status
|
|
26
|
+
# Returns the game status ID
|
|
27
|
+
# @api public
|
|
28
|
+
# @example
|
|
29
|
+
# summary.game_status #=> 3
|
|
30
|
+
# @return [Integer] the status ID
|
|
31
|
+
attribute :game_status, Shale::Type::Integer
|
|
32
|
+
|
|
33
|
+
# @!attribute [rw] game_status_text
|
|
34
|
+
# Returns the game status text
|
|
35
|
+
# @api public
|
|
36
|
+
# @example
|
|
37
|
+
# summary.game_status_text #=> "Final"
|
|
38
|
+
# @return [String] the status text
|
|
39
|
+
attribute :game_status_text, Shale::Type::String
|
|
40
|
+
|
|
41
|
+
# @!attribute [rw] period
|
|
42
|
+
# Returns the current period
|
|
43
|
+
# @api public
|
|
44
|
+
# @example
|
|
45
|
+
# summary.period #=> 4
|
|
46
|
+
# @return [Integer] the period
|
|
47
|
+
attribute :period, Shale::Type::Integer
|
|
48
|
+
|
|
49
|
+
# @!attribute [rw] game_clock
|
|
50
|
+
# Returns the game clock time
|
|
51
|
+
# @api public
|
|
52
|
+
# @example
|
|
53
|
+
# summary.game_clock #=> "PT00M00.00S"
|
|
54
|
+
# @return [String] the game clock
|
|
55
|
+
attribute :game_clock, Shale::Type::String
|
|
56
|
+
|
|
57
|
+
# @!attribute [rw] game_time_utc
|
|
58
|
+
# Returns the game time in UTC
|
|
59
|
+
# @api public
|
|
60
|
+
# @example
|
|
61
|
+
# summary.game_time_utc #=> "2024-10-23T02:00:00Z"
|
|
62
|
+
# @return [String] the game time UTC
|
|
63
|
+
attribute :game_time_utc, Shale::Type::String
|
|
64
|
+
|
|
65
|
+
# @!attribute [rw] game_et
|
|
66
|
+
# Returns the game time in Eastern Time
|
|
67
|
+
# @api public
|
|
68
|
+
# @example
|
|
69
|
+
# summary.game_et #=> "2024-10-22T22:00:00"
|
|
70
|
+
# @return [String] the game time ET
|
|
71
|
+
attribute :game_et, Shale::Type::String
|
|
72
|
+
|
|
73
|
+
# @!attribute [rw] duration
|
|
74
|
+
# Returns the game duration in minutes
|
|
75
|
+
# @api public
|
|
76
|
+
# @example
|
|
77
|
+
# summary.duration #=> 138
|
|
78
|
+
# @return [Integer] the duration
|
|
79
|
+
attribute :duration, Shale::Type::Integer
|
|
80
|
+
|
|
81
|
+
# @!attribute [rw] attendance
|
|
82
|
+
# Returns the attendance
|
|
83
|
+
# @api public
|
|
84
|
+
# @example
|
|
85
|
+
# summary.attendance #=> 18064
|
|
86
|
+
# @return [Integer] the attendance
|
|
87
|
+
attribute :attendance, Shale::Type::Integer
|
|
88
|
+
|
|
89
|
+
# @!attribute [rw] sellout
|
|
90
|
+
# Returns the sellout status
|
|
91
|
+
# @api public
|
|
92
|
+
# @example
|
|
93
|
+
# summary.sellout #=> "1"
|
|
94
|
+
# @return [String] the sellout status
|
|
95
|
+
attribute :sellout, Shale::Type::String
|
|
96
|
+
|
|
97
|
+
# @!attribute [rw] arena_id
|
|
98
|
+
# Returns the arena ID
|
|
99
|
+
# @api public
|
|
100
|
+
# @example
|
|
101
|
+
# summary.arena_id #=> 10
|
|
102
|
+
# @return [Integer] the arena ID
|
|
103
|
+
attribute :arena_id, Shale::Type::Integer
|
|
104
|
+
|
|
105
|
+
# @!attribute [rw] arena_name
|
|
106
|
+
# Returns the arena name
|
|
107
|
+
# @api public
|
|
108
|
+
# @example
|
|
109
|
+
# summary.arena_name #=> "Chase Center"
|
|
110
|
+
# @return [String] the arena name
|
|
111
|
+
attribute :arena_name, Shale::Type::String
|
|
112
|
+
|
|
113
|
+
# @!attribute [rw] arena_city
|
|
114
|
+
# Returns the arena city
|
|
115
|
+
# @api public
|
|
116
|
+
# @example
|
|
117
|
+
# summary.arena_city #=> "San Francisco"
|
|
118
|
+
# @return [String] the arena city
|
|
119
|
+
attribute :arena_city, Shale::Type::String
|
|
120
|
+
|
|
121
|
+
# @!attribute [rw] arena_state
|
|
122
|
+
# Returns the arena state
|
|
123
|
+
# @api public
|
|
124
|
+
# @example
|
|
125
|
+
# summary.arena_state #=> "CA"
|
|
126
|
+
# @return [String] the arena state
|
|
127
|
+
attribute :arena_state, Shale::Type::String
|
|
128
|
+
|
|
129
|
+
# @!attribute [rw] arena_country
|
|
130
|
+
# Returns the arena country
|
|
131
|
+
# @api public
|
|
132
|
+
# @example
|
|
133
|
+
# summary.arena_country #=> "US"
|
|
134
|
+
# @return [String] the arena country
|
|
135
|
+
attribute :arena_country, Shale::Type::String
|
|
136
|
+
|
|
137
|
+
# @!attribute [rw] arena_timezone
|
|
138
|
+
# Returns the arena timezone
|
|
139
|
+
# @api public
|
|
140
|
+
# @example
|
|
141
|
+
# summary.arena_timezone #=> "America/Los_Angeles"
|
|
142
|
+
# @return [String] the arena timezone
|
|
143
|
+
attribute :arena_timezone, Shale::Type::String
|
|
144
|
+
|
|
145
|
+
# @!attribute [rw] home_team_id
|
|
146
|
+
# Returns the home team ID
|
|
147
|
+
# @api public
|
|
148
|
+
# @example
|
|
149
|
+
# summary.home_team_id #=> 1610612744
|
|
150
|
+
# @return [Integer] the home team ID
|
|
151
|
+
attribute :home_team_id, Shale::Type::Integer
|
|
152
|
+
|
|
153
|
+
# @!attribute [rw] home_team_name
|
|
154
|
+
# Returns the home team name
|
|
155
|
+
# @api public
|
|
156
|
+
# @example
|
|
157
|
+
# summary.home_team_name #=> "Warriors"
|
|
158
|
+
# @return [String] the home team name
|
|
159
|
+
attribute :home_team_name, Shale::Type::String
|
|
160
|
+
|
|
161
|
+
# @!attribute [rw] home_team_city
|
|
162
|
+
# Returns the home team city
|
|
163
|
+
# @api public
|
|
164
|
+
# @example
|
|
165
|
+
# summary.home_team_city #=> "Golden State"
|
|
166
|
+
# @return [String] the home team city
|
|
167
|
+
attribute :home_team_city, Shale::Type::String
|
|
168
|
+
|
|
169
|
+
# @!attribute [rw] home_team_tricode
|
|
170
|
+
# Returns the home team tricode
|
|
171
|
+
# @api public
|
|
172
|
+
# @example
|
|
173
|
+
# summary.home_team_tricode #=> "GSW"
|
|
174
|
+
# @return [String] the home team tricode
|
|
175
|
+
attribute :home_team_tricode, Shale::Type::String
|
|
176
|
+
|
|
177
|
+
# @!attribute [rw] home_team_slug
|
|
178
|
+
# Returns the home team slug
|
|
179
|
+
# @api public
|
|
180
|
+
# @example
|
|
181
|
+
# summary.home_team_slug #=> "warriors"
|
|
182
|
+
# @return [String] the home team slug
|
|
183
|
+
attribute :home_team_slug, Shale::Type::String
|
|
184
|
+
|
|
185
|
+
# @!attribute [rw] home_team_wins
|
|
186
|
+
# Returns the home team wins
|
|
187
|
+
# @api public
|
|
188
|
+
# @example
|
|
189
|
+
# summary.home_team_wins #=> 1
|
|
190
|
+
# @return [Integer] the home team wins
|
|
191
|
+
attribute :home_team_wins, Shale::Type::Integer
|
|
192
|
+
|
|
193
|
+
# @!attribute [rw] home_team_losses
|
|
194
|
+
# Returns the home team losses
|
|
195
|
+
# @api public
|
|
196
|
+
# @example
|
|
197
|
+
# summary.home_team_losses #=> 0
|
|
198
|
+
# @return [Integer] the home team losses
|
|
199
|
+
attribute :home_team_losses, Shale::Type::Integer
|
|
200
|
+
|
|
201
|
+
# @!attribute [rw] home_pts
|
|
202
|
+
# Returns home team total points
|
|
203
|
+
# @api public
|
|
204
|
+
# @example
|
|
205
|
+
# summary.home_pts #=> 118
|
|
206
|
+
# @return [Integer] total points
|
|
207
|
+
attribute :home_pts, Shale::Type::Integer
|
|
208
|
+
|
|
209
|
+
# @!attribute [rw] home_pts_q1
|
|
210
|
+
# Returns home team Q1 points
|
|
211
|
+
# @api public
|
|
212
|
+
# @example
|
|
213
|
+
# summary.home_pts_q1 #=> 28
|
|
214
|
+
# @return [Integer] Q1 points
|
|
215
|
+
attribute :home_pts_q1, Shale::Type::Integer
|
|
216
|
+
|
|
217
|
+
# @!attribute [rw] home_pts_q2
|
|
218
|
+
# Returns home team Q2 points
|
|
219
|
+
# @api public
|
|
220
|
+
# @example
|
|
221
|
+
# summary.home_pts_q2 #=> 32
|
|
222
|
+
# @return [Integer] Q2 points
|
|
223
|
+
attribute :home_pts_q2, Shale::Type::Integer
|
|
224
|
+
|
|
225
|
+
# @!attribute [rw] home_pts_q3
|
|
226
|
+
# Returns home team Q3 points
|
|
227
|
+
# @api public
|
|
228
|
+
# @example
|
|
229
|
+
# summary.home_pts_q3 #=> 25
|
|
230
|
+
# @return [Integer] Q3 points
|
|
231
|
+
attribute :home_pts_q3, Shale::Type::Integer
|
|
232
|
+
|
|
233
|
+
# @!attribute [rw] home_pts_q4
|
|
234
|
+
# Returns home team Q4 points
|
|
235
|
+
# @api public
|
|
236
|
+
# @example
|
|
237
|
+
# summary.home_pts_q4 #=> 33
|
|
238
|
+
# @return [Integer] Q4 points
|
|
239
|
+
attribute :home_pts_q4, Shale::Type::Integer
|
|
240
|
+
|
|
241
|
+
# @!attribute [rw] away_team_id
|
|
242
|
+
# Returns the away team ID
|
|
243
|
+
# @api public
|
|
244
|
+
# @example
|
|
245
|
+
# summary.away_team_id #=> 1610612747
|
|
246
|
+
# @return [Integer] the away team ID
|
|
247
|
+
attribute :away_team_id, Shale::Type::Integer
|
|
248
|
+
|
|
249
|
+
# @!attribute [rw] away_team_name
|
|
250
|
+
# Returns the away team name
|
|
251
|
+
# @api public
|
|
252
|
+
# @example
|
|
253
|
+
# summary.away_team_name #=> "Lakers"
|
|
254
|
+
# @return [String] the away team name
|
|
255
|
+
attribute :away_team_name, Shale::Type::String
|
|
256
|
+
|
|
257
|
+
# @!attribute [rw] away_team_city
|
|
258
|
+
# Returns the away team city
|
|
259
|
+
# @api public
|
|
260
|
+
# @example
|
|
261
|
+
# summary.away_team_city #=> "Los Angeles"
|
|
262
|
+
# @return [String] the away team city
|
|
263
|
+
attribute :away_team_city, Shale::Type::String
|
|
264
|
+
|
|
265
|
+
# @!attribute [rw] away_team_tricode
|
|
266
|
+
# Returns the away team tricode
|
|
267
|
+
# @api public
|
|
268
|
+
# @example
|
|
269
|
+
# summary.away_team_tricode #=> "LAL"
|
|
270
|
+
# @return [String] the away team tricode
|
|
271
|
+
attribute :away_team_tricode, Shale::Type::String
|
|
272
|
+
|
|
273
|
+
# @!attribute [rw] away_team_slug
|
|
274
|
+
# Returns the away team slug
|
|
275
|
+
# @api public
|
|
276
|
+
# @example
|
|
277
|
+
# summary.away_team_slug #=> "lakers"
|
|
278
|
+
# @return [String] the away team slug
|
|
279
|
+
attribute :away_team_slug, Shale::Type::String
|
|
280
|
+
|
|
281
|
+
# @!attribute [rw] away_team_wins
|
|
282
|
+
# Returns the away team wins
|
|
283
|
+
# @api public
|
|
284
|
+
# @example
|
|
285
|
+
# summary.away_team_wins #=> 0
|
|
286
|
+
# @return [Integer] the away team wins
|
|
287
|
+
attribute :away_team_wins, Shale::Type::Integer
|
|
288
|
+
|
|
289
|
+
# @!attribute [rw] away_team_losses
|
|
290
|
+
# Returns the away team losses
|
|
291
|
+
# @api public
|
|
292
|
+
# @example
|
|
293
|
+
# summary.away_team_losses #=> 1
|
|
294
|
+
# @return [Integer] the away team losses
|
|
295
|
+
attribute :away_team_losses, Shale::Type::Integer
|
|
296
|
+
|
|
297
|
+
# @!attribute [rw] away_pts
|
|
298
|
+
# Returns away team total points
|
|
299
|
+
# @api public
|
|
300
|
+
# @example
|
|
301
|
+
# summary.away_pts #=> 109
|
|
302
|
+
# @return [Integer] total points
|
|
303
|
+
attribute :away_pts, Shale::Type::Integer
|
|
304
|
+
|
|
305
|
+
# @!attribute [rw] away_pts_q1
|
|
306
|
+
# Returns away team Q1 points
|
|
307
|
+
# @api public
|
|
308
|
+
# @example
|
|
309
|
+
# summary.away_pts_q1 #=> 25
|
|
310
|
+
# @return [Integer] Q1 points
|
|
311
|
+
attribute :away_pts_q1, Shale::Type::Integer
|
|
312
|
+
|
|
313
|
+
# @!attribute [rw] away_pts_q2
|
|
314
|
+
# Returns away team Q2 points
|
|
315
|
+
# @api public
|
|
316
|
+
# @example
|
|
317
|
+
# summary.away_pts_q2 #=> 28
|
|
318
|
+
# @return [Integer] Q2 points
|
|
319
|
+
attribute :away_pts_q2, Shale::Type::Integer
|
|
320
|
+
|
|
321
|
+
# @!attribute [rw] away_pts_q3
|
|
322
|
+
# Returns away team Q3 points
|
|
323
|
+
# @api public
|
|
324
|
+
# @example
|
|
325
|
+
# summary.away_pts_q3 #=> 30
|
|
326
|
+
# @return [Integer] Q3 points
|
|
327
|
+
attribute :away_pts_q3, Shale::Type::Integer
|
|
328
|
+
|
|
329
|
+
# @!attribute [rw] away_pts_q4
|
|
330
|
+
# Returns away team Q4 points
|
|
331
|
+
# @api public
|
|
332
|
+
# @example
|
|
333
|
+
# summary.away_pts_q4 #=> 26
|
|
334
|
+
# @return [Integer] Q4 points
|
|
335
|
+
attribute :away_pts_q4, Shale::Type::Integer
|
|
336
|
+
|
|
337
|
+
# @!attribute [rw] lead_changes
|
|
338
|
+
# Returns the number of lead changes
|
|
339
|
+
# @api public
|
|
340
|
+
# @example
|
|
341
|
+
# summary.lead_changes #=> 12
|
|
342
|
+
# @return [Integer] lead changes
|
|
343
|
+
attribute :lead_changes, Shale::Type::Integer
|
|
344
|
+
|
|
345
|
+
# @!attribute [rw] times_tied
|
|
346
|
+
# Returns the number of times tied
|
|
347
|
+
# @api public
|
|
348
|
+
# @example
|
|
349
|
+
# summary.times_tied #=> 8
|
|
350
|
+
# @return [Integer] times tied
|
|
351
|
+
attribute :times_tied, Shale::Type::Integer
|
|
352
|
+
|
|
353
|
+
# @!attribute [rw] largest_lead
|
|
354
|
+
# Returns the largest lead
|
|
355
|
+
# @api public
|
|
356
|
+
# @example
|
|
357
|
+
# summary.largest_lead #=> 15
|
|
358
|
+
# @return [Integer] largest lead
|
|
359
|
+
attribute :largest_lead, Shale::Type::Integer
|
|
360
|
+
|
|
361
|
+
# @!attribute [rw] officials
|
|
362
|
+
# Returns the game officials
|
|
363
|
+
# @api public
|
|
364
|
+
# @example
|
|
365
|
+
# summary.officials #=> ["Scott Foster", "Tony Brothers", "Marc Davis"]
|
|
366
|
+
# @return [Array<String>] the officials
|
|
367
|
+
attribute :officials, Shale::Type::String, collection: true
|
|
368
|
+
|
|
369
|
+
# Returns the home team object
|
|
370
|
+
#
|
|
371
|
+
# @api public
|
|
372
|
+
# @example
|
|
373
|
+
# summary.home_team #=> #<NBA::Team>
|
|
374
|
+
# @return [Team, nil] the home team
|
|
375
|
+
def home_team
|
|
376
|
+
Teams.find(home_team_id)
|
|
377
|
+
end
|
|
378
|
+
|
|
379
|
+
# Returns the away team object
|
|
380
|
+
#
|
|
381
|
+
# @api public
|
|
382
|
+
# @example
|
|
383
|
+
# summary.away_team #=> #<NBA::Team>
|
|
384
|
+
# @return [Team, nil] the away team
|
|
385
|
+
def away_team
|
|
386
|
+
Teams.find(away_team_id)
|
|
387
|
+
end
|
|
388
|
+
|
|
389
|
+
# Returns whether the game is final
|
|
390
|
+
#
|
|
391
|
+
# @api public
|
|
392
|
+
# @example
|
|
393
|
+
# summary.final? #=> true
|
|
394
|
+
# @return [Boolean] true if final
|
|
395
|
+
def final?
|
|
396
|
+
game_status.eql?(3)
|
|
397
|
+
end
|
|
398
|
+
|
|
399
|
+
# Returns whether the game is in progress
|
|
400
|
+
#
|
|
401
|
+
# @api public
|
|
402
|
+
# @example
|
|
403
|
+
# summary.in_progress? #=> false
|
|
404
|
+
# @return [Boolean] true if in progress
|
|
405
|
+
def in_progress?
|
|
406
|
+
game_status.eql?(2)
|
|
407
|
+
end
|
|
408
|
+
|
|
409
|
+
# Returns whether the game has not started
|
|
410
|
+
#
|
|
411
|
+
# @api public
|
|
412
|
+
# @example
|
|
413
|
+
# summary.scheduled? #=> false
|
|
414
|
+
# @return [Boolean] true if scheduled
|
|
415
|
+
def scheduled?
|
|
416
|
+
game_status.eql?(1)
|
|
417
|
+
end
|
|
418
|
+
end
|
|
419
|
+
end
|
|
@@ -0,0 +1,229 @@
|
|
|
1
|
+
require "equalizer"
|
|
2
|
+
require "shale"
|
|
3
|
+
|
|
4
|
+
module NBA
|
|
5
|
+
# Represents a team's box score statistics for a game
|
|
6
|
+
class BoxScoreTeamStat < Shale::Mapper
|
|
7
|
+
include Equalizer.new(:game_id, :team_id)
|
|
8
|
+
|
|
9
|
+
# @!attribute [rw] game_id
|
|
10
|
+
# Returns the game ID
|
|
11
|
+
# @api public
|
|
12
|
+
# @example
|
|
13
|
+
# stat.game_id #=> "0022400350"
|
|
14
|
+
# @return [String] the game ID
|
|
15
|
+
attribute :game_id, Shale::Type::String
|
|
16
|
+
|
|
17
|
+
# @!attribute [rw] team_id
|
|
18
|
+
# Returns the team ID
|
|
19
|
+
# @api public
|
|
20
|
+
# @example
|
|
21
|
+
# stat.team_id #=> 1610612744
|
|
22
|
+
# @return [Integer] the team ID
|
|
23
|
+
attribute :team_id, Shale::Type::Integer
|
|
24
|
+
|
|
25
|
+
# @!attribute [rw] team_name
|
|
26
|
+
# Returns the team name
|
|
27
|
+
# @api public
|
|
28
|
+
# @example
|
|
29
|
+
# stat.team_name #=> "Warriors"
|
|
30
|
+
# @return [String] the team name
|
|
31
|
+
attribute :team_name, Shale::Type::String
|
|
32
|
+
|
|
33
|
+
# @!attribute [rw] team_abbreviation
|
|
34
|
+
# Returns the team abbreviation
|
|
35
|
+
# @api public
|
|
36
|
+
# @example
|
|
37
|
+
# stat.team_abbreviation #=> "GSW"
|
|
38
|
+
# @return [String] the team abbreviation
|
|
39
|
+
attribute :team_abbreviation, Shale::Type::String
|
|
40
|
+
|
|
41
|
+
# @!attribute [rw] team_city
|
|
42
|
+
# Returns the team city
|
|
43
|
+
# @api public
|
|
44
|
+
# @example
|
|
45
|
+
# stat.team_city #=> "Golden State"
|
|
46
|
+
# @return [String] the team city
|
|
47
|
+
attribute :team_city, Shale::Type::String
|
|
48
|
+
|
|
49
|
+
# @!attribute [rw] min
|
|
50
|
+
# Returns total minutes played
|
|
51
|
+
# @api public
|
|
52
|
+
# @example
|
|
53
|
+
# stat.min #=> "240:00"
|
|
54
|
+
# @return [String] the minutes
|
|
55
|
+
attribute :min, Shale::Type::String
|
|
56
|
+
|
|
57
|
+
# @!attribute [rw] fgm
|
|
58
|
+
# Returns field goals made
|
|
59
|
+
# @api public
|
|
60
|
+
# @example
|
|
61
|
+
# stat.fgm #=> 42
|
|
62
|
+
# @return [Integer] field goals made
|
|
63
|
+
attribute :fgm, Shale::Type::Integer
|
|
64
|
+
|
|
65
|
+
# @!attribute [rw] fga
|
|
66
|
+
# Returns field goals attempted
|
|
67
|
+
# @api public
|
|
68
|
+
# @example
|
|
69
|
+
# stat.fga #=> 88
|
|
70
|
+
# @return [Integer] field goals attempted
|
|
71
|
+
attribute :fga, Shale::Type::Integer
|
|
72
|
+
|
|
73
|
+
# @!attribute [rw] fg_pct
|
|
74
|
+
# Returns field goal percentage
|
|
75
|
+
# @api public
|
|
76
|
+
# @example
|
|
77
|
+
# stat.fg_pct #=> 0.477
|
|
78
|
+
# @return [Float] field goal percentage
|
|
79
|
+
attribute :fg_pct, Shale::Type::Float
|
|
80
|
+
|
|
81
|
+
# @!attribute [rw] fg3m
|
|
82
|
+
# Returns three-pointers made
|
|
83
|
+
# @api public
|
|
84
|
+
# @example
|
|
85
|
+
# stat.fg3m #=> 15
|
|
86
|
+
# @return [Integer] three-pointers made
|
|
87
|
+
attribute :fg3m, Shale::Type::Integer
|
|
88
|
+
|
|
89
|
+
# @!attribute [rw] fg3a
|
|
90
|
+
# Returns three-pointers attempted
|
|
91
|
+
# @api public
|
|
92
|
+
# @example
|
|
93
|
+
# stat.fg3a #=> 38
|
|
94
|
+
# @return [Integer] three-pointers attempted
|
|
95
|
+
attribute :fg3a, Shale::Type::Integer
|
|
96
|
+
|
|
97
|
+
# @!attribute [rw] fg3_pct
|
|
98
|
+
# Returns three-point percentage
|
|
99
|
+
# @api public
|
|
100
|
+
# @example
|
|
101
|
+
# stat.fg3_pct #=> 0.395
|
|
102
|
+
# @return [Float] three-point percentage
|
|
103
|
+
attribute :fg3_pct, Shale::Type::Float
|
|
104
|
+
|
|
105
|
+
# @!attribute [rw] ftm
|
|
106
|
+
# Returns free throws made
|
|
107
|
+
# @api public
|
|
108
|
+
# @example
|
|
109
|
+
# stat.ftm #=> 20
|
|
110
|
+
# @return [Integer] free throws made
|
|
111
|
+
attribute :ftm, Shale::Type::Integer
|
|
112
|
+
|
|
113
|
+
# @!attribute [rw] fta
|
|
114
|
+
# Returns free throws attempted
|
|
115
|
+
# @api public
|
|
116
|
+
# @example
|
|
117
|
+
# stat.fta #=> 25
|
|
118
|
+
# @return [Integer] free throws attempted
|
|
119
|
+
attribute :fta, Shale::Type::Integer
|
|
120
|
+
|
|
121
|
+
# @!attribute [rw] ft_pct
|
|
122
|
+
# Returns free throw percentage
|
|
123
|
+
# @api public
|
|
124
|
+
# @example
|
|
125
|
+
# stat.ft_pct #=> 0.800
|
|
126
|
+
# @return [Float] free throw percentage
|
|
127
|
+
attribute :ft_pct, Shale::Type::Float
|
|
128
|
+
|
|
129
|
+
# @!attribute [rw] oreb
|
|
130
|
+
# Returns offensive rebounds
|
|
131
|
+
# @api public
|
|
132
|
+
# @example
|
|
133
|
+
# stat.oreb #=> 10
|
|
134
|
+
# @return [Integer] offensive rebounds
|
|
135
|
+
attribute :oreb, Shale::Type::Integer
|
|
136
|
+
|
|
137
|
+
# @!attribute [rw] dreb
|
|
138
|
+
# Returns defensive rebounds
|
|
139
|
+
# @api public
|
|
140
|
+
# @example
|
|
141
|
+
# stat.dreb #=> 35
|
|
142
|
+
# @return [Integer] defensive rebounds
|
|
143
|
+
attribute :dreb, Shale::Type::Integer
|
|
144
|
+
|
|
145
|
+
# @!attribute [rw] reb
|
|
146
|
+
# Returns total rebounds
|
|
147
|
+
# @api public
|
|
148
|
+
# @example
|
|
149
|
+
# stat.reb #=> 45
|
|
150
|
+
# @return [Integer] total rebounds
|
|
151
|
+
attribute :reb, Shale::Type::Integer
|
|
152
|
+
|
|
153
|
+
# @!attribute [rw] ast
|
|
154
|
+
# Returns assists
|
|
155
|
+
# @api public
|
|
156
|
+
# @example
|
|
157
|
+
# stat.ast #=> 28
|
|
158
|
+
# @return [Integer] assists
|
|
159
|
+
attribute :ast, Shale::Type::Integer
|
|
160
|
+
|
|
161
|
+
# @!attribute [rw] stl
|
|
162
|
+
# Returns steals
|
|
163
|
+
# @api public
|
|
164
|
+
# @example
|
|
165
|
+
# stat.stl #=> 9
|
|
166
|
+
# @return [Integer] steals
|
|
167
|
+
attribute :stl, Shale::Type::Integer
|
|
168
|
+
|
|
169
|
+
# @!attribute [rw] blk
|
|
170
|
+
# Returns blocks
|
|
171
|
+
# @api public
|
|
172
|
+
# @example
|
|
173
|
+
# stat.blk #=> 6
|
|
174
|
+
# @return [Integer] blocks
|
|
175
|
+
attribute :blk, Shale::Type::Integer
|
|
176
|
+
|
|
177
|
+
# @!attribute [rw] tov
|
|
178
|
+
# Returns turnovers
|
|
179
|
+
# @api public
|
|
180
|
+
# @example
|
|
181
|
+
# stat.tov #=> 14
|
|
182
|
+
# @return [Integer] turnovers
|
|
183
|
+
attribute :tov, Shale::Type::Integer
|
|
184
|
+
|
|
185
|
+
# @!attribute [rw] pf
|
|
186
|
+
# Returns personal fouls
|
|
187
|
+
# @api public
|
|
188
|
+
# @example
|
|
189
|
+
# stat.pf #=> 18
|
|
190
|
+
# @return [Integer] personal fouls
|
|
191
|
+
attribute :pf, Shale::Type::Integer
|
|
192
|
+
|
|
193
|
+
# @!attribute [rw] pts
|
|
194
|
+
# Returns points
|
|
195
|
+
# @api public
|
|
196
|
+
# @example
|
|
197
|
+
# stat.pts #=> 119
|
|
198
|
+
# @return [Integer] points
|
|
199
|
+
attribute :pts, Shale::Type::Integer
|
|
200
|
+
|
|
201
|
+
# @!attribute [rw] plus_minus
|
|
202
|
+
# Returns plus/minus
|
|
203
|
+
# @api public
|
|
204
|
+
# @example
|
|
205
|
+
# stat.plus_minus #=> 8
|
|
206
|
+
# @return [Integer] plus/minus
|
|
207
|
+
attribute :plus_minus, Shale::Type::Integer
|
|
208
|
+
|
|
209
|
+
# Returns the team object
|
|
210
|
+
#
|
|
211
|
+
# @api public
|
|
212
|
+
# @example
|
|
213
|
+
# stat.team #=> #<NBA::Team>
|
|
214
|
+
# @return [Team, nil] the team object
|
|
215
|
+
def team
|
|
216
|
+
Teams.find(team_id)
|
|
217
|
+
end
|
|
218
|
+
|
|
219
|
+
# Returns the game object for this box score
|
|
220
|
+
#
|
|
221
|
+
# @api public
|
|
222
|
+
# @example
|
|
223
|
+
# stat.game #=> #<NBA::Game>
|
|
224
|
+
# @return [Game, nil] the game object
|
|
225
|
+
def game
|
|
226
|
+
Games.find(game_id)
|
|
227
|
+
end
|
|
228
|
+
end
|
|
229
|
+
end
|