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,86 @@
|
|
|
1
|
+
require 'nba_stats/helper'
|
|
2
|
+
require 'nba_stats/errors'
|
|
3
|
+
|
|
4
|
+
module NbaStats
|
|
5
|
+
|
|
6
|
+
module Resources
|
|
7
|
+
|
|
8
|
+
class ResourceBase
|
|
9
|
+
|
|
10
|
+
attr_reader :json, :name, :params, :result_sets
|
|
11
|
+
|
|
12
|
+
# Initialize a new ResourceBase object
|
|
13
|
+
#
|
|
14
|
+
# @param resource_json [String]
|
|
15
|
+
# @return [NbaStats::Resources::ResourceBase]
|
|
16
|
+
def initialize(resource_json)
|
|
17
|
+
@json = JSON.parse(resource_json)
|
|
18
|
+
parse_base
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
# Provide the object JSON as a pretty printed string
|
|
22
|
+
#
|
|
23
|
+
# @return [String]
|
|
24
|
+
def to_s
|
|
25
|
+
JSON.pretty_generate(@json)
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
# Must be implemented by sub classes
|
|
29
|
+
#
|
|
30
|
+
# @return [Array]
|
|
31
|
+
def valid_result_sets
|
|
32
|
+
Array.new
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
private
|
|
36
|
+
|
|
37
|
+
# Parse the returned API object.do
|
|
38
|
+
# Initialize instance variables and define accessors.
|
|
39
|
+
def parse_base
|
|
40
|
+
@name = json['resource']
|
|
41
|
+
@params = json['parameters']
|
|
42
|
+
@result_sets = json['resultSets']
|
|
43
|
+
|
|
44
|
+
result_sets.each do |result_set|
|
|
45
|
+
result_set_name = result_set['name'].underscore
|
|
46
|
+
# puts "#{result_set_name}"
|
|
47
|
+
# heads = " "
|
|
48
|
+
# result_set['headers'].each do |h|
|
|
49
|
+
# heads += ":#{h.underscore}, "
|
|
50
|
+
# end
|
|
51
|
+
# puts heads
|
|
52
|
+
if valid_result_sets.include? result_set_name.to_sym
|
|
53
|
+
instance_variable_set "@#{result_set_name}", row_set_to_array_of_hashes(result_set['headers'], result_set['rowSet'])
|
|
54
|
+
singleton_class.class_eval do; attr_accessor result_set_name; end
|
|
55
|
+
else
|
|
56
|
+
raise BadResponseError.new("Unexpected result set name #{result_set_name}.")
|
|
57
|
+
end
|
|
58
|
+
end
|
|
59
|
+
end
|
|
60
|
+
|
|
61
|
+
# Convert a returned API row set into an array of hashes
|
|
62
|
+
#
|
|
63
|
+
# @param headers [Array]
|
|
64
|
+
# @param row_set [Array]
|
|
65
|
+
# @return [Hash]
|
|
66
|
+
def row_set_to_array_of_hashes(headers, row_set)
|
|
67
|
+
result = Array.new
|
|
68
|
+
row_set.each do |row|
|
|
69
|
+
if row.count == headers.count
|
|
70
|
+
row_hash = Hash.new
|
|
71
|
+
headers.zip(row).each do |header, value|
|
|
72
|
+
row_hash[header.underscore.to_sym] = value
|
|
73
|
+
end
|
|
74
|
+
result.push row_hash
|
|
75
|
+
else
|
|
76
|
+
raise BadResponseError.new("Row set header count (#{headers.count}) doesn't match row item count (#{row.count}).")
|
|
77
|
+
end
|
|
78
|
+
end
|
|
79
|
+
result
|
|
80
|
+
end
|
|
81
|
+
|
|
82
|
+
end # ResourceBase
|
|
83
|
+
|
|
84
|
+
end
|
|
85
|
+
|
|
86
|
+
end
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
require 'nba_stats/resources/resource_base'
|
|
2
|
+
|
|
3
|
+
module NbaStats
|
|
4
|
+
|
|
5
|
+
module Resources
|
|
6
|
+
|
|
7
|
+
class Scoreboard < ResourceBase
|
|
8
|
+
|
|
9
|
+
# Array of valid result set names for this resource
|
|
10
|
+
VALID_RESULT_SETS = [
|
|
11
|
+
:game_header, # :game_date_est, :game_sequence, :game_id, :game_status_id, :game_status_text, :gamecode, :home_team_id, :visitor_team_id, :season, :live_period, :live_pc_time, :natl_tv_broadcaster_abbreviation, :live_period_time_bcast, :wh_status
|
|
12
|
+
:line_score, # :game_date_est, :game_sequence, :game_id, :team_id, :team_abbreviation, :team_city_name, :team_wins_losses, :pts_qtr1, :pts_qtr2, :pts_qtr3, :pts_qtr4, :pts_ot1, :pts_ot2, :pts_ot3, :pts_ot4, :pts_ot5, :pts_ot6, :pts_ot7, :pts_ot8, :pts_ot9, :pts_ot10, :pts, :fg_pct, :ft_pct, :fg3_pct, :ast, :reb, :tov
|
|
13
|
+
:series_standings, # :game_id, :home_team_id, :visitor_team_id, :game_date_est, :home_team_wins, :home_team_losses, :series_leader
|
|
14
|
+
:last_meeting, # :game_id, :last_game_id, :last_game_date_est, :last_game_home_team_id, :last_game_home_team_city, :last_game_home_team_name, :last_game_home_team_abbreviation, :last_game_home_team_points, :last_game_visitor_team_id, :last_game_visitor_team_city, :last_game_visitor_team_name, :last_game_visitor_team_city1, :last_game_visitor_team_points
|
|
15
|
+
:east_conf_standings_by_day, # :team_id, :league_id, :season_id, :standingsdate, :conference, :team, :g, :w, :l, :w_pct, :home_record, :road_record
|
|
16
|
+
:west_conf_standings_by_day, # :team_id, :league_id, :season_id, :standingsdate, :conference, :team, :g, :w, :l, :w_pct, :home_record, :road_record
|
|
17
|
+
:available # :game_id, :pt_available
|
|
18
|
+
].freeze
|
|
19
|
+
|
|
20
|
+
# @return [Array]
|
|
21
|
+
def valid_result_sets
|
|
22
|
+
VALID_RESULT_SETS
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
end # Scoreboard
|
|
26
|
+
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
end
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
require 'nba_stats/resources/resource_base'
|
|
2
|
+
require 'nba_stats/constants'
|
|
3
|
+
|
|
4
|
+
module NbaStats
|
|
5
|
+
|
|
6
|
+
module Resources
|
|
7
|
+
|
|
8
|
+
class ShotChartDetail < ResourceBase
|
|
9
|
+
|
|
10
|
+
# Array of valid result set names for this resource
|
|
11
|
+
VALID_RESULT_SETS = [
|
|
12
|
+
:shot_chart_detail, # :grid_type, :game_id, :game_event_id, :player_id, :player_name, :team_id, :team_name, :period, :minutes_remaining, :seconds_remaining, :event_type, :action_type, :shot_type, :shot_zone_basic, :shot_zone_area, :shot_zone_range, :shot_distance, :loc_x, :loc_y, :shot_attempted_flag, :shot_made_flag,
|
|
13
|
+
:league_averages # :grid_type, :shot_zone_basic, :shot_zone_area, :shot_zone_range, :fga, :fgm, :fg_pct,
|
|
14
|
+
].freeze
|
|
15
|
+
|
|
16
|
+
# @return [Array]
|
|
17
|
+
def valid_result_sets
|
|
18
|
+
VALID_RESULT_SETS
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
end # ShotChartDetail
|
|
22
|
+
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
end
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
require 'nba_stats/resources/resource_base'
|
|
2
|
+
|
|
3
|
+
module NbaStats
|
|
4
|
+
|
|
5
|
+
module Resources
|
|
6
|
+
|
|
7
|
+
class TeamGameLog < ResourceBase
|
|
8
|
+
|
|
9
|
+
# Array of valid result set names for this resource
|
|
10
|
+
VALID_RESULT_SETS = [
|
|
11
|
+
:team_game_log #:team_id, :game_id, :game_date, :matchup, :wl, :min, :fgm, :fga, :fg_pct, :fg3_m, :fg3_a, :fg3_pct, :ftm, :fta, :ft_pct, :oreb, :dreb, :reb, :ast, :stl, :blk, :tov, :pf, :pts, :video_available,
|
|
12
|
+
].freeze
|
|
13
|
+
|
|
14
|
+
# @return [Array]
|
|
15
|
+
def valid_result_sets
|
|
16
|
+
VALID_RESULT_SETS
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
end # TeamGameLog
|
|
20
|
+
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
end
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
require 'nba_stats/resources/resource_base'
|
|
2
|
+
|
|
3
|
+
module NbaStats
|
|
4
|
+
|
|
5
|
+
module Resources
|
|
6
|
+
|
|
7
|
+
class TeamInfoCommon < ResourceBase
|
|
8
|
+
|
|
9
|
+
# Array of valid result set names for this resource
|
|
10
|
+
VALID_RESULT_SETS = [
|
|
11
|
+
:team_info_common, #:team_id, :season_year, :team_city, :team_name, :team_abbreviation, :team_conference, :team_division, :team_code, :w, :l, :pct, :conf_rank, :div_rank,
|
|
12
|
+
:team_season_ranks #:league_id, :season_id, :team_id, :pts_rank, :pts_pg, :reb_rank, :reb_pg, :ast_rank, :ast_pg, :opp_pts_rank, :opp_pts_pg,
|
|
13
|
+
].freeze
|
|
14
|
+
|
|
15
|
+
# @return [Array]
|
|
16
|
+
def valid_result_sets
|
|
17
|
+
VALID_RESULT_SETS
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
end # TeamInfoCommon
|
|
21
|
+
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
end
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
require 'nba_stats/resources/resource_base'
|
|
2
|
+
require 'nba_stats/constants'
|
|
3
|
+
|
|
4
|
+
module NbaStats
|
|
5
|
+
|
|
6
|
+
module Resources
|
|
7
|
+
|
|
8
|
+
class TeamYearByYearStats < ResourceBase
|
|
9
|
+
|
|
10
|
+
# Array of valid result set names for this resource
|
|
11
|
+
VALID_RESULT_SETS = [
|
|
12
|
+
:team_stats #:team_id, :team_city, :team_name, :year, :gp, :wins, :losses, :win_pct, :conf_rank, :div_rank, :fgm, :fga, :fg_pct, :fg3_m, :fg3_a, :fg3_pct, :ftm, :fta, :ft_pct, :oreb, :dreb, :reb, :ast, :pf, :stl, :tov, :blk, :pts,
|
|
13
|
+
].freeze
|
|
14
|
+
|
|
15
|
+
# @return [Array]
|
|
16
|
+
def valid_result_sets
|
|
17
|
+
VALID_RESULT_SETS
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
end # TeamYearByYearStats
|
|
21
|
+
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
end
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
require 'nba_stats/resources/box_score'
|
|
2
|
+
require 'nba_stats/constants'
|
|
3
|
+
|
|
4
|
+
module NbaStats
|
|
5
|
+
|
|
6
|
+
module BoxScore
|
|
7
|
+
|
|
8
|
+
# The path of the boxscore API
|
|
9
|
+
BOX_SCORE_PATH = '/stats/boxscore'
|
|
10
|
+
|
|
11
|
+
# Calls the boxscore API and returns a BoxScore resource.
|
|
12
|
+
#
|
|
13
|
+
# @param game_id [String]
|
|
14
|
+
# @param range_type [Integer]
|
|
15
|
+
# @param start_period [Integer]
|
|
16
|
+
# @param end_period [Integer]
|
|
17
|
+
# @param start_range [Integer]
|
|
18
|
+
# @param end_range [Integer]
|
|
19
|
+
# @return [NbaStats::Resources::BoxScore]
|
|
20
|
+
def box_score(
|
|
21
|
+
game_id,
|
|
22
|
+
range_type=0,
|
|
23
|
+
start_period=0,
|
|
24
|
+
end_period=0,
|
|
25
|
+
start_range=0,
|
|
26
|
+
end_range=0
|
|
27
|
+
)
|
|
28
|
+
NbaStats::Resources::BoxScore.new(
|
|
29
|
+
get(BOX_SCORE_PATH, {
|
|
30
|
+
:GameID => game_id,
|
|
31
|
+
:RangeType => range_type,
|
|
32
|
+
:StartPeriod => start_period,
|
|
33
|
+
:EndPeriod => end_period,
|
|
34
|
+
:StartRange => start_range,
|
|
35
|
+
:EndRange => end_range
|
|
36
|
+
})
|
|
37
|
+
)
|
|
38
|
+
end
|
|
39
|
+
|
|
40
|
+
end # BoxScore
|
|
41
|
+
|
|
42
|
+
end
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
require 'nba_stats/resources/box_score_advanced'
|
|
2
|
+
|
|
3
|
+
module NbaStats
|
|
4
|
+
|
|
5
|
+
module BoxScoreAdvanced
|
|
6
|
+
|
|
7
|
+
# The path of the boxscoreadvanced API
|
|
8
|
+
BOX_SCORE_ADVANCED_PATH = '/stats/boxscoreadvanced'
|
|
9
|
+
|
|
10
|
+
# Calls the boxscoreadvanced API and returns a BoxScoreAdvanced resource.
|
|
11
|
+
#
|
|
12
|
+
# @param game_id [String]
|
|
13
|
+
# @param range_type [Integer]
|
|
14
|
+
# @param start_period [Integer]
|
|
15
|
+
# @param end_period [Integer]
|
|
16
|
+
# @param start_range [Integer]
|
|
17
|
+
# @param end_range [xxxxxxxxxx]
|
|
18
|
+
# @return [NbaStats::Resources::BoxScoreAdvanced]
|
|
19
|
+
def box_score_advanced(
|
|
20
|
+
game_id,
|
|
21
|
+
range_type=0,
|
|
22
|
+
start_period=0,
|
|
23
|
+
end_period=0,
|
|
24
|
+
start_range=0,
|
|
25
|
+
end_range=0
|
|
26
|
+
)
|
|
27
|
+
NbaStats::Resources::BoxScoreAdvanced.new(
|
|
28
|
+
get(BOX_SCORE_ADVANCED_PATH, {
|
|
29
|
+
:GameID => game_id,
|
|
30
|
+
:RangeType => range_type,
|
|
31
|
+
:StartPeriod => start_period,
|
|
32
|
+
:EndPeriod => end_period,
|
|
33
|
+
:StartRange => start_range,
|
|
34
|
+
:EndRange => end_range
|
|
35
|
+
})
|
|
36
|
+
)
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
end # BoxScoreAdvanced
|
|
40
|
+
|
|
41
|
+
end
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
require 'nba_stats/resources/box_score_four_factors'
|
|
2
|
+
|
|
3
|
+
module NbaStats
|
|
4
|
+
|
|
5
|
+
module BoxScoreFourFactors
|
|
6
|
+
|
|
7
|
+
# The path of the boxscorefourfactors API
|
|
8
|
+
BOX_SCORE_FOUR_FACTORS_PATH = '/stats/boxscorefourfactors'
|
|
9
|
+
|
|
10
|
+
# Calls the boxscorefourfactors API and returns a BoxScoreFourFactors resource.
|
|
11
|
+
#
|
|
12
|
+
# @param game_id [String]
|
|
13
|
+
# @param range_type [Integer]
|
|
14
|
+
# @param start_period [Integer]
|
|
15
|
+
# @param end_period [Integer]
|
|
16
|
+
# @param start_range [Integer]
|
|
17
|
+
# @param end_range [Integer]
|
|
18
|
+
# @return [NbaStats::Resources::BoxScoreFourFactors]
|
|
19
|
+
def box_score_four_factors(
|
|
20
|
+
game_id,
|
|
21
|
+
range_type=0,
|
|
22
|
+
start_period=0,
|
|
23
|
+
end_period=0,
|
|
24
|
+
start_range=0,
|
|
25
|
+
end_range=0
|
|
26
|
+
)
|
|
27
|
+
NbaStats::Resources::BoxScoreFourFactors.new(
|
|
28
|
+
get(BOX_SCORE_FOUR_FACTORS_PATH, {
|
|
29
|
+
:GameID => game_id,
|
|
30
|
+
:RangeType => range_type,
|
|
31
|
+
:StartPeriod => start_period,
|
|
32
|
+
:EndPeriod => end_period,
|
|
33
|
+
:StartRange => start_range,
|
|
34
|
+
:EndRange => end_range
|
|
35
|
+
})
|
|
36
|
+
)
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
end # BoxScoreFourFactors
|
|
40
|
+
|
|
41
|
+
end
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
require 'nba_stats/resources/box_score_misc'
|
|
2
|
+
|
|
3
|
+
module NbaStats
|
|
4
|
+
|
|
5
|
+
module BoxScoreMisc
|
|
6
|
+
|
|
7
|
+
# The path of the boxscoremisc API
|
|
8
|
+
BOX_SCORE_MISC_PATH = '/stats/boxscoremisc'
|
|
9
|
+
|
|
10
|
+
# Calls the boxscoremisc API and returns a BoxScoreMisc resource.
|
|
11
|
+
#
|
|
12
|
+
# @param game_id [String]
|
|
13
|
+
# @param range_type [Integer]
|
|
14
|
+
# @param start_period [Integer]
|
|
15
|
+
# @param end_period [Integer]
|
|
16
|
+
# @param start_range [Integer]
|
|
17
|
+
# @param end_range [Integer]
|
|
18
|
+
# @return [NbaStats::Resources::BoxScoreMisc]
|
|
19
|
+
def box_score_misc(
|
|
20
|
+
game_id,
|
|
21
|
+
range_type=0,
|
|
22
|
+
start_period=0,
|
|
23
|
+
end_period=0,
|
|
24
|
+
start_range=0,
|
|
25
|
+
end_range=0
|
|
26
|
+
)
|
|
27
|
+
NbaStats::Resources::BoxScoreMisc.new(
|
|
28
|
+
get(BOX_SCORE_MISC_PATH, {
|
|
29
|
+
:GameID => game_id,
|
|
30
|
+
:RangeType => range_type,
|
|
31
|
+
:StartPeriod => start_period,
|
|
32
|
+
:EndPeriod => end_period,
|
|
33
|
+
:StartRange => start_range,
|
|
34
|
+
:EndRange => end_range
|
|
35
|
+
})
|
|
36
|
+
)
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
end # BoxScoreMisc
|
|
40
|
+
|
|
41
|
+
end
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
require 'nba_stats/resources/box_score_scoring'
|
|
2
|
+
|
|
3
|
+
module NbaStats
|
|
4
|
+
|
|
5
|
+
module BoxScoreScoring
|
|
6
|
+
|
|
7
|
+
# The path of the boxscorescoring API
|
|
8
|
+
BOX_SCORE_SCORING_PATH = '/stats/boxscorescoring'
|
|
9
|
+
|
|
10
|
+
# Calls the boxscorescoring API and returns a BoxScoreScoring resource.
|
|
11
|
+
#
|
|
12
|
+
# @param game_id [String]
|
|
13
|
+
# @param range_type [Integer]
|
|
14
|
+
# @param start_period [Integer]
|
|
15
|
+
# @param end_period [Integer]
|
|
16
|
+
# @param start_range [Integer]
|
|
17
|
+
# @param end_range [Integer]
|
|
18
|
+
# @return [NbaStats::Resources::BoxScoreScoring]
|
|
19
|
+
def box_score_scoring(
|
|
20
|
+
game_id,
|
|
21
|
+
range_type=0,
|
|
22
|
+
start_period=0,
|
|
23
|
+
end_period=0,
|
|
24
|
+
start_range=0,
|
|
25
|
+
end_range=0
|
|
26
|
+
)
|
|
27
|
+
NbaStats::Resources::BoxScoreScoring.new(
|
|
28
|
+
get(BOX_SCORE_SCORING_PATH, {
|
|
29
|
+
:GameID => game_id,
|
|
30
|
+
:RangeType => range_type,
|
|
31
|
+
:StartPeriod => start_period,
|
|
32
|
+
:EndPeriod => end_period,
|
|
33
|
+
:StartRange => start_range,
|
|
34
|
+
:EndRange => end_range
|
|
35
|
+
})
|
|
36
|
+
)
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
end # BoxScoreScoring
|
|
40
|
+
|
|
41
|
+
end
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
require 'nba_stats/resources/box_score_usage'
|
|
2
|
+
|
|
3
|
+
module NbaStats
|
|
4
|
+
|
|
5
|
+
module BoxScoreUsage
|
|
6
|
+
|
|
7
|
+
# The path of the boxscoreusage API
|
|
8
|
+
BOX_SCORE_USAGE_PATH = '/stats/boxscoreusage'
|
|
9
|
+
|
|
10
|
+
# Calls the boxscoreusage API and returns a BoxScoreUsage resource.
|
|
11
|
+
#
|
|
12
|
+
# @param game_id [String]
|
|
13
|
+
# @param range_type [Integer]
|
|
14
|
+
# @param start_period [Integer]
|
|
15
|
+
# @param end_period [Integer]
|
|
16
|
+
# @param start_range [Integer]
|
|
17
|
+
# @param end_range [Integer]
|
|
18
|
+
# @return [NbaStats::Resources::BoxScoreUsage]
|
|
19
|
+
def box_score_usage(
|
|
20
|
+
game_id,
|
|
21
|
+
range_type=0,
|
|
22
|
+
start_period=0,
|
|
23
|
+
end_period=0,
|
|
24
|
+
start_range=0,
|
|
25
|
+
end_range=0
|
|
26
|
+
)
|
|
27
|
+
NbaStats::Resources::BoxScoreUsage.new(
|
|
28
|
+
get(BOX_SCORE_USAGE_PATH, {
|
|
29
|
+
:GameID => game_id,
|
|
30
|
+
:RangeType => range_type,
|
|
31
|
+
:StartPeriod => start_period,
|
|
32
|
+
:EndPeriod => end_period,
|
|
33
|
+
:StartRange => start_range,
|
|
34
|
+
:EndRange => end_range
|
|
35
|
+
})
|
|
36
|
+
)
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
end # BoxScoreUsage
|
|
40
|
+
|
|
41
|
+
end
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
require 'nba_stats/resources/common_all_players'
|
|
2
|
+
require 'nba_stats/constants'
|
|
3
|
+
|
|
4
|
+
module NbaStats
|
|
5
|
+
|
|
6
|
+
module CommonAllPlayers
|
|
7
|
+
|
|
8
|
+
# The path of the commonallplayers API
|
|
9
|
+
COMMON_ALL_PLAYERS_PATH = '/stats/commonallplayers'
|
|
10
|
+
|
|
11
|
+
# Calls the commonallplayers API and returns a CommonAllPlayers resource.
|
|
12
|
+
#
|
|
13
|
+
# @param season [String]
|
|
14
|
+
# @param is_only_current_season [Integer]
|
|
15
|
+
# @param league_id [String]
|
|
16
|
+
# @return [NbaStats::Resources::CommonAllPlayers]
|
|
17
|
+
def common_all_players(
|
|
18
|
+
season,
|
|
19
|
+
is_only_current_season=0,
|
|
20
|
+
league_id=NbaStats::Constants::LEAGUE_ID_NBA
|
|
21
|
+
)
|
|
22
|
+
NbaStats::Resources::CommonAllPlayers.new(
|
|
23
|
+
get(COMMON_ALL_PLAYERS_PATH, {
|
|
24
|
+
:LeagueID => league_id,
|
|
25
|
+
:Season => season,
|
|
26
|
+
:IsOnlyCurrentSeason => is_only_current_season
|
|
27
|
+
})
|
|
28
|
+
)
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
end # CommonAllPlayers
|
|
32
|
+
|
|
33
|
+
end
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
require 'nba_stats/resources/common_player_info'
|
|
2
|
+
require 'nba_stats/constants'
|
|
3
|
+
|
|
4
|
+
module NbaStats
|
|
5
|
+
|
|
6
|
+
module CommonPlayerInfo
|
|
7
|
+
|
|
8
|
+
# The path of the commonplayerinfo API
|
|
9
|
+
COMMON_PLAYER_INFO_PATH = '/stats/commonplayerinfo'
|
|
10
|
+
|
|
11
|
+
# Calls the commonplayerinfo API and returns a CommonPlayerInfo resource.
|
|
12
|
+
#
|
|
13
|
+
# @param player_id [Integer]
|
|
14
|
+
# @param season_type [String]
|
|
15
|
+
# @param league_id [String]
|
|
16
|
+
# @return [NbaStats::Resources::CommonPlayerInfo]
|
|
17
|
+
def common_player_info(
|
|
18
|
+
player_id,
|
|
19
|
+
season_type=NbaStats::Constants::SEASON_TYPE_REGULAR,
|
|
20
|
+
league_id=NbaStats::Constants::LEAGUE_ID_NBA
|
|
21
|
+
)
|
|
22
|
+
NbaStats::Resources::CommonPlayerInfo.new(
|
|
23
|
+
get(COMMON_PLAYER_INFO_PATH, {
|
|
24
|
+
:PlayerID => player_id,
|
|
25
|
+
:SeasonType => season_type,
|
|
26
|
+
:LeagueID => league_id
|
|
27
|
+
})
|
|
28
|
+
)
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
end # CommonPlayerInfo
|
|
32
|
+
|
|
33
|
+
end
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
require 'nba_stats/resources/common_team_roster'
|
|
2
|
+
require 'nba_stats/constants'
|
|
3
|
+
|
|
4
|
+
module NbaStats
|
|
5
|
+
|
|
6
|
+
module CommonTeamRoster
|
|
7
|
+
|
|
8
|
+
# The path of the commonteamroster API
|
|
9
|
+
COMMON_TEAM_ROSTER_PATH = '/stats/commonteamroster'
|
|
10
|
+
|
|
11
|
+
# Calls the commonteamroster API and returns a CommonTeamRoster resource.
|
|
12
|
+
#
|
|
13
|
+
# @param team_id [Integer]
|
|
14
|
+
# @param season [String]
|
|
15
|
+
# @param league_id [String]
|
|
16
|
+
# @return [NbaStats::Resources::CommonTeamRoster]
|
|
17
|
+
def common_team_roster(
|
|
18
|
+
team_id,
|
|
19
|
+
season,
|
|
20
|
+
league_id=NbaStats::Constants::LEAGUE_ID_NBA
|
|
21
|
+
)
|
|
22
|
+
NbaStats::Resources::CommonTeamRoster.new(
|
|
23
|
+
get(COMMON_TEAM_ROSTER_PATH, {
|
|
24
|
+
:Season => season,
|
|
25
|
+
:LeagueID => league_id,
|
|
26
|
+
:TeamID => team_id
|
|
27
|
+
})
|
|
28
|
+
)
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
end # CommonTeamRoster
|
|
32
|
+
|
|
33
|
+
end
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
require 'nba_stats/resources/common_team_years'
|
|
2
|
+
|
|
3
|
+
module NbaStats
|
|
4
|
+
|
|
5
|
+
module CommonTeamYears
|
|
6
|
+
|
|
7
|
+
# The path of the commonteamyears API
|
|
8
|
+
COMMON_TEAM_YEARS_PATH = '/stats/commonteamyears'
|
|
9
|
+
|
|
10
|
+
# Calls the commonteamyears API and returns a CommonTeamYears resource.
|
|
11
|
+
#
|
|
12
|
+
# @param league_id [String]
|
|
13
|
+
# @return [NbaStats::Resources::CommonTeamYears]
|
|
14
|
+
def common_team_years(
|
|
15
|
+
league_id=NbaStats::Constants::LEAGUE_ID_NBA
|
|
16
|
+
)
|
|
17
|
+
NbaStats::Resources::CommonTeamYears.new(
|
|
18
|
+
get(COMMON_TEAM_YEARS_PATH, {
|
|
19
|
+
:LeagueID => league_id
|
|
20
|
+
})
|
|
21
|
+
)
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
end # CommonTeamYears
|
|
25
|
+
|
|
26
|
+
end
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
require 'nba_stats/resources/draft_combine_drill_results'
|
|
2
|
+
|
|
3
|
+
module NbaStats
|
|
4
|
+
|
|
5
|
+
module DraftCombineDrillResults
|
|
6
|
+
|
|
7
|
+
# The path of the draftcombinedrillresults API
|
|
8
|
+
DRAFT_COMBINE_DRILL_RESULTS_PATH = '/stats/draftcombinedrillresults'
|
|
9
|
+
|
|
10
|
+
# Calls the draftcombinedrillresults API and returns a DraftCombineDrillResults resource.
|
|
11
|
+
#
|
|
12
|
+
# @param season_year [String]
|
|
13
|
+
# @param league_id [String]
|
|
14
|
+
# @return [NbaStats::Resources::DraftCombineDrillResults]
|
|
15
|
+
def draft_combine_drill_results(
|
|
16
|
+
season_year,
|
|
17
|
+
league_id=NbaStats::Constants::LEAGUE_ID_NBA
|
|
18
|
+
)
|
|
19
|
+
NbaStats::Resources::DraftCombineDrillResults.new(
|
|
20
|
+
get(DRAFT_COMBINE_DRILL_RESULTS_PATH, {
|
|
21
|
+
:LeagueID => league_id,
|
|
22
|
+
:SeasonYear => season_year
|
|
23
|
+
})
|
|
24
|
+
)
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
end # DraftCombineDrillResults
|
|
28
|
+
|
|
29
|
+
end
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
require 'nba_stats/resources/draft_combine_non_stationary_shooting'
|
|
2
|
+
|
|
3
|
+
module NbaStats
|
|
4
|
+
|
|
5
|
+
module DraftCombineNonStationaryShooting
|
|
6
|
+
|
|
7
|
+
# The path of the draftcombinenonstationaryshooting API
|
|
8
|
+
DRAFT_COMBINE_NON_STATIONARY_SHOOTING_PATH = '/stats/draftcombinenonstationaryshooting/'
|
|
9
|
+
|
|
10
|
+
# Calls the draftcombinenonstationaryshooting API and returns a DraftCombineNonStationaryShooting resource.
|
|
11
|
+
#
|
|
12
|
+
# @param season_year [String]
|
|
13
|
+
# @param league_id [String]
|
|
14
|
+
# @return [NbaStats::Resources::DraftCombineNonStationaryShooting]
|
|
15
|
+
def draft_combine_non_stationary_shooting(
|
|
16
|
+
season_year,
|
|
17
|
+
league_id=NbaStats::Constants::LEAGUE_ID_NBA
|
|
18
|
+
)
|
|
19
|
+
NbaStats::Resources::DraftCombineNonStationaryShooting.new(
|
|
20
|
+
get(DRAFT_COMBINE_NON_STATIONARY_SHOOTING_PATH, {
|
|
21
|
+
:LeagueID => league_id,
|
|
22
|
+
:SeasonYear => season_year
|
|
23
|
+
})
|
|
24
|
+
)
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
end # DraftCombineNonStationaryShooting
|
|
28
|
+
|
|
29
|
+
end
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
require 'nba_stats/resources/draft_combine_player_anthro'
|
|
2
|
+
|
|
3
|
+
module NbaStats
|
|
4
|
+
|
|
5
|
+
module DraftCombinePlayerAnthro
|
|
6
|
+
|
|
7
|
+
# The path of the draftcombineplayeranthro API
|
|
8
|
+
DRAFT_COMBINE_PLAYER_ANTHRO_PATH = '/stats/draftcombineplayeranthro'
|
|
9
|
+
|
|
10
|
+
# Calls the draftcombineplayeranthro API and returns a DraftCombinePlayerAnthro resource.
|
|
11
|
+
#
|
|
12
|
+
# @param season_year [String]
|
|
13
|
+
# @param league_id [String]
|
|
14
|
+
# @return [NbaStats::Resources::DraftCombinePlayerAnthro]
|
|
15
|
+
def draft_combine_player_anthro(
|
|
16
|
+
season_year,
|
|
17
|
+
league_id=NbaStats::Constants::LEAGUE_ID_NBA
|
|
18
|
+
)
|
|
19
|
+
NbaStats::Resources::DraftCombinePlayerAnthro.new(
|
|
20
|
+
get(DRAFT_COMBINE_PLAYER_ANTHRO_PATH, {
|
|
21
|
+
:LeagueID => league_id,
|
|
22
|
+
:SeasonYear => season_year
|
|
23
|
+
})
|
|
24
|
+
)
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
end # DraftCombinePlayerAnthro
|
|
28
|
+
|
|
29
|
+
end
|