nba_stats 0.9.0
Sign up to get free protection for your applications and to get access to all the features.
- 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
|