Module: NBA::FranchisePlayers

Defined in:
lib/nba/franchise_players.rb

Overview

Provides methods to retrieve franchise player statistics

Constant Summary collapse

RESULTS =

Result set name for franchise players

Returns:

  • (String)

    the result set name

"FranchisePlayers".freeze
PER_GAME =

Per mode constant for per game stats

Returns:

  • (String)

    the per game mode

"PerGame".freeze
TOTALS =

Per mode constant for totals stats

Returns:

  • (String)

    the totals mode

"Totals".freeze

Class Method Summary collapse

Class Method Details

.all(team:, season_type: "Regular Season", per_mode: PER_GAME, league: League::NBA, client: CLIENT) ⇒ Collection

Retrieves all franchise player statistics

Examples:

players = NBA::FranchisePlayers.all(team: 1610612744)
players.each { |p| puts "#{p.player}: #{p.pts} PPG" }

Parameters:

  • team (Integer, String, Team)

    the team ID or Team object

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

    the season type (default “Regular Season”)

  • per_mode (String) (defaults to: PER_GAME)

    the per mode (default PER_GAME)

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

    the league ID or League object (default NBA)

  • client (Client) (defaults to: CLIENT)

    the API client to use

Returns:

  • (Collection)

    a collection of franchise players



33
34
35
36
37
38
39
40
41
# File 'lib/nba/franchise_players.rb', line 33

def self.all(team:, season_type: "Regular Season", per_mode: PER_GAME, league: League::NBA, client: CLIENT)
  team_id = Utils.extract_id(team)
  return Collection.new unless team_id

  league_id = Utils.extract_league_id(league)
  path = "franchiseplayers?TeamID=#{team_id}&SeasonType=#{season_type}&PerMode=#{per_mode}&LeagueID=#{league_id}"
  response = client.get(path)
  parse_response(response)
end