Class: MLB::Schedule

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

Overview

Provides methods for fetching game schedules from the API

Class Method Summary collapse

Class Method Details

.games(date: Date.today, sport: Utils::DEFAULT_SPORT_ID, team: nil) ⇒ Array<ScheduledGame>

Retrieves the schedule for a given date

Examples:

Get schedule for a specific date

MLB::Schedule.games(date: Date.new(2024, 7, 4))

Get schedule for a team on a specific date

MLB::Schedule.games(date: Date.new(2024, 7, 4), team: 147)

Parameters:

  • date (Date) (defaults to: Date.today)

    the date to get the schedule for

  • sport (Sport, Integer) (defaults to: Utils::DEFAULT_SPORT_ID)

    the sport or sport ID (default: MLB)

  • team (Team, Integer) (defaults to: nil)

    optional team or team ID to filter by

Returns:



26
27
28
29
30
31
# File 'lib/mlb/schedule.rb', line 26

def self.games(date: Date.today, sport: Utils::DEFAULT_SPORT_ID, team: nil)
  params = {sportId: Utils.extract_id(sport), date:}
  params[:teamId] = Utils.extract_id(team) if team
  response = CLIENT.get("schedule?#{Utils.build_query(params)}")
  from_json(response).dates.flat_map(&:games)
end