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 a draft combine spot shooting result
|
|
6
|
+
class DraftCombineSpotShootingResult < Shale::Mapper
|
|
7
|
+
include Equalizer.new(:player_id)
|
|
8
|
+
|
|
9
|
+
# @!attribute [rw] player_id
|
|
10
|
+
# Returns the player ID
|
|
11
|
+
# @api public
|
|
12
|
+
# @example
|
|
13
|
+
# result.player_id #=> 1630162
|
|
14
|
+
# @return [Integer] the player ID
|
|
15
|
+
attribute :player_id, Shale::Type::Integer
|
|
16
|
+
|
|
17
|
+
# @!attribute [rw] player_name
|
|
18
|
+
# Returns the player name
|
|
19
|
+
# @api public
|
|
20
|
+
# @example
|
|
21
|
+
# result.player_name #=> "Victor Wembanyama"
|
|
22
|
+
# @return [String] the player name
|
|
23
|
+
attribute :player_name, Shale::Type::String
|
|
24
|
+
|
|
25
|
+
# @!attribute [rw] first_name
|
|
26
|
+
# Returns the player's first name
|
|
27
|
+
# @api public
|
|
28
|
+
# @example
|
|
29
|
+
# result.first_name #=> "Victor"
|
|
30
|
+
# @return [String] the first name
|
|
31
|
+
attribute :first_name, Shale::Type::String
|
|
32
|
+
|
|
33
|
+
# @!attribute [rw] last_name
|
|
34
|
+
# Returns the player's last name
|
|
35
|
+
# @api public
|
|
36
|
+
# @example
|
|
37
|
+
# result.last_name #=> "Wembanyama"
|
|
38
|
+
# @return [String] the last name
|
|
39
|
+
attribute :last_name, Shale::Type::String
|
|
40
|
+
|
|
41
|
+
# @!attribute [rw] position
|
|
42
|
+
# Returns the player's position
|
|
43
|
+
# @api public
|
|
44
|
+
# @example
|
|
45
|
+
# result.position #=> "C"
|
|
46
|
+
# @return [String] the position
|
|
47
|
+
attribute :position, Shale::Type::String
|
|
48
|
+
|
|
49
|
+
# @!attribute [rw] fifteen_corner_left_made
|
|
50
|
+
# Returns 15-foot corner left shots made
|
|
51
|
+
# @api public
|
|
52
|
+
# @example
|
|
53
|
+
# result.fifteen_corner_left_made #=> 3
|
|
54
|
+
# @return [Integer] shots made
|
|
55
|
+
attribute :fifteen_corner_left_made, Shale::Type::Integer
|
|
56
|
+
|
|
57
|
+
# @!attribute [rw] fifteen_corner_left_attempt
|
|
58
|
+
# Returns 15-foot corner left shot attempts
|
|
59
|
+
# @api public
|
|
60
|
+
# @example
|
|
61
|
+
# result.fifteen_corner_left_attempt #=> 5
|
|
62
|
+
# @return [Integer] shot attempts
|
|
63
|
+
attribute :fifteen_corner_left_attempt, Shale::Type::Integer
|
|
64
|
+
|
|
65
|
+
# @!attribute [rw] fifteen_corner_left_pct
|
|
66
|
+
# Returns 15-foot corner left shooting percentage
|
|
67
|
+
# @api public
|
|
68
|
+
# @example
|
|
69
|
+
# result.fifteen_corner_left_pct #=> 0.600
|
|
70
|
+
# @return [Float] shooting percentage
|
|
71
|
+
attribute :fifteen_corner_left_pct, Shale::Type::Float
|
|
72
|
+
|
|
73
|
+
# @!attribute [rw] fifteen_break_left_made
|
|
74
|
+
# Returns 15-foot break left shots made
|
|
75
|
+
# @api public
|
|
76
|
+
# @example
|
|
77
|
+
# result.fifteen_break_left_made #=> 4
|
|
78
|
+
# @return [Integer] shots made
|
|
79
|
+
attribute :fifteen_break_left_made, Shale::Type::Integer
|
|
80
|
+
|
|
81
|
+
# @!attribute [rw] fifteen_break_left_attempt
|
|
82
|
+
# Returns 15-foot break left shot attempts
|
|
83
|
+
# @api public
|
|
84
|
+
# @example
|
|
85
|
+
# result.fifteen_break_left_attempt #=> 5
|
|
86
|
+
# @return [Integer] shot attempts
|
|
87
|
+
attribute :fifteen_break_left_attempt, Shale::Type::Integer
|
|
88
|
+
|
|
89
|
+
# @!attribute [rw] fifteen_break_left_pct
|
|
90
|
+
# Returns 15-foot break left shooting percentage
|
|
91
|
+
# @api public
|
|
92
|
+
# @example
|
|
93
|
+
# result.fifteen_break_left_pct #=> 0.800
|
|
94
|
+
# @return [Float] shooting percentage
|
|
95
|
+
attribute :fifteen_break_left_pct, Shale::Type::Float
|
|
96
|
+
|
|
97
|
+
# @!attribute [rw] fifteen_top_key_made
|
|
98
|
+
# Returns 15-foot top key shots made
|
|
99
|
+
# @api public
|
|
100
|
+
# @example
|
|
101
|
+
# result.fifteen_top_key_made #=> 5
|
|
102
|
+
# @return [Integer] shots made
|
|
103
|
+
attribute :fifteen_top_key_made, Shale::Type::Integer
|
|
104
|
+
|
|
105
|
+
# @!attribute [rw] fifteen_top_key_attempt
|
|
106
|
+
# Returns 15-foot top key shot attempts
|
|
107
|
+
# @api public
|
|
108
|
+
# @example
|
|
109
|
+
# result.fifteen_top_key_attempt #=> 5
|
|
110
|
+
# @return [Integer] shot attempts
|
|
111
|
+
attribute :fifteen_top_key_attempt, Shale::Type::Integer
|
|
112
|
+
|
|
113
|
+
# @!attribute [rw] fifteen_top_key_pct
|
|
114
|
+
# Returns 15-foot top key shooting percentage
|
|
115
|
+
# @api public
|
|
116
|
+
# @example
|
|
117
|
+
# result.fifteen_top_key_pct #=> 1.000
|
|
118
|
+
# @return [Float] shooting percentage
|
|
119
|
+
attribute :fifteen_top_key_pct, Shale::Type::Float
|
|
120
|
+
|
|
121
|
+
# @!attribute [rw] fifteen_break_right_made
|
|
122
|
+
# Returns 15-foot break right shots made
|
|
123
|
+
# @api public
|
|
124
|
+
# @example
|
|
125
|
+
# result.fifteen_break_right_made #=> 3
|
|
126
|
+
# @return [Integer] shots made
|
|
127
|
+
attribute :fifteen_break_right_made, Shale::Type::Integer
|
|
128
|
+
|
|
129
|
+
# @!attribute [rw] fifteen_break_right_attempt
|
|
130
|
+
# Returns 15-foot break right shot attempts
|
|
131
|
+
# @api public
|
|
132
|
+
# @example
|
|
133
|
+
# result.fifteen_break_right_attempt #=> 5
|
|
134
|
+
# @return [Integer] shot attempts
|
|
135
|
+
attribute :fifteen_break_right_attempt, Shale::Type::Integer
|
|
136
|
+
|
|
137
|
+
# @!attribute [rw] fifteen_break_right_pct
|
|
138
|
+
# Returns 15-foot break right shooting percentage
|
|
139
|
+
# @api public
|
|
140
|
+
# @example
|
|
141
|
+
# result.fifteen_break_right_pct #=> 0.600
|
|
142
|
+
# @return [Float] shooting percentage
|
|
143
|
+
attribute :fifteen_break_right_pct, Shale::Type::Float
|
|
144
|
+
|
|
145
|
+
# @!attribute [rw] fifteen_corner_right_made
|
|
146
|
+
# Returns 15-foot corner right shots made
|
|
147
|
+
# @api public
|
|
148
|
+
# @example
|
|
149
|
+
# result.fifteen_corner_right_made #=> 4
|
|
150
|
+
# @return [Integer] shots made
|
|
151
|
+
attribute :fifteen_corner_right_made, Shale::Type::Integer
|
|
152
|
+
|
|
153
|
+
# @!attribute [rw] fifteen_corner_right_attempt
|
|
154
|
+
# Returns 15-foot corner right shot attempts
|
|
155
|
+
# @api public
|
|
156
|
+
# @example
|
|
157
|
+
# result.fifteen_corner_right_attempt #=> 5
|
|
158
|
+
# @return [Integer] shot attempts
|
|
159
|
+
attribute :fifteen_corner_right_attempt, Shale::Type::Integer
|
|
160
|
+
|
|
161
|
+
# @!attribute [rw] fifteen_corner_right_pct
|
|
162
|
+
# Returns 15-foot corner right shooting percentage
|
|
163
|
+
# @api public
|
|
164
|
+
# @example
|
|
165
|
+
# result.fifteen_corner_right_pct #=> 0.800
|
|
166
|
+
# @return [Float] shooting percentage
|
|
167
|
+
attribute :fifteen_corner_right_pct, Shale::Type::Float
|
|
168
|
+
|
|
169
|
+
# @!attribute [rw] college_corner_left_made
|
|
170
|
+
# Returns college range corner left shots made
|
|
171
|
+
# @api public
|
|
172
|
+
# @example
|
|
173
|
+
# result.college_corner_left_made #=> 3
|
|
174
|
+
# @return [Integer] shots made
|
|
175
|
+
attribute :college_corner_left_made, Shale::Type::Integer
|
|
176
|
+
|
|
177
|
+
# @!attribute [rw] college_corner_left_attempt
|
|
178
|
+
# Returns college range corner left shot attempts
|
|
179
|
+
# @api public
|
|
180
|
+
# @example
|
|
181
|
+
# result.college_corner_left_attempt #=> 5
|
|
182
|
+
# @return [Integer] shot attempts
|
|
183
|
+
attribute :college_corner_left_attempt, Shale::Type::Integer
|
|
184
|
+
|
|
185
|
+
# @!attribute [rw] college_corner_left_pct
|
|
186
|
+
# Returns college range corner left shooting percentage
|
|
187
|
+
# @api public
|
|
188
|
+
# @example
|
|
189
|
+
# result.college_corner_left_pct #=> 0.600
|
|
190
|
+
# @return [Float] shooting percentage
|
|
191
|
+
attribute :college_corner_left_pct, Shale::Type::Float
|
|
192
|
+
|
|
193
|
+
# @!attribute [rw] college_break_left_made
|
|
194
|
+
# Returns college range break left shots made
|
|
195
|
+
# @api public
|
|
196
|
+
# @example
|
|
197
|
+
# result.college_break_left_made #=> 4
|
|
198
|
+
# @return [Integer] shots made
|
|
199
|
+
attribute :college_break_left_made, Shale::Type::Integer
|
|
200
|
+
|
|
201
|
+
# @!attribute [rw] college_break_left_attempt
|
|
202
|
+
# Returns college range break left shot attempts
|
|
203
|
+
# @api public
|
|
204
|
+
# @example
|
|
205
|
+
# result.college_break_left_attempt #=> 5
|
|
206
|
+
# @return [Integer] shot attempts
|
|
207
|
+
attribute :college_break_left_attempt, Shale::Type::Integer
|
|
208
|
+
|
|
209
|
+
# @!attribute [rw] college_break_left_pct
|
|
210
|
+
# Returns college range break left shooting percentage
|
|
211
|
+
# @api public
|
|
212
|
+
# @example
|
|
213
|
+
# result.college_break_left_pct #=> 0.800
|
|
214
|
+
# @return [Float] shooting percentage
|
|
215
|
+
attribute :college_break_left_pct, Shale::Type::Float
|
|
216
|
+
|
|
217
|
+
# @!attribute [rw] college_top_key_made
|
|
218
|
+
# Returns college range top key shots made
|
|
219
|
+
# @api public
|
|
220
|
+
# @example
|
|
221
|
+
# result.college_top_key_made #=> 5
|
|
222
|
+
# @return [Integer] shots made
|
|
223
|
+
attribute :college_top_key_made, Shale::Type::Integer
|
|
224
|
+
|
|
225
|
+
# @!attribute [rw] college_top_key_attempt
|
|
226
|
+
# Returns college range top key shot attempts
|
|
227
|
+
# @api public
|
|
228
|
+
# @example
|
|
229
|
+
# result.college_top_key_attempt #=> 5
|
|
230
|
+
# @return [Integer] shot attempts
|
|
231
|
+
attribute :college_top_key_attempt, Shale::Type::Integer
|
|
232
|
+
|
|
233
|
+
# @!attribute [rw] college_top_key_pct
|
|
234
|
+
# Returns college range top key shooting percentage
|
|
235
|
+
# @api public
|
|
236
|
+
# @example
|
|
237
|
+
# result.college_top_key_pct #=> 1.000
|
|
238
|
+
# @return [Float] shooting percentage
|
|
239
|
+
attribute :college_top_key_pct, Shale::Type::Float
|
|
240
|
+
|
|
241
|
+
# @!attribute [rw] college_break_right_made
|
|
242
|
+
# Returns college range break right shots made
|
|
243
|
+
# @api public
|
|
244
|
+
# @example
|
|
245
|
+
# result.college_break_right_made #=> 3
|
|
246
|
+
# @return [Integer] shots made
|
|
247
|
+
attribute :college_break_right_made, Shale::Type::Integer
|
|
248
|
+
|
|
249
|
+
# @!attribute [rw] college_break_right_attempt
|
|
250
|
+
# Returns college range break right shot attempts
|
|
251
|
+
# @api public
|
|
252
|
+
# @example
|
|
253
|
+
# result.college_break_right_attempt #=> 5
|
|
254
|
+
# @return [Integer] shot attempts
|
|
255
|
+
attribute :college_break_right_attempt, Shale::Type::Integer
|
|
256
|
+
|
|
257
|
+
# @!attribute [rw] college_break_right_pct
|
|
258
|
+
# Returns college range break right shooting percentage
|
|
259
|
+
# @api public
|
|
260
|
+
# @example
|
|
261
|
+
# result.college_break_right_pct #=> 0.600
|
|
262
|
+
# @return [Float] shooting percentage
|
|
263
|
+
attribute :college_break_right_pct, Shale::Type::Float
|
|
264
|
+
|
|
265
|
+
# @!attribute [rw] college_corner_right_made
|
|
266
|
+
# Returns college range corner right shots made
|
|
267
|
+
# @api public
|
|
268
|
+
# @example
|
|
269
|
+
# result.college_corner_right_made #=> 4
|
|
270
|
+
# @return [Integer] shots made
|
|
271
|
+
attribute :college_corner_right_made, Shale::Type::Integer
|
|
272
|
+
|
|
273
|
+
# @!attribute [rw] college_corner_right_attempt
|
|
274
|
+
# Returns college range corner right shot attempts
|
|
275
|
+
# @api public
|
|
276
|
+
# @example
|
|
277
|
+
# result.college_corner_right_attempt #=> 5
|
|
278
|
+
# @return [Integer] shot attempts
|
|
279
|
+
attribute :college_corner_right_attempt, Shale::Type::Integer
|
|
280
|
+
|
|
281
|
+
# @!attribute [rw] college_corner_right_pct
|
|
282
|
+
# Returns college range corner right shooting percentage
|
|
283
|
+
# @api public
|
|
284
|
+
# @example
|
|
285
|
+
# result.college_corner_right_pct #=> 0.800
|
|
286
|
+
# @return [Float] shooting percentage
|
|
287
|
+
attribute :college_corner_right_pct, Shale::Type::Float
|
|
288
|
+
|
|
289
|
+
# @!attribute [rw] nba_corner_left_made
|
|
290
|
+
# Returns NBA range corner left shots made
|
|
291
|
+
# @api public
|
|
292
|
+
# @example
|
|
293
|
+
# result.nba_corner_left_made #=> 3
|
|
294
|
+
# @return [Integer] shots made
|
|
295
|
+
attribute :nba_corner_left_made, Shale::Type::Integer
|
|
296
|
+
|
|
297
|
+
# @!attribute [rw] nba_corner_left_attempt
|
|
298
|
+
# Returns NBA range corner left shot attempts
|
|
299
|
+
# @api public
|
|
300
|
+
# @example
|
|
301
|
+
# result.nba_corner_left_attempt #=> 5
|
|
302
|
+
# @return [Integer] shot attempts
|
|
303
|
+
attribute :nba_corner_left_attempt, Shale::Type::Integer
|
|
304
|
+
|
|
305
|
+
# @!attribute [rw] nba_corner_left_pct
|
|
306
|
+
# Returns NBA range corner left shooting percentage
|
|
307
|
+
# @api public
|
|
308
|
+
# @example
|
|
309
|
+
# result.nba_corner_left_pct #=> 0.600
|
|
310
|
+
# @return [Float] shooting percentage
|
|
311
|
+
attribute :nba_corner_left_pct, Shale::Type::Float
|
|
312
|
+
|
|
313
|
+
# @!attribute [rw] nba_break_left_made
|
|
314
|
+
# Returns NBA range break left shots made
|
|
315
|
+
# @api public
|
|
316
|
+
# @example
|
|
317
|
+
# result.nba_break_left_made #=> 4
|
|
318
|
+
# @return [Integer] shots made
|
|
319
|
+
attribute :nba_break_left_made, Shale::Type::Integer
|
|
320
|
+
|
|
321
|
+
# @!attribute [rw] nba_break_left_attempt
|
|
322
|
+
# Returns NBA range break left shot attempts
|
|
323
|
+
# @api public
|
|
324
|
+
# @example
|
|
325
|
+
# result.nba_break_left_attempt #=> 5
|
|
326
|
+
# @return [Integer] shot attempts
|
|
327
|
+
attribute :nba_break_left_attempt, Shale::Type::Integer
|
|
328
|
+
|
|
329
|
+
# @!attribute [rw] nba_break_left_pct
|
|
330
|
+
# Returns NBA range break left shooting percentage
|
|
331
|
+
# @api public
|
|
332
|
+
# @example
|
|
333
|
+
# result.nba_break_left_pct #=> 0.800
|
|
334
|
+
# @return [Float] shooting percentage
|
|
335
|
+
attribute :nba_break_left_pct, Shale::Type::Float
|
|
336
|
+
|
|
337
|
+
# @!attribute [rw] nba_top_key_made
|
|
338
|
+
# Returns NBA range top key shots made
|
|
339
|
+
# @api public
|
|
340
|
+
# @example
|
|
341
|
+
# result.nba_top_key_made #=> 5
|
|
342
|
+
# @return [Integer] shots made
|
|
343
|
+
attribute :nba_top_key_made, Shale::Type::Integer
|
|
344
|
+
|
|
345
|
+
# @!attribute [rw] nba_top_key_attempt
|
|
346
|
+
# Returns NBA range top key shot attempts
|
|
347
|
+
# @api public
|
|
348
|
+
# @example
|
|
349
|
+
# result.nba_top_key_attempt #=> 5
|
|
350
|
+
# @return [Integer] shot attempts
|
|
351
|
+
attribute :nba_top_key_attempt, Shale::Type::Integer
|
|
352
|
+
|
|
353
|
+
# @!attribute [rw] nba_top_key_pct
|
|
354
|
+
# Returns NBA range top key shooting percentage
|
|
355
|
+
# @api public
|
|
356
|
+
# @example
|
|
357
|
+
# result.nba_top_key_pct #=> 1.000
|
|
358
|
+
# @return [Float] shooting percentage
|
|
359
|
+
attribute :nba_top_key_pct, Shale::Type::Float
|
|
360
|
+
|
|
361
|
+
# @!attribute [rw] nba_break_right_made
|
|
362
|
+
# Returns NBA range break right shots made
|
|
363
|
+
# @api public
|
|
364
|
+
# @example
|
|
365
|
+
# result.nba_break_right_made #=> 3
|
|
366
|
+
# @return [Integer] shots made
|
|
367
|
+
attribute :nba_break_right_made, Shale::Type::Integer
|
|
368
|
+
|
|
369
|
+
# @!attribute [rw] nba_break_right_attempt
|
|
370
|
+
# Returns NBA range break right shot attempts
|
|
371
|
+
# @api public
|
|
372
|
+
# @example
|
|
373
|
+
# result.nba_break_right_attempt #=> 5
|
|
374
|
+
# @return [Integer] shot attempts
|
|
375
|
+
attribute :nba_break_right_attempt, Shale::Type::Integer
|
|
376
|
+
|
|
377
|
+
# @!attribute [rw] nba_break_right_pct
|
|
378
|
+
# Returns NBA range break right shooting percentage
|
|
379
|
+
# @api public
|
|
380
|
+
# @example
|
|
381
|
+
# result.nba_break_right_pct #=> 0.600
|
|
382
|
+
# @return [Float] shooting percentage
|
|
383
|
+
attribute :nba_break_right_pct, Shale::Type::Float
|
|
384
|
+
|
|
385
|
+
# @!attribute [rw] nba_corner_right_made
|
|
386
|
+
# Returns NBA range corner right shots made
|
|
387
|
+
# @api public
|
|
388
|
+
# @example
|
|
389
|
+
# result.nba_corner_right_made #=> 4
|
|
390
|
+
# @return [Integer] shots made
|
|
391
|
+
attribute :nba_corner_right_made, Shale::Type::Integer
|
|
392
|
+
|
|
393
|
+
# @!attribute [rw] nba_corner_right_attempt
|
|
394
|
+
# Returns NBA range corner right shot attempts
|
|
395
|
+
# @api public
|
|
396
|
+
# @example
|
|
397
|
+
# result.nba_corner_right_attempt #=> 5
|
|
398
|
+
# @return [Integer] shot attempts
|
|
399
|
+
attribute :nba_corner_right_attempt, Shale::Type::Integer
|
|
400
|
+
|
|
401
|
+
# @!attribute [rw] nba_corner_right_pct
|
|
402
|
+
# Returns NBA range corner right shooting percentage
|
|
403
|
+
# @api public
|
|
404
|
+
# @example
|
|
405
|
+
# result.nba_corner_right_pct #=> 0.800
|
|
406
|
+
# @return [Float] shooting percentage
|
|
407
|
+
attribute :nba_corner_right_pct, Shale::Type::Float
|
|
408
|
+
|
|
409
|
+
# Returns the player object
|
|
410
|
+
#
|
|
411
|
+
# @api public
|
|
412
|
+
# @example
|
|
413
|
+
# result.player #=> #<NBA::Player>
|
|
414
|
+
# @return [Player, nil] the player object
|
|
415
|
+
def player
|
|
416
|
+
Players.find(player_id)
|
|
417
|
+
end
|
|
418
|
+
end
|
|
419
|
+
end
|
|
@@ -0,0 +1,211 @@
|
|
|
1
|
+
require "equalizer"
|
|
2
|
+
require "shale"
|
|
3
|
+
|
|
4
|
+
module NBA
|
|
5
|
+
# Represents a draft combine stat
|
|
6
|
+
class DraftCombineStat < Shale::Mapper
|
|
7
|
+
include Equalizer.new(:player_id)
|
|
8
|
+
|
|
9
|
+
# @!attribute [rw] season
|
|
10
|
+
# Returns the season
|
|
11
|
+
# @api public
|
|
12
|
+
# @example
|
|
13
|
+
# stat.season #=> "2023-24"
|
|
14
|
+
# @return [String] the season
|
|
15
|
+
attribute :season, Shale::Type::String
|
|
16
|
+
|
|
17
|
+
# @!attribute [rw] player_id
|
|
18
|
+
# Returns the player ID
|
|
19
|
+
# @api public
|
|
20
|
+
# @example
|
|
21
|
+
# stat.player_id #=> 1630162
|
|
22
|
+
# @return [Integer] the player ID
|
|
23
|
+
attribute :player_id, Shale::Type::Integer
|
|
24
|
+
|
|
25
|
+
# @!attribute [rw] first_name
|
|
26
|
+
# Returns the player's first name
|
|
27
|
+
# @api public
|
|
28
|
+
# @example
|
|
29
|
+
# stat.first_name #=> "Victor"
|
|
30
|
+
# @return [String] the first name
|
|
31
|
+
attribute :first_name, Shale::Type::String
|
|
32
|
+
|
|
33
|
+
# @!attribute [rw] last_name
|
|
34
|
+
# Returns the player's last name
|
|
35
|
+
# @api public
|
|
36
|
+
# @example
|
|
37
|
+
# stat.last_name #=> "Wembanyama"
|
|
38
|
+
# @return [String] the last name
|
|
39
|
+
attribute :last_name, Shale::Type::String
|
|
40
|
+
|
|
41
|
+
# @!attribute [rw] player_name
|
|
42
|
+
# Returns the player name
|
|
43
|
+
# @api public
|
|
44
|
+
# @example
|
|
45
|
+
# stat.player_name #=> "Victor Wembanyama"
|
|
46
|
+
# @return [String] the player name
|
|
47
|
+
attribute :player_name, Shale::Type::String
|
|
48
|
+
|
|
49
|
+
# @!attribute [rw] position
|
|
50
|
+
# Returns the player's position
|
|
51
|
+
# @api public
|
|
52
|
+
# @example
|
|
53
|
+
# stat.position #=> "C"
|
|
54
|
+
# @return [String] the position
|
|
55
|
+
attribute :position, Shale::Type::String
|
|
56
|
+
|
|
57
|
+
# @!attribute [rw] height_wo_shoes
|
|
58
|
+
# Returns height without shoes in inches
|
|
59
|
+
# @api public
|
|
60
|
+
# @example
|
|
61
|
+
# stat.height_wo_shoes #=> 83.5
|
|
62
|
+
# @return [Float] height without shoes
|
|
63
|
+
attribute :height_wo_shoes, Shale::Type::Float
|
|
64
|
+
|
|
65
|
+
# @!attribute [rw] height_wo_shoes_ft_in
|
|
66
|
+
# Returns height without shoes in feet and inches
|
|
67
|
+
# @api public
|
|
68
|
+
# @example
|
|
69
|
+
# stat.height_wo_shoes_ft_in #=> "6-11.5"
|
|
70
|
+
# @return [String] height without shoes
|
|
71
|
+
attribute :height_wo_shoes_ft_in, Shale::Type::String
|
|
72
|
+
|
|
73
|
+
# @!attribute [rw] height_w_shoes
|
|
74
|
+
# Returns height with shoes in inches
|
|
75
|
+
# @api public
|
|
76
|
+
# @example
|
|
77
|
+
# stat.height_w_shoes #=> 84.5
|
|
78
|
+
# @return [Float] height with shoes
|
|
79
|
+
attribute :height_w_shoes, Shale::Type::Float
|
|
80
|
+
|
|
81
|
+
# @!attribute [rw] height_w_shoes_ft_in
|
|
82
|
+
# Returns height with shoes in feet and inches
|
|
83
|
+
# @api public
|
|
84
|
+
# @example
|
|
85
|
+
# stat.height_w_shoes_ft_in #=> "7-0.5"
|
|
86
|
+
# @return [String] height with shoes
|
|
87
|
+
attribute :height_w_shoes_ft_in, Shale::Type::String
|
|
88
|
+
|
|
89
|
+
# @!attribute [rw] weight
|
|
90
|
+
# Returns weight in pounds
|
|
91
|
+
# @api public
|
|
92
|
+
# @example
|
|
93
|
+
# stat.weight #=> 209.0
|
|
94
|
+
# @return [Float] weight
|
|
95
|
+
attribute :weight, Shale::Type::Float
|
|
96
|
+
|
|
97
|
+
# @!attribute [rw] wingspan
|
|
98
|
+
# Returns wingspan in inches
|
|
99
|
+
# @api public
|
|
100
|
+
# @example
|
|
101
|
+
# stat.wingspan #=> 94.0
|
|
102
|
+
# @return [Float] wingspan
|
|
103
|
+
attribute :wingspan, Shale::Type::Float
|
|
104
|
+
|
|
105
|
+
# @!attribute [rw] wingspan_ft_in
|
|
106
|
+
# Returns wingspan in feet and inches
|
|
107
|
+
# @api public
|
|
108
|
+
# @example
|
|
109
|
+
# stat.wingspan_ft_in #=> "7-10"
|
|
110
|
+
# @return [String] wingspan
|
|
111
|
+
attribute :wingspan_ft_in, Shale::Type::String
|
|
112
|
+
|
|
113
|
+
# @!attribute [rw] standing_reach
|
|
114
|
+
# Returns standing reach in inches
|
|
115
|
+
# @api public
|
|
116
|
+
# @example
|
|
117
|
+
# stat.standing_reach #=> 112.0
|
|
118
|
+
# @return [Float] standing reach
|
|
119
|
+
attribute :standing_reach, Shale::Type::Float
|
|
120
|
+
|
|
121
|
+
# @!attribute [rw] standing_reach_ft_in
|
|
122
|
+
# Returns standing reach in feet and inches
|
|
123
|
+
# @api public
|
|
124
|
+
# @example
|
|
125
|
+
# stat.standing_reach_ft_in #=> "9-4"
|
|
126
|
+
# @return [String] standing reach
|
|
127
|
+
attribute :standing_reach_ft_in, Shale::Type::String
|
|
128
|
+
|
|
129
|
+
# @!attribute [rw] body_fat_pct
|
|
130
|
+
# Returns body fat percentage
|
|
131
|
+
# @api public
|
|
132
|
+
# @example
|
|
133
|
+
# stat.body_fat_pct #=> 6.8
|
|
134
|
+
# @return [Float] body fat percentage
|
|
135
|
+
attribute :body_fat_pct, Shale::Type::Float
|
|
136
|
+
|
|
137
|
+
# @!attribute [rw] hand_length
|
|
138
|
+
# Returns hand length in inches
|
|
139
|
+
# @api public
|
|
140
|
+
# @example
|
|
141
|
+
# stat.hand_length #=> 9.75
|
|
142
|
+
# @return [Float] hand length
|
|
143
|
+
attribute :hand_length, Shale::Type::Float
|
|
144
|
+
|
|
145
|
+
# @!attribute [rw] hand_width
|
|
146
|
+
# Returns hand width in inches
|
|
147
|
+
# @api public
|
|
148
|
+
# @example
|
|
149
|
+
# stat.hand_width #=> 10.5
|
|
150
|
+
# @return [Float] hand width
|
|
151
|
+
attribute :hand_width, Shale::Type::Float
|
|
152
|
+
|
|
153
|
+
# @!attribute [rw] standing_vertical_leap
|
|
154
|
+
# Returns standing vertical leap in inches
|
|
155
|
+
# @api public
|
|
156
|
+
# @example
|
|
157
|
+
# stat.standing_vertical_leap #=> 32.0
|
|
158
|
+
# @return [Float] standing vertical leap
|
|
159
|
+
attribute :standing_vertical_leap, Shale::Type::Float
|
|
160
|
+
|
|
161
|
+
# @!attribute [rw] max_vertical_leap
|
|
162
|
+
# Returns maximum vertical leap in inches
|
|
163
|
+
# @api public
|
|
164
|
+
# @example
|
|
165
|
+
# stat.max_vertical_leap #=> 40.5
|
|
166
|
+
# @return [Float] maximum vertical leap
|
|
167
|
+
attribute :max_vertical_leap, Shale::Type::Float
|
|
168
|
+
|
|
169
|
+
# @!attribute [rw] lane_agility_time
|
|
170
|
+
# Returns lane agility time in seconds
|
|
171
|
+
# @api public
|
|
172
|
+
# @example
|
|
173
|
+
# stat.lane_agility_time #=> 10.75
|
|
174
|
+
# @return [Float] lane agility time
|
|
175
|
+
attribute :lane_agility_time, Shale::Type::Float
|
|
176
|
+
|
|
177
|
+
# @!attribute [rw] modified_lane_agility_time
|
|
178
|
+
# Returns modified lane agility time in seconds
|
|
179
|
+
# @api public
|
|
180
|
+
# @example
|
|
181
|
+
# stat.modified_lane_agility_time #=> 10.5
|
|
182
|
+
# @return [Float] modified lane agility time
|
|
183
|
+
attribute :modified_lane_agility_time, Shale::Type::Float
|
|
184
|
+
|
|
185
|
+
# @!attribute [rw] three_quarter_sprint
|
|
186
|
+
# Returns three quarter sprint time in seconds
|
|
187
|
+
# @api public
|
|
188
|
+
# @example
|
|
189
|
+
# stat.three_quarter_sprint #=> 3.25
|
|
190
|
+
# @return [Float] three quarter sprint time
|
|
191
|
+
attribute :three_quarter_sprint, Shale::Type::Float
|
|
192
|
+
|
|
193
|
+
# @!attribute [rw] bench_press
|
|
194
|
+
# Returns bench press repetitions
|
|
195
|
+
# @api public
|
|
196
|
+
# @example
|
|
197
|
+
# stat.bench_press #=> 15
|
|
198
|
+
# @return [Integer] bench press repetitions
|
|
199
|
+
attribute :bench_press, Shale::Type::Integer
|
|
200
|
+
|
|
201
|
+
# Returns the player object
|
|
202
|
+
#
|
|
203
|
+
# @api public
|
|
204
|
+
# @example
|
|
205
|
+
# stat.player #=> #<NBA::Player>
|
|
206
|
+
# @return [Player, nil] the player object
|
|
207
|
+
def player
|
|
208
|
+
Players.find(player_id)
|
|
209
|
+
end
|
|
210
|
+
end
|
|
211
|
+
end
|