nba_stats 0.9.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 +7 -0
- data/.gitignore +22 -0
- data/.idea/.name +1 -0
- data/.idea/.rakeTasks +7 -0
- data/.idea/encodings.xml +5 -0
- data/.idea/misc.xml +21 -0
- data/.idea/modules.xml +9 -0
- data/.idea/nba_stats.iml +43 -0
- data/.idea/scopes/scope_settings.xml +5 -0
- data/.idea/vcs.xml +7 -0
- data/.idea/workspace.xml +782 -0
- data/Gemfile +4 -0
- data/LICENSE.txt +22 -0
- data/README.md +68 -0
- data/Rakefile +45 -0
- data/lib/nba_stats/client.rb +135 -0
- data/lib/nba_stats/configuration.rb +37 -0
- data/lib/nba_stats/constants.rb +96 -0
- data/lib/nba_stats/discovery/discovery.rb +193 -0
- data/lib/nba_stats/errors.rb +9 -0
- data/lib/nba_stats/helper.rb +10 -0
- data/lib/nba_stats/resources/box_score.rb +35 -0
- data/lib/nba_stats/resources/box_score_advanced.rb +38 -0
- data/lib/nba_stats/resources/box_score_four_factors.rb +38 -0
- data/lib/nba_stats/resources/box_score_misc.rb +38 -0
- data/lib/nba_stats/resources/box_score_scoring.rb +38 -0
- data/lib/nba_stats/resources/box_score_usage.rb +38 -0
- data/lib/nba_stats/resources/common_all_players.rb +23 -0
- data/lib/nba_stats/resources/common_player_info.rb +24 -0
- data/lib/nba_stats/resources/common_team_roster.rb +24 -0
- data/lib/nba_stats/resources/common_team_years.rb +24 -0
- data/lib/nba_stats/resources/draft_combine_drill_results.rb +24 -0
- data/lib/nba_stats/resources/draft_combine_non_stationary_shooting.rb +24 -0
- data/lib/nba_stats/resources/draft_combine_player_anthro.rb +24 -0
- data/lib/nba_stats/resources/draft_combine_spot_shooting.rb +24 -0
- data/lib/nba_stats/resources/draft_combine_stats.rb +24 -0
- data/lib/nba_stats/resources/franchise_history.rb +25 -0
- data/lib/nba_stats/resources/home_page_leaders.rb +26 -0
- data/lib/nba_stats/resources/league_dash_lineups.rb +24 -0
- data/lib/nba_stats/resources/league_dash_player_stats.rb +24 -0
- data/lib/nba_stats/resources/play_by_play.rb +25 -0
- data/lib/nba_stats/resources/player_career_stats.rb +29 -0
- data/lib/nba_stats/resources/player_profile.rb +31 -0
- data/lib/nba_stats/resources/resource_base.rb +86 -0
- data/lib/nba_stats/resources/scoreboard.rb +29 -0
- data/lib/nba_stats/resources/shot_chart_detail.rb +25 -0
- data/lib/nba_stats/resources/team_game_log.rb +23 -0
- data/lib/nba_stats/resources/team_info_common.rb +24 -0
- data/lib/nba_stats/resources/team_year_by_year_stats.rb +24 -0
- data/lib/nba_stats/stats/box_score.rb +42 -0
- data/lib/nba_stats/stats/box_score_advanced.rb +41 -0
- data/lib/nba_stats/stats/box_score_four_factors.rb +41 -0
- data/lib/nba_stats/stats/box_score_misc.rb +41 -0
- data/lib/nba_stats/stats/box_score_scoring.rb +41 -0
- data/lib/nba_stats/stats/box_score_usage.rb +41 -0
- data/lib/nba_stats/stats/common_all_players.rb +33 -0
- data/lib/nba_stats/stats/common_player_info.rb +33 -0
- data/lib/nba_stats/stats/common_team_roster.rb +33 -0
- data/lib/nba_stats/stats/common_team_years.rb +26 -0
- data/lib/nba_stats/stats/draft_combine_drill_results.rb +29 -0
- data/lib/nba_stats/stats/draft_combine_non_stationary_shooting.rb +29 -0
- data/lib/nba_stats/stats/draft_combine_player_anthro.rb +29 -0
- data/lib/nba_stats/stats/draft_combine_spot_shooting.rb +29 -0
- data/lib/nba_stats/stats/draft_combine_stats.rb +29 -0
- data/lib/nba_stats/stats/franchise_history.rb +26 -0
- data/lib/nba_stats/stats/home_page_leaders.rb +44 -0
- data/lib/nba_stats/stats/league_dash_lineups.rb +107 -0
- data/lib/nba_stats/stats/league_dash_player_stats.rb +104 -0
- data/lib/nba_stats/stats/play_by_play.rb +32 -0
- data/lib/nba_stats/stats/player_career_stats.rb +32 -0
- data/lib/nba_stats/stats/player_profile.rb +45 -0
- data/lib/nba_stats/stats/scoreboard.rb +33 -0
- data/lib/nba_stats/stats/shot_chart_detail.rb +95 -0
- data/lib/nba_stats/stats/team_game_log.rb +36 -0
- data/lib/nba_stats/stats/team_info_common.rb +36 -0
- data/lib/nba_stats/stats/team_year_by_year_stats.rb +38 -0
- data/lib/nba_stats/version.rb +3 -0
- data/lib/nba_stats.rb +8 -0
- data/nba_stats.gemspec +28 -0
- data/spec/client/box_score_advanced_spec.rb +30 -0
- data/spec/client/box_score_four_factors_spec.rb +30 -0
- data/spec/client/box_score_misc_spec.rb +30 -0
- data/spec/client/box_score_scoring_spec.rb +30 -0
- data/spec/client/box_score_spec.rb +30 -0
- data/spec/client/box_score_usage_spec.rb +30 -0
- data/spec/client/common_all_players_spec.rb +27 -0
- data/spec/client/common_player_info_spec.rb +33 -0
- data/spec/client/common_team_roster_spec.rb +27 -0
- data/spec/client/common_team_years_spec.rb +27 -0
- data/spec/client/draft_combine_drill_results_spec.rb +27 -0
- data/spec/client/draft_combine_non_stationary_shooting_spec.rb +27 -0
- data/spec/client/draft_combine_player_anthro_spec.rb +27 -0
- data/spec/client/draft_combine_spot_shooting_spec.rb +27 -0
- data/spec/client/draft_combine_stats_spec.rb +27 -0
- data/spec/client/franchise_history_spec.rb +30 -0
- data/spec/client/home_page_leaders_spec.rb +27 -0
- data/spec/client/league_dash_lineups_spec.rb +27 -0
- data/spec/client/league_dash_player_stats_spec.rb +27 -0
- data/spec/client/play_by_play_spec.rb +30 -0
- data/spec/client/player_career_stats_spec.rb +30 -0
- data/spec/client/player_profile_spec.rb +30 -0
- data/spec/client/scoreboard_spec.rb +30 -0
- data/spec/client/shot_chart_detail_spec.rb +27 -0
- data/spec/client/team_game_log_spec.rb +27 -0
- data/spec/client/team_info_common_spec.rb +30 -0
- data/spec/client/team_year_by_year_stats_spec.rb +30 -0
- data/spec/client_spec.rb +17 -0
- data/spec/configuration_spec.rb +38 -0
- data/spec/nba_stats_spec.rb +13 -0
- data/spec/spec_helper.rb +21 -0
- metadata +268 -0
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
require 'nba_stats/resources/draft_combine_spot_shooting'
|
|
2
|
+
|
|
3
|
+
module NbaStats
|
|
4
|
+
|
|
5
|
+
module DraftCombineSpotShooting
|
|
6
|
+
|
|
7
|
+
# The path of the draftcombinespotshooting API
|
|
8
|
+
DRAFT_COMBINE_SPOT_SHOOTING_PATH = '/stats/draftcombinespotshooting'
|
|
9
|
+
|
|
10
|
+
# Calls the draftcombinespotshooting API and returns a DraftCombineSpotShooting resource.
|
|
11
|
+
#
|
|
12
|
+
# @param season_year [String]
|
|
13
|
+
# @param league_id [String]
|
|
14
|
+
# @return [NbaStats::Resources::DraftCombineSpotShooting]
|
|
15
|
+
def draft_combine_spot_shooting(
|
|
16
|
+
season_year,
|
|
17
|
+
league_id=NbaStats::Constants::LEAGUE_ID_NBA
|
|
18
|
+
)
|
|
19
|
+
NbaStats::Resources::DraftCombineSpotShooting.new(
|
|
20
|
+
get(DRAFT_COMBINE_SPOT_SHOOTING_PATH, {
|
|
21
|
+
:LeagueID => league_id,
|
|
22
|
+
:SeasonYear => season_year
|
|
23
|
+
})
|
|
24
|
+
)
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
end # DraftCombineSpotShooting
|
|
28
|
+
|
|
29
|
+
end
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
require 'nba_stats/resources/draft_combine_stats'
|
|
2
|
+
|
|
3
|
+
module NbaStats
|
|
4
|
+
|
|
5
|
+
module DraftCombineStats
|
|
6
|
+
|
|
7
|
+
# The path of the draftcombinestats API
|
|
8
|
+
DRAFT_COMBINE_STATS_PATH = '/stats/draftcombinestats/'
|
|
9
|
+
|
|
10
|
+
# Calls the draftcombinestats API and returns a DraftCombineStats resource.
|
|
11
|
+
#
|
|
12
|
+
# @param season_year [String]
|
|
13
|
+
# @param league_id [String]
|
|
14
|
+
# @return [NbaStats::Resources::DraftCombineStats]
|
|
15
|
+
def draft_combine_stats(
|
|
16
|
+
season_year,
|
|
17
|
+
league_id=NbaStats::Constants::LEAGUE_ID_NBA
|
|
18
|
+
)
|
|
19
|
+
NbaStats::Resources::DraftCombineStats.new(
|
|
20
|
+
get(DRAFT_COMBINE_STATS_PATH, {
|
|
21
|
+
:LeagueID => league_id,
|
|
22
|
+
:SeasonYear => season_year
|
|
23
|
+
})
|
|
24
|
+
)
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
end # DraftCombineStats
|
|
28
|
+
|
|
29
|
+
end
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
require 'nba_stats/resources/franchise_history'
|
|
2
|
+
|
|
3
|
+
module NbaStats
|
|
4
|
+
|
|
5
|
+
module FranchiseHistory
|
|
6
|
+
|
|
7
|
+
# The path of the franchisehistory API
|
|
8
|
+
FRANCHISE_HISTORY_PATH = '/stats/franchisehistory'
|
|
9
|
+
|
|
10
|
+
# Calls the franchisehistory API and returns a FranchiseHistory resource.
|
|
11
|
+
#
|
|
12
|
+
# @param league_id [String]
|
|
13
|
+
# @return [NbaStats::Resources::FranchiseHistory]
|
|
14
|
+
def franchise_history(
|
|
15
|
+
league_id=NbaStats::Constants::LEAGUE_ID_NBA
|
|
16
|
+
)
|
|
17
|
+
NbaStats::Resources::FranchiseHistory.new(
|
|
18
|
+
get(FRANCHISE_HISTORY_PATH, {
|
|
19
|
+
:LeagueID => league_id
|
|
20
|
+
})
|
|
21
|
+
)
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
end # FranchiseHistory
|
|
25
|
+
|
|
26
|
+
end
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
require 'nba_stats/resources/home_page_leaders'
|
|
2
|
+
|
|
3
|
+
module NbaStats
|
|
4
|
+
|
|
5
|
+
module HomePageLeaders
|
|
6
|
+
|
|
7
|
+
# The path of the homepageleaders API
|
|
8
|
+
HOME_PAGE_LEADERS_PATH = '/stats/homepageleaders'
|
|
9
|
+
|
|
10
|
+
# Calls the homepageleaders API and returns a HomePageLeaders resource.
|
|
11
|
+
#
|
|
12
|
+
# @param season [String]
|
|
13
|
+
# @param season_type [String]
|
|
14
|
+
# @param league_id [String]
|
|
15
|
+
# @param game_scope [String]
|
|
16
|
+
# @param stat_category [String]
|
|
17
|
+
# @param player_scope [String]
|
|
18
|
+
# @param player_or_team [String]
|
|
19
|
+
# @return [NbaStats::Resources::HomePageLeaders]
|
|
20
|
+
def home_page_leaders(
|
|
21
|
+
season,
|
|
22
|
+
game_scope=NbaStats::Constants::GAME_SCOPE_SEASON,
|
|
23
|
+
stat_category=NbaStats::Constants::STAT_CATEGORY_POINTS,
|
|
24
|
+
player_scope=NbaStats::Constants::PLAYER_SCOPE_ALL_PLAYERS,
|
|
25
|
+
player_or_team=NbaStats::Constants::PLAYER_OR_TEAM_PLAYER,
|
|
26
|
+
season_type=NbaStats::Constants::SEASON_TYPE_REGULAR,
|
|
27
|
+
league_id=NbaStats::Constants::LEAGUE_ID_NBA
|
|
28
|
+
)
|
|
29
|
+
NbaStats::Resources::HomePageLeaders.new(
|
|
30
|
+
get(HOME_PAGE_LEADERS_PATH, {
|
|
31
|
+
:Season => season,
|
|
32
|
+
:SeasonType => season_type,
|
|
33
|
+
:LeagueID => league_id,
|
|
34
|
+
:GameScope => game_scope,
|
|
35
|
+
:StatCategory => stat_category,
|
|
36
|
+
:PlayerScope => player_scope,
|
|
37
|
+
:PlayerOrTeam => player_or_team
|
|
38
|
+
})
|
|
39
|
+
)
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
end # HomePageLeaders
|
|
43
|
+
|
|
44
|
+
end
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
require 'nba_stats/resources/league_dash_lineups'
|
|
2
|
+
|
|
3
|
+
module NbaStats
|
|
4
|
+
|
|
5
|
+
module LeagueDashLineups
|
|
6
|
+
|
|
7
|
+
# The path of the leaguedashlineups API
|
|
8
|
+
LEAGUE_DASH_LINEUPS_PATH = '/stats/leaguedashlineups'
|
|
9
|
+
|
|
10
|
+
# Calls the leaguedashlineups API and returns a LeagueDashLineups resource.
|
|
11
|
+
#
|
|
12
|
+
# @param season [String]
|
|
13
|
+
# @param team_id [Integer]
|
|
14
|
+
# @param group_quantity [Integer]
|
|
15
|
+
# @param measure_type [String]
|
|
16
|
+
# @param per_mode [String]
|
|
17
|
+
# @param plus_minus [String]
|
|
18
|
+
# @param pace_adjust [String]
|
|
19
|
+
# @param rank [String]
|
|
20
|
+
# @param outcome [String]
|
|
21
|
+
# @param location [String]
|
|
22
|
+
# @param month [Integer]
|
|
23
|
+
# @param season_segment [String]
|
|
24
|
+
# @param date_from [Date]
|
|
25
|
+
# @param date_to [Date]
|
|
26
|
+
# @param opponent_team_id [Integer]
|
|
27
|
+
# @param vs_conference [String]
|
|
28
|
+
# @param vs_division [String]
|
|
29
|
+
# @param game_segment [String]
|
|
30
|
+
# @param period [Integer]
|
|
31
|
+
# @param last_n_games [Integer]
|
|
32
|
+
# @param game_scope [String]
|
|
33
|
+
# @param player_experience [Integer]
|
|
34
|
+
# @param player_position [String]
|
|
35
|
+
# @param starter_bench [String]
|
|
36
|
+
# @param season_type [String]
|
|
37
|
+
# @param league_id [String]
|
|
38
|
+
# @return [NbaStats::Resources::LeagueDashLineups]
|
|
39
|
+
def league_dash_lineups(
|
|
40
|
+
season,
|
|
41
|
+
team_id=nil,
|
|
42
|
+
group_quantity=5,
|
|
43
|
+
measure_type=NbaStats::Constants::MEASURE_TYPE_BASE,
|
|
44
|
+
per_mode=NbaStats::Constants::PER_MODE_GAME,
|
|
45
|
+
plus_minus=NbaStats::Constants::NO,
|
|
46
|
+
pace_adjust=NbaStats::Constants::NO,
|
|
47
|
+
rank=NbaStats::Constants::NO,
|
|
48
|
+
outcome=nil,
|
|
49
|
+
location=nil,
|
|
50
|
+
month=0,
|
|
51
|
+
season_segment=nil,
|
|
52
|
+
date_from=nil,
|
|
53
|
+
date_to=nil,
|
|
54
|
+
opponent_team_id=0,
|
|
55
|
+
vs_conference=nil,
|
|
56
|
+
vs_division=nil,
|
|
57
|
+
game_segment=nil,
|
|
58
|
+
period=0,
|
|
59
|
+
last_n_games=0,
|
|
60
|
+
game_scope=nil,
|
|
61
|
+
player_experience=nil,
|
|
62
|
+
player_position=nil,
|
|
63
|
+
starter_bench=nil,
|
|
64
|
+
season_type=NbaStats::Constants::SEASON_TYPE_REGULAR,
|
|
65
|
+
league_id=NbaStats::Constants::LEAGUE_ID_NBA
|
|
66
|
+
)
|
|
67
|
+
unless date_from.nil?
|
|
68
|
+
date_from = date_from.strftime('%m-%d-%Y')
|
|
69
|
+
end
|
|
70
|
+
unless date_to.nil?
|
|
71
|
+
date_to = date_to.strftime('%m-%d-%Y')
|
|
72
|
+
end
|
|
73
|
+
NbaStats::Resources::LeagueDashLineups.new(
|
|
74
|
+
get(LEAGUE_DASH_LINEUPS_PATH, {
|
|
75
|
+
:Season => season,
|
|
76
|
+
:SeasonType => season_type,
|
|
77
|
+
:LeagueID => league_id,
|
|
78
|
+
:TeamID => team_id,
|
|
79
|
+
:MeasureType => measure_type,
|
|
80
|
+
:PerMode => per_mode,
|
|
81
|
+
:PlusMinus => plus_minus,
|
|
82
|
+
:PaceAdjust => pace_adjust,
|
|
83
|
+
:Rank => rank,
|
|
84
|
+
:Outcome => outcome,
|
|
85
|
+
:Location => location,
|
|
86
|
+
:Month => month,
|
|
87
|
+
:SeasonSegment => season_segment,
|
|
88
|
+
:DateFrom => date_from,
|
|
89
|
+
:DateTo => date_to,
|
|
90
|
+
:OpponentTeamID => opponent_team_id,
|
|
91
|
+
:VsConference => vs_conference,
|
|
92
|
+
:VsDivision => vs_division,
|
|
93
|
+
:GameSegment => game_segment,
|
|
94
|
+
:Period => period,
|
|
95
|
+
:LastNGames => last_n_games,
|
|
96
|
+
:GroupQuantity => group_quantity,
|
|
97
|
+
:GameScope => game_scope,
|
|
98
|
+
:PlayerExperience => player_experience,
|
|
99
|
+
:PlayerPosition => player_position,
|
|
100
|
+
:StarterBench => starter_bench
|
|
101
|
+
})
|
|
102
|
+
)
|
|
103
|
+
end
|
|
104
|
+
|
|
105
|
+
end # LeagueDashLineups
|
|
106
|
+
|
|
107
|
+
end
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
require 'nba_stats/resources/league_dash_player_stats'
|
|
2
|
+
|
|
3
|
+
module NbaStats
|
|
4
|
+
|
|
5
|
+
module LeagueDashPlayerStats
|
|
6
|
+
|
|
7
|
+
# The path of the leaguedashplayerstats API
|
|
8
|
+
LEAGUE_DASH_PLAYER_STATS_PATH = '/stats/leaguedashplayerstats'
|
|
9
|
+
|
|
10
|
+
# Calls the leaguedashplayerstats API and returns a LeagueDashPlayerStats resource.
|
|
11
|
+
#
|
|
12
|
+
# @param season [String]
|
|
13
|
+
# @param measure_type [String]
|
|
14
|
+
# @param per_mode [String]
|
|
15
|
+
# @param plus_minus [String]
|
|
16
|
+
# @param pace_adjust [String]
|
|
17
|
+
# @param rank [String]
|
|
18
|
+
# @param outcome [String]
|
|
19
|
+
# @param location [String]
|
|
20
|
+
# @param month [Integer]
|
|
21
|
+
# @param season_segment [xxxxxxxxxx]
|
|
22
|
+
# @param date_from [Date]
|
|
23
|
+
# @param date_to [Date]
|
|
24
|
+
# @param opponent_team_id [Integer]
|
|
25
|
+
# @param vs_conference [String]
|
|
26
|
+
# @param vs_division [String]
|
|
27
|
+
# @param game_segment [String]
|
|
28
|
+
# @param period [Integer]
|
|
29
|
+
# @param last_n_games [String]
|
|
30
|
+
# @param game_scope [String]
|
|
31
|
+
# @param player_experience [String]
|
|
32
|
+
# @param player_position [String]
|
|
33
|
+
# @param starter_bench [String]
|
|
34
|
+
# @param conf [String]
|
|
35
|
+
# @param season_type [String]
|
|
36
|
+
# @param league_id [String]
|
|
37
|
+
# @return [NbaStats::Resources::LeagueDashPlayerStats]
|
|
38
|
+
def league_dash_player_stats(
|
|
39
|
+
season,
|
|
40
|
+
measure_type=NbaStats::Constants::MEASURE_TYPE_BASE,
|
|
41
|
+
per_mode=NbaStats::Constants::PER_MODE_GAME,
|
|
42
|
+
plus_minus=NbaStats::Constants::NO,
|
|
43
|
+
pace_adjust=NbaStats::Constants::NO,
|
|
44
|
+
rank=NbaStats::Constants::NO,
|
|
45
|
+
outcome=nil,
|
|
46
|
+
location=nil,
|
|
47
|
+
month=0,
|
|
48
|
+
season_segment=nil,
|
|
49
|
+
date_from=nil,
|
|
50
|
+
date_to=nil,
|
|
51
|
+
opponent_team_id=0,
|
|
52
|
+
vs_conference=nil,
|
|
53
|
+
vs_division=nil,
|
|
54
|
+
game_segment=nil,
|
|
55
|
+
period=0,
|
|
56
|
+
last_n_games=0,
|
|
57
|
+
game_scope=nil,
|
|
58
|
+
player_experience=nil,
|
|
59
|
+
player_position=nil,
|
|
60
|
+
starter_bench=nil,
|
|
61
|
+
conf=NbaStats::Constants::CONF_BOTH,
|
|
62
|
+
season_type=NbaStats::Constants::SEASON_TYPE_REGULAR,
|
|
63
|
+
league_id=NbaStats::Constants::LEAGUE_ID_NBA
|
|
64
|
+
)
|
|
65
|
+
unless date_from.nil?
|
|
66
|
+
date_from = date_from.strftime('%m-%d-%Y')
|
|
67
|
+
end
|
|
68
|
+
unless date_to.nil?
|
|
69
|
+
date_to = date_to.strftime('%m-%d-%Y')
|
|
70
|
+
end
|
|
71
|
+
NbaStats::Resources::LeagueDashPlayerStats.new(
|
|
72
|
+
get(LEAGUE_DASH_PLAYER_STATS_PATH, {
|
|
73
|
+
:Season => season,
|
|
74
|
+
:SeasonType => season_type,
|
|
75
|
+
:LeagueID => league_id,
|
|
76
|
+
:MeasureType => measure_type,
|
|
77
|
+
:PerMode => per_mode,
|
|
78
|
+
:PlusMinus => plus_minus,
|
|
79
|
+
:PaceAdjust => pace_adjust,
|
|
80
|
+
:Rank => rank,
|
|
81
|
+
:Outcome => outcome,
|
|
82
|
+
:Location => location,
|
|
83
|
+
:Month => month,
|
|
84
|
+
:SeasonSegment => season_segment,
|
|
85
|
+
:DateFrom => date_from,
|
|
86
|
+
:DateTo => date_to,
|
|
87
|
+
:OpponentTeamID => opponent_team_id,
|
|
88
|
+
:VsConference => vs_conference,
|
|
89
|
+
:VsDivision => vs_division,
|
|
90
|
+
:GameSegment => game_segment,
|
|
91
|
+
:Period => period,
|
|
92
|
+
:LastNGames => last_n_games,
|
|
93
|
+
:GameScope => game_scope,
|
|
94
|
+
:PlayerExperience => player_experience,
|
|
95
|
+
:PlayerPosition => player_position,
|
|
96
|
+
:StarterBench => starter_bench,
|
|
97
|
+
:Conf => conf
|
|
98
|
+
})
|
|
99
|
+
)
|
|
100
|
+
end
|
|
101
|
+
|
|
102
|
+
end # LeagueDashPlayerStats
|
|
103
|
+
|
|
104
|
+
end
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
require 'nba_stats/resources/play_by_play'
|
|
2
|
+
|
|
3
|
+
module NbaStats
|
|
4
|
+
|
|
5
|
+
module PlayByPlay
|
|
6
|
+
|
|
7
|
+
# The path of the playbyplay API
|
|
8
|
+
PLAY_BY_PLAY_PATH = '/stats/playbyplay'
|
|
9
|
+
|
|
10
|
+
# Calls the playbyplay API and returns a PlayByPlay resource.
|
|
11
|
+
#
|
|
12
|
+
# @param game_id [String]
|
|
13
|
+
# @param start_period [Integer]
|
|
14
|
+
# @param end_period [Integer]
|
|
15
|
+
# @return [NbaStats::Resources::PlayByPlay]
|
|
16
|
+
def play_by_play(
|
|
17
|
+
game_id,
|
|
18
|
+
start_period=0,
|
|
19
|
+
end_period=0
|
|
20
|
+
)
|
|
21
|
+
NbaStats::Resources::PlayByPlay.new(
|
|
22
|
+
get(PLAY_BY_PLAY_PATH, {
|
|
23
|
+
:GameID => game_id,
|
|
24
|
+
:StartPeriod => start_period,
|
|
25
|
+
:EndPeriod => end_period
|
|
26
|
+
})
|
|
27
|
+
)
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
end # PlayByPlay
|
|
31
|
+
|
|
32
|
+
end
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
require 'nba_stats/resources/player_career_stats'
|
|
2
|
+
|
|
3
|
+
module NbaStats
|
|
4
|
+
|
|
5
|
+
module PlayerCareerStats
|
|
6
|
+
|
|
7
|
+
# The path of the playercareerstats API
|
|
8
|
+
PLAYER_CAREER_STATS_PATH = '/stats/playercareerstats'
|
|
9
|
+
|
|
10
|
+
# Calls the playercareerstats API and returns a PlayerCareerStats resource.
|
|
11
|
+
#
|
|
12
|
+
# @param player_id [Integer]
|
|
13
|
+
# @param per_mode [String]
|
|
14
|
+
# @param league_id [String]
|
|
15
|
+
# @return [NbaStats::Resources::PlayerCareerStats]
|
|
16
|
+
def player_career_stats(
|
|
17
|
+
player_id,
|
|
18
|
+
per_mode=NbaStats::Constants::PER_MODE_TOTALS,
|
|
19
|
+
league_id=NbaStats::Constants::LEAGUE_ID_NBA
|
|
20
|
+
)
|
|
21
|
+
NbaStats::Resources::PlayerCareerStats.new(
|
|
22
|
+
get(PLAYER_CAREER_STATS_PATH, {
|
|
23
|
+
:PlayerID => player_id,
|
|
24
|
+
:LeagueID => league_id,
|
|
25
|
+
:PerMode => per_mode
|
|
26
|
+
})
|
|
27
|
+
)
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
end # PlayerCareerStats
|
|
31
|
+
|
|
32
|
+
end
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
require 'nba_stats/resources/player_profile'
|
|
2
|
+
require 'nba_stats/constants'
|
|
3
|
+
|
|
4
|
+
module NbaStats
|
|
5
|
+
|
|
6
|
+
module PlayerProfile
|
|
7
|
+
|
|
8
|
+
# The path of the playerprofile API
|
|
9
|
+
PLAYER_PROFILE_PATH = '/stats/playerprofile'
|
|
10
|
+
|
|
11
|
+
# Calls the playerprofile API and returns a PlayerProfile resource.
|
|
12
|
+
#
|
|
13
|
+
# @param player_id [Integer]
|
|
14
|
+
# @param season [String]
|
|
15
|
+
# @param graph_start_season [String]
|
|
16
|
+
# @param graph_end_season [String]
|
|
17
|
+
# @param graph_stat [String]
|
|
18
|
+
# @param season_type [String]
|
|
19
|
+
# @param league_id [String]
|
|
20
|
+
# @return [NbaStats::Resources::PlayerProfile]
|
|
21
|
+
def player_profile(
|
|
22
|
+
player_id,
|
|
23
|
+
season,
|
|
24
|
+
graph_start_season,
|
|
25
|
+
graph_end_season,
|
|
26
|
+
graph_stat=NbaStats::Constants::GRAPH_STAT_POINTS,
|
|
27
|
+
season_type=NbaStats::Constants::SEASON_TYPE_REGULAR,
|
|
28
|
+
league_id=NbaStats::Constants::LEAGUE_ID_NBA
|
|
29
|
+
)
|
|
30
|
+
NbaStats::Resources::PlayerProfile.new(
|
|
31
|
+
get(PLAYER_PROFILE_PATH, {
|
|
32
|
+
:Season => season,
|
|
33
|
+
:SeasonType => season_type,
|
|
34
|
+
:LeagueID => league_id,
|
|
35
|
+
:PlayerID => player_id,
|
|
36
|
+
:GraphStartSeason => graph_start_season,
|
|
37
|
+
:GraphEndSeason => graph_end_season,
|
|
38
|
+
:GraphStat => graph_stat
|
|
39
|
+
})
|
|
40
|
+
)
|
|
41
|
+
end
|
|
42
|
+
|
|
43
|
+
end # PlayerProfile
|
|
44
|
+
|
|
45
|
+
end
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
require 'nba_stats/resources/scoreboard'
|
|
2
|
+
require 'nba_stats/constants'
|
|
3
|
+
|
|
4
|
+
module NbaStats
|
|
5
|
+
|
|
6
|
+
module Scoreboard
|
|
7
|
+
|
|
8
|
+
# The path of the scoreboard API
|
|
9
|
+
SCOREBOARD_PATH = '/stats/scoreboard'
|
|
10
|
+
|
|
11
|
+
# Calls the scoreboard API and returns a Scoreboard resource.
|
|
12
|
+
#
|
|
13
|
+
# @param game_date [Date]
|
|
14
|
+
# @param day_offset [Integer]
|
|
15
|
+
# @param league_id [String]
|
|
16
|
+
# @return [NbaStats::Resources::Scoreboard]
|
|
17
|
+
def scoreboard(
|
|
18
|
+
game_date=Date.today,
|
|
19
|
+
day_offset=0,
|
|
20
|
+
league_id=NbaStats::Constants::LEAGUE_ID_NBA
|
|
21
|
+
)
|
|
22
|
+
NbaStats::Resources::Scoreboard.new(
|
|
23
|
+
get(SCOREBOARD_PATH, {
|
|
24
|
+
:LeagueID => league_id,
|
|
25
|
+
:GameDate => game_date.strftime('%m-%d-%Y'),
|
|
26
|
+
:DayOffset => day_offset
|
|
27
|
+
})
|
|
28
|
+
)
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
end # Scoreboard
|
|
32
|
+
|
|
33
|
+
end
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
require 'nba_stats/resources/shot_chart_detail'
|
|
2
|
+
|
|
3
|
+
module NbaStats
|
|
4
|
+
|
|
5
|
+
module ShotChartDetail
|
|
6
|
+
|
|
7
|
+
# The path of the shotchartdetail API
|
|
8
|
+
SHOT_CHART_DETAIL_PATH = '/stats/shotchartdetail'
|
|
9
|
+
|
|
10
|
+
# Calls the shotchartdetail API and returns a ShotChartDetail resource.
|
|
11
|
+
#
|
|
12
|
+
# @param season [String]
|
|
13
|
+
# @param team_id [Integer]
|
|
14
|
+
# @param player_id [Integer]
|
|
15
|
+
# @param game_id [String]
|
|
16
|
+
# @param outcome [String]
|
|
17
|
+
# @param location [String]
|
|
18
|
+
# @param month [Integer]
|
|
19
|
+
# @param season_segment [String]
|
|
20
|
+
# @param date_from [Date]
|
|
21
|
+
# @param date_to [Date]
|
|
22
|
+
# @param opponent_team_id [Integer]
|
|
23
|
+
# @param vs_conference [String]
|
|
24
|
+
# @param vs_division [String]
|
|
25
|
+
# @param position [String]
|
|
26
|
+
# @param rookie_year [String]
|
|
27
|
+
# @param game_segment [String]
|
|
28
|
+
# @param period [Integer]
|
|
29
|
+
# @param last_n_games [Integer]
|
|
30
|
+
# @param context_filter [String]
|
|
31
|
+
# @param context_measure [String]
|
|
32
|
+
# @param season_type [String]
|
|
33
|
+
# @param league_id [String]
|
|
34
|
+
# @return [NbaStats::Resources::ShotChartDetail]
|
|
35
|
+
def shot_chart_detail(
|
|
36
|
+
season,
|
|
37
|
+
team_id,
|
|
38
|
+
player_id,
|
|
39
|
+
game_id=nil,
|
|
40
|
+
outcome=nil,
|
|
41
|
+
location=nil,
|
|
42
|
+
month=0,
|
|
43
|
+
season_segment=nil,
|
|
44
|
+
date_from=nil,
|
|
45
|
+
date_to=nil,
|
|
46
|
+
opponent_team_id=0,
|
|
47
|
+
vs_conference=nil,
|
|
48
|
+
vs_division=nil,
|
|
49
|
+
position=nil,
|
|
50
|
+
rookie_year=nil,
|
|
51
|
+
game_segment=nil,
|
|
52
|
+
period=0,
|
|
53
|
+
last_n_games=0,
|
|
54
|
+
context_filter=nil,
|
|
55
|
+
context_measure=NbaStats::Constants::CONTEXT_MEASURE_FG_PCT,
|
|
56
|
+
season_type=NbaStats::Constants::SEASON_TYPE_REGULAR,
|
|
57
|
+
league_id=NbaStats::Constants::LEAGUE_ID_NBA
|
|
58
|
+
)
|
|
59
|
+
unless date_from.nil?
|
|
60
|
+
date_from = date_from.strftime('%m-%d-%Y')
|
|
61
|
+
end
|
|
62
|
+
unless date_to.nil?
|
|
63
|
+
date_to = date_to.strftime('%m-%d-%Y')
|
|
64
|
+
end
|
|
65
|
+
NbaStats::Resources::ShotChartDetail.new(
|
|
66
|
+
get(SHOT_CHART_DETAIL_PATH, {
|
|
67
|
+
:Season => season,
|
|
68
|
+
:SeasonType => season_type,
|
|
69
|
+
:LeagueID => league_id,
|
|
70
|
+
:TeamID => team_id,
|
|
71
|
+
:PlayerID => player_id,
|
|
72
|
+
:GameID => game_id,
|
|
73
|
+
:Outcome => outcome,
|
|
74
|
+
:Location => location,
|
|
75
|
+
:Month => month,
|
|
76
|
+
:SeasonSegment => season_segment,
|
|
77
|
+
:DateFrom => date_from,
|
|
78
|
+
:DateTo => date_to,
|
|
79
|
+
:OpponentTeamID => opponent_team_id,
|
|
80
|
+
:VsConference => vs_conference,
|
|
81
|
+
:VsDivision => vs_division,
|
|
82
|
+
:Position => position,
|
|
83
|
+
:RookieYear => rookie_year,
|
|
84
|
+
:GameSegment => game_segment,
|
|
85
|
+
:Period => period,
|
|
86
|
+
:LastNGames => last_n_games,
|
|
87
|
+
:ContextFilter => context_filter,
|
|
88
|
+
:ContextMeasure => context_measure
|
|
89
|
+
})
|
|
90
|
+
)
|
|
91
|
+
end
|
|
92
|
+
|
|
93
|
+
end # ShotChartDetail
|
|
94
|
+
|
|
95
|
+
end
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
require 'nba_stats/resources/team_game_log'
|
|
2
|
+
require 'nba_stats/constants'
|
|
3
|
+
|
|
4
|
+
module NbaStats
|
|
5
|
+
|
|
6
|
+
module TeamGameLog
|
|
7
|
+
|
|
8
|
+
# The path of the teamgamelog API
|
|
9
|
+
TEAM_GAME_LOG_PATH = '/stats/teamgamelog'
|
|
10
|
+
|
|
11
|
+
# Calls the teamgamelog API and returns a TeamGameLog resource.
|
|
12
|
+
#
|
|
13
|
+
# @param team_id [Integer]
|
|
14
|
+
# @param season [String]
|
|
15
|
+
# @param season_type [String]
|
|
16
|
+
# @param league_id [String]
|
|
17
|
+
# @return [NbaStats::Resources::TeamGameLog]
|
|
18
|
+
def team_game_log(
|
|
19
|
+
team_id,
|
|
20
|
+
season,
|
|
21
|
+
season_type=NbaStats::Constants::SEASON_TYPE_REGULAR,
|
|
22
|
+
league_id=NbaStats::Constants::LEAGUE_ID_NBA
|
|
23
|
+
)
|
|
24
|
+
NbaStats::Resources::TeamGameLog.new(
|
|
25
|
+
get(TEAM_GAME_LOG_PATH, {
|
|
26
|
+
:Season => season,
|
|
27
|
+
:SeasonType => season_type,
|
|
28
|
+
:LeagueID => league_id,
|
|
29
|
+
:TeamID => team_id
|
|
30
|
+
})
|
|
31
|
+
)
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
end # TeamGameLog
|
|
35
|
+
|
|
36
|
+
end
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
require 'nba_stats/resources/team_info_common'
|
|
2
|
+
require 'nba_stats/constants'
|
|
3
|
+
|
|
4
|
+
module NbaStats
|
|
5
|
+
|
|
6
|
+
module TeamInfoCommon
|
|
7
|
+
|
|
8
|
+
# The path of the teaminfocommon API
|
|
9
|
+
TEAM_INFO_COMMON_PATH = '/stats/teaminfocommon'
|
|
10
|
+
|
|
11
|
+
# Calls the teaminfocommon API and returns a TeamInfoCommon resource.
|
|
12
|
+
#
|
|
13
|
+
# @param team_id [Integer]
|
|
14
|
+
# @param season [String]
|
|
15
|
+
# @param season_type [String]
|
|
16
|
+
# @param league_id [String]
|
|
17
|
+
# @return [NbaStats::Resources::TeamInfoCommon]
|
|
18
|
+
def team_info_common(
|
|
19
|
+
team_id,
|
|
20
|
+
season,
|
|
21
|
+
season_type=NbaStats::Constants::SEASON_TYPE_REGULAR,
|
|
22
|
+
league_id=NbaStats::Constants::LEAGUE_ID_NBA
|
|
23
|
+
)
|
|
24
|
+
NbaStats::Resources::TeamInfoCommon.new(
|
|
25
|
+
get(TEAM_INFO_COMMON_PATH, {
|
|
26
|
+
:Season => season,
|
|
27
|
+
:SeasonType => season_type,
|
|
28
|
+
:LeagueID => league_id,
|
|
29
|
+
:TeamID => team_id
|
|
30
|
+
})
|
|
31
|
+
)
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
end # TeamInfoCommon
|
|
35
|
+
|
|
36
|
+
end
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
require 'nba_stats/resources/team_year_by_year_stats'
|
|
2
|
+
|
|
3
|
+
module NbaStats
|
|
4
|
+
|
|
5
|
+
module TeamYearByYearStats
|
|
6
|
+
|
|
7
|
+
# The path of the teamyearbyyearstats API
|
|
8
|
+
TEAM_YEAR_BY_YEAR_STATS_PATH = '/stats/teamyearbyyearstats'
|
|
9
|
+
|
|
10
|
+
# Calls the teamyearbyyearstats API and returns a TeamYearByYearStats resource.
|
|
11
|
+
#
|
|
12
|
+
# @param team_id [Integer]
|
|
13
|
+
# @param season [String]
|
|
14
|
+
# @param per_mode [String]
|
|
15
|
+
# @param season_type [String]
|
|
16
|
+
# @param league_id [String]
|
|
17
|
+
# @return [NbaStats::Resources::TeamYearByYearStats]
|
|
18
|
+
def team_year_by_year_stats(
|
|
19
|
+
team_id,
|
|
20
|
+
season,
|
|
21
|
+
per_mode=NbaStats::Constants::PER_MODE_TOTALS,
|
|
22
|
+
season_type=NbaStats::Constants::SEASON_TYPE_REGULAR,
|
|
23
|
+
league_id=NbaStats::Constants::LEAGUE_ID_NBA
|
|
24
|
+
)
|
|
25
|
+
NbaStats::Resources::TeamYearByYearStats.new(
|
|
26
|
+
get(TEAM_YEAR_BY_YEAR_STATS_PATH, {
|
|
27
|
+
:LeagueID => league_id,
|
|
28
|
+
:PerMode => per_mode,
|
|
29
|
+
:SeasonType => season_type,
|
|
30
|
+
:TeamID => team_id,
|
|
31
|
+
:Season => season
|
|
32
|
+
})
|
|
33
|
+
)
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
end # TeamYearByYearStats
|
|
37
|
+
|
|
38
|
+
end
|