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
data/README.md
CHANGED
|
@@ -1,112 +1,512 @@
|
|
|
1
|
-
# NBA
|
|
1
|
+
# NBA Gem
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
3
|
+
<p align="center">
|
|
4
|
+
<img src="logo.png" alt="NBA Gem Logo">
|
|
5
|
+
</p>
|
|
5
6
|
|
|
6
|
-
[
|
|
7
|
-
[
|
|
7
|
+
[](https://github.com/sferik/nba-ruby/actions/workflows/test.yml)
|
|
8
|
+
[](https://github.com/sferik/nba-ruby/actions/workflows/lint.yml)
|
|
9
|
+
[](https://github.com/sferik/nba-ruby/actions/workflows/mutant.yml)
|
|
10
|
+
[](https://github.com/sferik/nba-ruby/actions/workflows/typecheck.yml)
|
|
11
|
+
[](https://github.com/sferik/nba-ruby/actions/workflows/docs.yml)
|
|
12
|
+
[](https://rubygems.org/gems/nba)
|
|
8
13
|
|
|
9
|
-
|
|
14
|
+
A Ruby interface to the NBA Stats API.
|
|
10
15
|
|
|
11
|
-
|
|
16
|
+
## Installation
|
|
12
17
|
|
|
13
|
-
|
|
14
|
-
[mlb]: https://github.com/sferik/mlb
|
|
18
|
+
Install the gem:
|
|
15
19
|
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
## Usage Examples
|
|
20
|
-
You could use `nba` command-line tool directly in your terminal.
|
|
21
|
-
|
|
22
|
-
$ nba games --date=20140102
|
|
23
|
-
Final/OT - Cavaliers 87 : 81 Magic
|
|
24
|
-
Final - Heat 114 : 123 Warriors
|
|
25
|
-
Final - Bulls 94 : 82 Celtics
|
|
26
|
-
Final - Thunder 93 : 95 Nets
|
|
27
|
-
Final - Spurs 101 : 105 Knicks
|
|
28
|
-
Final - Suns 91 : 99 Grizzlies
|
|
29
|
-
Final - Jazz 96 : 87 Bucks
|
|
30
|
-
Final - Trail Blazers 134 : 104 Bobcats
|
|
31
|
-
Final - Kings 104 : 113 76ers
|
|
32
|
-
$ nba teams --name 'Lakers'
|
|
33
|
-
Name: Los Angeles Lakers
|
|
34
|
-
Founded: 1947
|
|
35
|
-
Conference: Western Conference
|
|
36
|
-
Division: Pacific Division
|
|
37
|
-
Coach: Mike D'Antoni
|
|
38
|
-
Championships: 2010 NBA Finals, 2009 NBA Finals
|
|
39
|
-
2002 NBA Finals, 2001 NBA Finals
|
|
40
|
-
2000 NBA Finals, 1988 NBA Finals
|
|
41
|
-
1987 NBA Finals, 1985 NBA Finals
|
|
42
|
-
1982 NBA Finals, 1980 NBA Finals
|
|
43
|
-
1972 NBA Finals, 1954 NBA Finals
|
|
44
|
-
1953 NBA Finals, 1952 NBA Finals
|
|
45
|
-
1950 NBA Finals, 1949 BAA Finals
|
|
46
|
-
1948 NBL Finals
|
|
47
|
-
|
|
48
|
-
Or you could use it in `irb`, which is an Interactive Ruby Shell
|
|
49
|
-
|
|
50
|
-
$ irb
|
|
51
|
-
>> require 'nba'
|
|
52
|
-
>> NBA::Game.all '20140102'
|
|
53
|
-
# => Final/OT - Cavaliers 87 : 81 Magic
|
|
54
|
-
# => Final - Heat 114 : 123 Warriors
|
|
55
|
-
# => Final - Bulls 94 : 82 Celtics
|
|
56
|
-
# => Final - Thunder 93 : 95 Nets
|
|
57
|
-
# => Final - Spurs 101 : 105 Knicks
|
|
58
|
-
# => Final - Suns 91 : 99 Grizzlies
|
|
59
|
-
# => Final - Jazz 96 : 87 Bucks
|
|
60
|
-
# => Final - Trail Blazers 134 : 104 Bobcats
|
|
61
|
-
# => Final - Kings 104 : 113 76ers
|
|
62
|
-
>> NBA::Team.all.first.name # => "Atlanta Hawks"
|
|
63
|
-
>> NBA::Team.all.first.founded # => 1946
|
|
64
|
-
>> NBA::Team.all.first.players.first.name # => "Al Horford"
|
|
65
|
-
>> NBA::Team.all.first.players.first.number # => 15
|
|
66
|
-
>> NBA::Team.all.first.players.first.position # => ["Forward-center"]
|
|
67
|
-
|
|
68
|
-
## Supported Ruby Versions
|
|
69
|
-
This library aims to support and is [tested against][travis] the following Ruby
|
|
70
|
-
implementations:
|
|
71
|
-
|
|
72
|
-
* Ruby 1.9.3
|
|
73
|
-
* Ruby 2.0.0
|
|
74
|
-
* Ruby 2.1.0
|
|
75
|
-
* [JRuby][]
|
|
76
|
-
|
|
77
|
-
[jruby]: http://jruby.org/
|
|
78
|
-
|
|
79
|
-
## Colophon
|
|
80
|
-
NBA was built with the following tools:
|
|
81
|
-
|
|
82
|
-
* [Bundler][]
|
|
83
|
-
* [Freebase][]
|
|
84
|
-
* [Faraday][]
|
|
85
|
-
* [Markdown][]
|
|
86
|
-
* [RSpec][]
|
|
87
|
-
* [vim][]
|
|
88
|
-
* [WebMock][]
|
|
89
|
-
|
|
90
|
-
[bundler]: http://gembundler.com/
|
|
91
|
-
[freebase]: http://www.freebase.com/
|
|
92
|
-
[faraday]: https://github.com/technoweenie/faraday
|
|
93
|
-
[markdown]: http://daringfireball.net/projects/markdown/
|
|
94
|
-
[rspec]: http://relishapp.com/rspec/
|
|
95
|
-
[vim]: http://www.vim.org/
|
|
96
|
-
[webmock]: https://github.com/bblimke/webmock
|
|
97
|
-
|
|
98
|
-
And, special thanks to [@sfeirk][sferik]!
|
|
20
|
+
```bash
|
|
21
|
+
gem install nba
|
|
22
|
+
```
|
|
99
23
|
|
|
100
|
-
|
|
24
|
+
Or add it to your Gemfile:
|
|
25
|
+
|
|
26
|
+
```ruby
|
|
27
|
+
gem "nba"
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
## Command-Line Interface
|
|
31
|
+
|
|
32
|
+
The gem includes an `nba` command-line tool for quick access to NBA data.
|
|
33
|
+
|
|
34
|
+
### Available Commands
|
|
35
|
+
|
|
36
|
+
```bash
|
|
37
|
+
# Display help
|
|
38
|
+
nba help
|
|
39
|
+
|
|
40
|
+
# Get today's games
|
|
41
|
+
nba games
|
|
42
|
+
|
|
43
|
+
# Get games for a specific date
|
|
44
|
+
nba games -d 20240315
|
|
45
|
+
nba games -d yesterday
|
|
46
|
+
|
|
47
|
+
# Search for teams
|
|
48
|
+
nba teams Lakers
|
|
49
|
+
nba teams Warriors -r # Include roster
|
|
50
|
+
|
|
51
|
+
# Search for players
|
|
52
|
+
nba player Curry
|
|
53
|
+
nba player "LeBron James"
|
|
54
|
+
|
|
55
|
+
# Display standings
|
|
56
|
+
nba standings
|
|
57
|
+
nba standings -c West
|
|
58
|
+
nba standings -s 2023
|
|
59
|
+
|
|
60
|
+
# Display league leaders
|
|
61
|
+
nba leaders
|
|
62
|
+
nba leaders REB
|
|
63
|
+
nba leaders AST -l 5
|
|
64
|
+
nba leaders -s 2022
|
|
65
|
+
|
|
66
|
+
# Display team schedule
|
|
67
|
+
nba schedule Warriors
|
|
68
|
+
nba schedule LAL -s 2024
|
|
69
|
+
|
|
70
|
+
# Display team roster
|
|
71
|
+
nba roster Warriors
|
|
72
|
+
nba roster GSW -s 2023
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
### Command Options
|
|
76
|
+
|
|
77
|
+
| Command | Option | Description |
|
|
78
|
+
|------------|------------------|---------------------------------------|
|
|
79
|
+
| games | -d, --date | Date (YYYYMMDD, 'today', 'yesterday') |
|
|
80
|
+
| teams | -n, --name | Team name to search (required) |
|
|
81
|
+
| teams | -r, --roster | Include roster information |
|
|
82
|
+
| standings | -c, --conference | Filter by conference (East/West) |
|
|
83
|
+
| standings | -s, --season | Season year (e.g., 2024) |
|
|
84
|
+
| leaders | -c, --category | Stat category (PTS, REB, AST, etc.) |
|
|
85
|
+
| leaders | -s, --season | Season year |
|
|
86
|
+
| leaders | -l, --limit | Number of leaders (default: 10) |
|
|
87
|
+
| schedule | -s, --season | Season year |
|
|
88
|
+
| roster | -s, --season | Season year |
|
|
89
|
+
|
|
90
|
+
## Usage
|
|
91
|
+
|
|
92
|
+
### Teams
|
|
93
|
+
|
|
94
|
+
```ruby
|
|
95
|
+
require "nba"
|
|
96
|
+
|
|
97
|
+
# Get all NBA teams
|
|
98
|
+
teams = NBA::Teams.all
|
|
99
|
+
teams.size # => 30
|
|
100
|
+
|
|
101
|
+
# Find the Warriors
|
|
102
|
+
warriors = NBA::Teams.find(NBA::Team::GSW)
|
|
103
|
+
warriors.full_name # => "Golden State Warriors"
|
|
104
|
+
warriors.city # => "San Francisco"
|
|
105
|
+
warriors.year_founded # => 1946
|
|
106
|
+
|
|
107
|
+
# Get detailed team information
|
|
108
|
+
detail = NBA::TeamDetails.find(team: NBA::Team::GSW)
|
|
109
|
+
detail.arena # => "Chase Center"
|
|
110
|
+
detail.owner # => "Joe Lacob"
|
|
111
|
+
detail.general_manager # => "Mike Dunleavy Jr."
|
|
112
|
+
detail.head_coach # => "Steve Kerr"
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
### Players
|
|
116
|
+
|
|
117
|
+
```ruby
|
|
118
|
+
# Get the Warriors roster for 2021-2022
|
|
119
|
+
roster = NBA::Roster.find(team: NBA::Team::GSW, season: 2021)
|
|
120
|
+
roster.size # => 17
|
|
121
|
+
|
|
122
|
+
curry = roster.find { |p| p.full_name == "Stephen Curry" }
|
|
123
|
+
curry.jersey_number # => 30
|
|
124
|
+
curry.height # => "6-2"
|
|
125
|
+
curry.weight # => 185
|
|
126
|
+
curry.college # => "Davidson"
|
|
127
|
+
curry.draft_year # => 2009
|
|
128
|
+
curry.draft_round # => 1
|
|
129
|
+
curry.draft_number # => 7
|
|
130
|
+
|
|
131
|
+
# Get Curry's career stats
|
|
132
|
+
career = NBA::PlayerCareerStats.find(player: curry)
|
|
133
|
+
career.size # => 17
|
|
134
|
+
|
|
135
|
+
season = career.last
|
|
136
|
+
season.pts # => 28.7
|
|
137
|
+
season.reb # => 4.0
|
|
138
|
+
season.ast # => 4.3
|
|
139
|
+
|
|
140
|
+
# Get Curry's awards
|
|
141
|
+
awards = NBA::PlayerAwards.find(player: curry)
|
|
142
|
+
awards.size # => 67
|
|
143
|
+
|
|
144
|
+
mvps = awards.select { |a| a.description == "NBA Most Valuable Player" }
|
|
145
|
+
mvps.size # => 2
|
|
146
|
+
```
|
|
147
|
+
|
|
148
|
+
### Standings
|
|
149
|
+
|
|
150
|
+
```ruby
|
|
151
|
+
# Get current standings
|
|
152
|
+
standings = NBA::Standings.all
|
|
153
|
+
standings.size # => 30
|
|
154
|
+
|
|
155
|
+
# Get Western Conference standings for 2021-2022
|
|
156
|
+
western = NBA::Standings.conference("West", season: 2021)
|
|
157
|
+
western.size # => 15
|
|
158
|
+
|
|
159
|
+
western.first(3).each do |s|
|
|
160
|
+
puts "#{s.team_name}: #{s.wins}-#{s.losses}"
|
|
161
|
+
end
|
|
162
|
+
# Suns: 64-18
|
|
163
|
+
# Grizzlies: 56-26
|
|
164
|
+
# Warriors: 53-29
|
|
165
|
+
```
|
|
166
|
+
|
|
167
|
+
### League Leaders
|
|
168
|
+
|
|
169
|
+
```ruby
|
|
170
|
+
# Get free throw percentage leaders for 2017-2018
|
|
171
|
+
NBA::Leaders.find(category: NBA::Leaders::FT_PCT, season: 2017, limit: 5).each do |leader|
|
|
172
|
+
puts "#{leader.rank}. #{leader.player_name}: #{leader.value} FT%"
|
|
173
|
+
end
|
|
174
|
+
# 1. Stephen Curry: 0.921 FT%
|
|
175
|
+
# 2. Damian Lillard: 0.916 FT%
|
|
176
|
+
# 3. CJ McCollum: 0.837 FT%
|
|
177
|
+
# 4. Kyrie Irving: 0.889 FT%
|
|
178
|
+
# 5. Kevin Durant: 0.889 FT%
|
|
179
|
+
|
|
180
|
+
# Available categories
|
|
181
|
+
NBA::Leaders::PTS # Points
|
|
182
|
+
NBA::Leaders::REB # Rebounds
|
|
183
|
+
NBA::Leaders::AST # Assists
|
|
184
|
+
NBA::Leaders::STL # Steals
|
|
185
|
+
NBA::Leaders::BLK # Blocks
|
|
186
|
+
NBA::Leaders::FG_PCT # Field Goal Percentage
|
|
187
|
+
NBA::Leaders::FG3_PCT # Three-Point Percentage
|
|
188
|
+
```
|
|
189
|
+
|
|
190
|
+
### All-Time Leaders
|
|
191
|
+
|
|
192
|
+
```ruby
|
|
193
|
+
# Get all-time points leaders
|
|
194
|
+
NBA::AllTimeLeaders.find(category: NBA::AllTimeLeaders::PTS, limit: 5).each do |leader|
|
|
195
|
+
puts "#{leader.rank}. #{leader.player_name}: #{leader.value} points"
|
|
196
|
+
end
|
|
197
|
+
# 1. LeBron James: 40474 points
|
|
198
|
+
# 2. Kareem Abdul-Jabbar: 38387 points
|
|
199
|
+
# 3. Karl Malone: 36928 points
|
|
200
|
+
# 4. Kobe Bryant: 33643 points
|
|
201
|
+
# 5. Michael Jordan: 32292 points
|
|
202
|
+
|
|
203
|
+
# Available categories
|
|
204
|
+
NBA::AllTimeLeaders::PTS # Points
|
|
205
|
+
NBA::AllTimeLeaders::AST # Assists
|
|
206
|
+
NBA::AllTimeLeaders::REB # Rebounds
|
|
207
|
+
NBA::AllTimeLeaders::STL # Steals
|
|
208
|
+
NBA::AllTimeLeaders::BLK # Blocks
|
|
209
|
+
NBA::AllTimeLeaders::FGM # Field Goals Made
|
|
210
|
+
NBA::AllTimeLeaders::FG3M # Three-Pointers Made
|
|
211
|
+
```
|
|
212
|
+
|
|
213
|
+
### Player Info
|
|
214
|
+
|
|
215
|
+
```ruby
|
|
216
|
+
# Get detailed biography for Stephen Curry
|
|
217
|
+
info = NBA::CommonPlayerInfo.find(player: 201939)
|
|
218
|
+
info.full_name # => "Stephen Curry"
|
|
219
|
+
info.birthdate # => "1988-03-14"
|
|
220
|
+
info.school # => "Davidson"
|
|
221
|
+
info.country # => "USA"
|
|
222
|
+
info.height # => "6-2"
|
|
223
|
+
info.weight # => 185
|
|
224
|
+
info.season_exp # => 15
|
|
225
|
+
info.jersey # => "30"
|
|
226
|
+
info.position # => "Guard"
|
|
227
|
+
info.draft_year # => 2009
|
|
228
|
+
info.draft_round # => 1
|
|
229
|
+
info.draft_number # => 7
|
|
230
|
+
info.greatest_75? # => true
|
|
231
|
+
|
|
232
|
+
# Get current team info
|
|
233
|
+
info.team.full_name # => "Golden State Warriors"
|
|
234
|
+
```
|
|
235
|
+
|
|
236
|
+
### League Team Stats
|
|
237
|
+
|
|
238
|
+
```ruby
|
|
239
|
+
# Get league-wide team statistics for 2024-2025
|
|
240
|
+
stats = NBA::LeagueDashTeamStats.find(season: 2024)
|
|
241
|
+
|
|
242
|
+
# Find the Warriors
|
|
243
|
+
gsw = stats.find { |s| s.team_abbreviation == "GSW" }
|
|
244
|
+
gsw.gp # => 82 (games played)
|
|
245
|
+
gsw.wins # => 46
|
|
246
|
+
gsw.losses # => 36
|
|
247
|
+
gsw.pts # => 118.9 (points per game)
|
|
248
|
+
gsw.reb # => 44.2 (rebounds per game)
|
|
249
|
+
gsw.ast # => 28.7 (assists per game)
|
|
250
|
+
gsw.fg_pct # => 0.478 (field goal percentage)
|
|
251
|
+
gsw.fg3_pct # => 0.378 (three-point percentage)
|
|
252
|
+
|
|
253
|
+
# Sort by points per game
|
|
254
|
+
top_offenses = stats.sort_by(&:pts).reverse.first(5)
|
|
255
|
+
top_offenses.each do |team|
|
|
256
|
+
puts "#{team.team_name}: #{team.pts} PPG"
|
|
257
|
+
end
|
|
258
|
+
```
|
|
259
|
+
|
|
260
|
+
### Team History
|
|
261
|
+
|
|
262
|
+
```ruby
|
|
263
|
+
# Get all seasons the Warriors have played
|
|
264
|
+
years = NBA::CommonTeamYears.find(team: NBA::Team::GSW)
|
|
265
|
+
years.size # => 79
|
|
266
|
+
|
|
267
|
+
year = years.first
|
|
268
|
+
year.team_id # => 1610612744
|
|
269
|
+
year.year # => 2024
|
|
270
|
+
year.season # => "2024-25"
|
|
271
|
+
year.min_year # => 1946
|
|
272
|
+
year.max_year # => 2024
|
|
273
|
+
year.abbreviation # => "GSW"
|
|
274
|
+
```
|
|
275
|
+
|
|
276
|
+
### Player Game Logs
|
|
101
277
|
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
278
|
+
```ruby
|
|
279
|
+
# Get Curry's game log for 2025-2026
|
|
280
|
+
logs = NBA::PlayerGameLog.find(player: 201939, season: 2025)
|
|
281
|
+
|
|
282
|
+
log = logs.last # Season opener
|
|
283
|
+
log.game_date # => "Oct 21, 2025"
|
|
284
|
+
log.matchup # => "GSW @ LAL"
|
|
285
|
+
log.pts # => 23
|
|
286
|
+
log.reb # => 1
|
|
287
|
+
log.ast # => 4
|
|
288
|
+
|
|
289
|
+
# Get playoffs game log
|
|
290
|
+
playoff_logs = NBA::PlayerGameLog.find(
|
|
291
|
+
player: 201939,
|
|
292
|
+
season: 2025,
|
|
293
|
+
season_type: NBA::PlayerGameLog::PLAYOFFS
|
|
294
|
+
)
|
|
295
|
+
```
|
|
296
|
+
|
|
297
|
+
### Box Scores
|
|
298
|
+
|
|
299
|
+
```ruby
|
|
300
|
+
# Get team stats from 2025-2026 season opener: Warriors vs Lakers
|
|
301
|
+
game = "0022500061"
|
|
302
|
+
teams = NBA::BoxScoreTraditional.team_stats(game: game)
|
|
303
|
+
|
|
304
|
+
gsw = teams.find { |t| t.team_abbreviation == "GSW" }
|
|
305
|
+
lal = teams.find { |t| t.team_abbreviation == "LAL" }
|
|
306
|
+
|
|
307
|
+
# Final score
|
|
308
|
+
puts "#{gsw.team_name}: #{gsw.pts}" # => "Warriors: 118"
|
|
309
|
+
puts "#{lal.team_name}: #{lal.pts}" # => "Lakers: 109"
|
|
310
|
+
|
|
311
|
+
# Team shooting comparison
|
|
312
|
+
gsw.fg_pct # => 0.477 (47.7% FG)
|
|
313
|
+
gsw.fg3_pct # => 0.395 (39.5% 3PT)
|
|
314
|
+
gsw.ft_pct # => 0.850 (85.0% FT)
|
|
315
|
+
|
|
316
|
+
# Team rebounding
|
|
317
|
+
gsw.oreb # => 10 (offensive rebounds)
|
|
318
|
+
gsw.dreb # => 35 (defensive rebounds)
|
|
319
|
+
gsw.reb # => 45 (total rebounds)
|
|
320
|
+
|
|
321
|
+
# Other team stats
|
|
322
|
+
gsw.ast # => 28 (assists)
|
|
323
|
+
gsw.tov # => 14 (turnovers)
|
|
324
|
+
gsw.stl # => 9 (steals)
|
|
325
|
+
gsw.blk # => 6 (blocks)
|
|
326
|
+
```
|
|
327
|
+
|
|
328
|
+
### Game Rotations
|
|
329
|
+
|
|
330
|
+
```ruby
|
|
331
|
+
# Get rotation data for 2025-2026 season opener
|
|
332
|
+
game = "0022500061"
|
|
333
|
+
rotations = NBA::GameRotation.home_team(game: game)
|
|
334
|
+
rotations.size # => 42
|
|
335
|
+
|
|
336
|
+
# Find Curry's stints
|
|
337
|
+
curry_stints = rotations.select { |r| r.player_last == "Curry" }
|
|
338
|
+
curry_stints.size # => 6
|
|
339
|
+
|
|
340
|
+
stint = curry_stints.first
|
|
341
|
+
stint.player_name # => "Stephen Curry"
|
|
342
|
+
stint.player_pts # => 8
|
|
343
|
+
stint.pt_diff # => 7
|
|
344
|
+
stint.in_time_real # => 0
|
|
345
|
+
```
|
|
346
|
+
|
|
347
|
+
### Hustle Stats
|
|
348
|
+
|
|
349
|
+
```ruby
|
|
350
|
+
# Get hustle stats for a game
|
|
351
|
+
game = "0022400001"
|
|
352
|
+
|
|
353
|
+
# Player hustle stats
|
|
354
|
+
player_stats = NBA::BoxScoreHustle.player_stats(game: game)
|
|
355
|
+
curry = player_stats.find { |p| p.player_name == "Stephen Curry" }
|
|
356
|
+
curry.minutes # => "34:22"
|
|
357
|
+
curry.contested_shots # => 5
|
|
358
|
+
curry.deflections # => 3
|
|
359
|
+
curry.loose_balls_recovered # => 2
|
|
360
|
+
curry.screen_assists # => 8
|
|
361
|
+
curry.starter? # => true
|
|
362
|
+
|
|
363
|
+
# Team hustle stats
|
|
364
|
+
team_stats = NBA::BoxScoreHustle.team_stats(game: game)
|
|
365
|
+
gsw = team_stats.find { |t| t.team_abbreviation == "GSW" }
|
|
366
|
+
gsw.contested_shots # => 42
|
|
367
|
+
gsw.deflections # => 15
|
|
368
|
+
gsw.loose_balls_recovered # => 8
|
|
369
|
+
```
|
|
370
|
+
|
|
371
|
+
### Player Tracking Stats
|
|
372
|
+
|
|
373
|
+
```ruby
|
|
374
|
+
# Get player tracking stats for a game
|
|
375
|
+
game = "0022400001"
|
|
376
|
+
|
|
377
|
+
# Player tracking data
|
|
378
|
+
player_stats = NBA::BoxScorePlayerTrack.player_stats(game: game)
|
|
379
|
+
curry = player_stats.find { |p| p.player_name == "Stephen Curry" }
|
|
380
|
+
curry.speed # => 4.52 (mph)
|
|
381
|
+
curry.distance # => 2.85 (miles)
|
|
382
|
+
curry.touches # => 75
|
|
383
|
+
curry.passes # => 48
|
|
384
|
+
curry.secondary_ast # => 3
|
|
385
|
+
curry.front_court_touches # => 62
|
|
386
|
+
|
|
387
|
+
# Team tracking data
|
|
388
|
+
team_stats = NBA::BoxScorePlayerTrack.team_stats(game: game)
|
|
389
|
+
gsw = team_stats.find { |t| t.team_abbreviation == "GSW" }
|
|
390
|
+
gsw.distance # => 12.5 (team miles)
|
|
391
|
+
gsw.passes # => 285
|
|
392
|
+
```
|
|
393
|
+
|
|
394
|
+
### Game Summary
|
|
395
|
+
|
|
396
|
+
```ruby
|
|
397
|
+
# Get comprehensive game summary
|
|
398
|
+
game = "0022400001"
|
|
399
|
+
summary = NBA::BoxScoreSummaryV2.find(game: game)
|
|
400
|
+
|
|
401
|
+
# Game info
|
|
402
|
+
summary.game_date # => "2024-10-22"
|
|
403
|
+
summary.game_status_text # => "Final"
|
|
404
|
+
summary.arena # => "Chase Center"
|
|
405
|
+
summary.attendance # => 18064
|
|
406
|
+
|
|
407
|
+
# Score by quarter
|
|
408
|
+
summary.home_pts_q1 # => 28
|
|
409
|
+
summary.home_pts_q2 # => 32
|
|
410
|
+
summary.home_pts_q3 # => 25
|
|
411
|
+
summary.home_pts_q4 # => 33
|
|
412
|
+
summary.home_pts # => 118
|
|
413
|
+
|
|
414
|
+
summary.visitor_pts_q1 # => 25
|
|
415
|
+
summary.visitor_pts # => 109
|
|
416
|
+
|
|
417
|
+
# Other details
|
|
418
|
+
summary.officials # => ["Scott Foster", "Tony Brothers", "Courtney Kirkland"]
|
|
419
|
+
summary.lead_changes # => 12
|
|
420
|
+
summary.times_tied # => 8
|
|
421
|
+
|
|
422
|
+
# Game status helpers
|
|
423
|
+
summary.final? # => true
|
|
424
|
+
summary.in_progress? # => false
|
|
425
|
+
summary.scheduled? # => false
|
|
426
|
+
|
|
427
|
+
# Related objects
|
|
428
|
+
summary.home_team.full_name # => "Golden State Warriors"
|
|
429
|
+
summary.visitor_team.full_name # => "Los Angeles Lakers"
|
|
430
|
+
```
|
|
431
|
+
|
|
432
|
+
### Schedule
|
|
433
|
+
|
|
434
|
+
```ruby
|
|
435
|
+
# Get Warriors schedule for 2025-2026
|
|
436
|
+
schedule = NBA::Schedule.by_team(team: NBA::Team::GSW, season: 2025)
|
|
437
|
+
schedule.size # => 101
|
|
438
|
+
|
|
439
|
+
# Find opening night game (stored in UTC)
|
|
440
|
+
opener = schedule.find { |g| g.game_date&.start_with?("2025-10-22") }
|
|
441
|
+
opener.away_team_tricode # => "LAL"
|
|
442
|
+
opener.home_team_tricode # => "GSW"
|
|
443
|
+
opener.arena_name # => "Chase Center"
|
|
444
|
+
```
|
|
445
|
+
|
|
446
|
+
### Franchise History
|
|
447
|
+
|
|
448
|
+
```ruby
|
|
449
|
+
# Get all franchise histories
|
|
450
|
+
history = NBA::FranchiseHistory.all
|
|
451
|
+
history.size # => 74
|
|
452
|
+
|
|
453
|
+
# Find Warriors history
|
|
454
|
+
gsw = history.find { |h| h.team_id == NBA::Team::GSW }
|
|
455
|
+
gsw.start_year # => 1946
|
|
456
|
+
gsw.wins # => 3035
|
|
457
|
+
gsw.losses # => 3184
|
|
458
|
+
gsw.po_appearances # => 38
|
|
459
|
+
gsw.league_titles # => 7
|
|
460
|
+
|
|
461
|
+
# Get defunct franchises
|
|
462
|
+
defunct = NBA::FranchiseHistory.defunct
|
|
463
|
+
defunct.size # => 15
|
|
464
|
+
```
|
|
465
|
+
|
|
466
|
+
## Development
|
|
467
|
+
|
|
468
|
+
After checking out the repo, run `bundle install` to install dependencies.
|
|
469
|
+
|
|
470
|
+
### Running Tests
|
|
471
|
+
|
|
472
|
+
```bash
|
|
473
|
+
bundle exec rake test
|
|
474
|
+
```
|
|
475
|
+
|
|
476
|
+
### Running Linters
|
|
477
|
+
|
|
478
|
+
```bash
|
|
479
|
+
bundle exec rake lint
|
|
480
|
+
```
|
|
481
|
+
|
|
482
|
+
### Running Mutant (Mutation Testing)
|
|
483
|
+
|
|
484
|
+
```bash
|
|
485
|
+
bundle exec rake mutant
|
|
486
|
+
```
|
|
487
|
+
|
|
488
|
+
### Running Type Checker
|
|
489
|
+
|
|
490
|
+
```bash
|
|
491
|
+
bundle exec rake steep
|
|
492
|
+
```
|
|
493
|
+
|
|
494
|
+
### Generating Documentation
|
|
495
|
+
|
|
496
|
+
```bash
|
|
497
|
+
bundle exec rake yard
|
|
498
|
+
```
|
|
499
|
+
|
|
500
|
+
### Running All Quality Checks
|
|
501
|
+
|
|
502
|
+
```bash
|
|
503
|
+
bundle exec rake
|
|
504
|
+
```
|
|
505
|
+
|
|
506
|
+
## Contributing
|
|
107
507
|
|
|
108
|
-
|
|
109
|
-
Copyright (c) 2010-2014 Larry Lv. See [LICENSE][] for details.
|
|
508
|
+
Bug reports and pull requests are welcome on GitHub at https://github.com/sferik/nba-ruby.
|
|
110
509
|
|
|
111
|
-
|
|
510
|
+
## License
|
|
112
511
|
|
|
512
|
+
The gem is available as open source under the terms of the [MIT License](https://opensource.org/licenses/MIT).
|
data/bin/console
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
#!/usr/bin/env ruby
|
|
2
|
+
|
|
3
|
+
require "bundler/setup"
|
|
4
|
+
require "nba"
|
|
5
|
+
|
|
6
|
+
# You can add fixtures and/or initialization code here to make experimenting
|
|
7
|
+
# with your gem easier. You can also use a different console, if you like.
|
|
8
|
+
|
|
9
|
+
require "irb"
|
|
10
|
+
IRB.start(__FILE__)
|
data/bin/setup
ADDED