Module: NBA::LeadersTiles

Defined in:
lib/nba/leaders_tiles.rb

Overview

Provides methods to retrieve NBA leaders tiles statistics

Constant Summary collapse

RESULT_SETS =

Result set categories available in leaders tiles

{
  leaders: "LeadersTiles",
  all_time_high: "AllTimeSeasonHigh",
  last_season_high: "LastSeasonHigh",
  low_season_high: "LowSeasonHigh"
}.freeze

Class Method Summary collapse

Class Method Details

.all(result_set: :leaders, season: Utils.current_season, season_type: "Regular Season", game_scope: "Season", player_or_team: "Team", player_scope: "All Players", stat: "PTS", league: League::NBA, client: CLIENT) ⇒ Collection

Retrieves leaders tiles for a result set category

Examples:

tiles = NBA::LeadersTiles.all(result_set: :leaders, season: 2023)
tiles.each { |t| puts "#{t.rank}. #{t.team_abbreviation}: #{t.pts}" }

Parameters:

  • result_set (Symbol) (defaults to: :leaders)

    the result set (:leaders, :all_time_high, etc.)

  • season (Integer) (defaults to: Utils.current_season)

    the season year (defaults to current season)

  • season_type (String) (defaults to: "Regular Season")

    the season type (Regular Season, Playoffs, etc.)

  • game_scope (String) (defaults to: "Season")

    the game scope (Season, Yesterday, etc.)

  • player_or_team (String) (defaults to: "Team")

    player or team stats (Player, Team)

  • player_scope (String) (defaults to: "All Players")

    the player scope (All Players, Rookies)

  • stat (String) (defaults to: "PTS")

    the stat type (PTS, REB, AST, etc.)

  • league (String, League) (defaults to: League::NBA)

    the league ID or League object

  • client (Client) (defaults to: CLIENT)

    the API client to use

Returns:



36
37
38
39
40
41
42
43
44
45
46
# File 'lib/nba/leaders_tiles.rb', line 36

def self.all(result_set: :leaders, season: Utils.current_season,
  season_type: "Regular Season", game_scope: "Season", player_or_team: "Team",
  player_scope: "All Players", stat: "PTS", league: League::NBA, client: CLIENT)
  result_set_name = RESULT_SETS.fetch(result_set)
  league_id = Utils.extract_league_id(league)
  opts = {season: season, season_type: season_type, game_scope: game_scope,
          player_or_team: player_or_team, player_scope: player_scope,
          stat: stat, league_id: league_id}
  response = client.get(build_path(opts))
  parse_response(response, result_set_name)
end