Class: MLB::TeamLeaders

Inherits:
Shale::Mapper
  • Object
show all
Defined in:
lib/mlb/team_leaders.rb

Overview

Provides methods for fetching team leaders from the API

Class Method Summary collapse

Class Method Details

.find(team:, category:, season: nil) ⇒ Array<TeamLeader>

Retrieves team leaders for a category

Examples:

Get team leaders for home runs

MLB::TeamLeaders.find(team: 147, category: "homeRuns", season: 2024)

Get team leaders with a team object

MLB::TeamLeaders.find(team: Team.new(id: 147), category: "homeRuns")

Parameters:

  • team (Integer, Team)

    the team ID or Team object

  • category (String)

    the leader category

  • season (Integer, nil) (defaults to: nil)

    the season year (defaults to current year)

Returns:



37
38
39
40
41
42
43
# File 'lib/mlb/team_leaders.rb', line 37

def self.find(team:, category:, season: nil)
  season ||= Utils.current_season
  team_id = Utils.extract_id(team)
  params = {leaderCategories: category, season:}
  response = CLIENT.get("teams/#{team_id}/leaders?#{Utils.build_query(params)}")
  from_json(response).team_leaders.first&.leaders || []
end