Class: MLB::ScheduledGame

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

Overview

Represents a scheduled game from the MLB Stats API

Constant Summary collapse

DAY =

Day game indicator value

"day".freeze
NIGHT =

Night game indicator value

"night".freeze
DOUBLE_HEADER_VALUES =

Doubleheader indicator values that indicate a doubleheader

%w[Y S].freeze
GAME_TYPE_REGULAR =

Game type: Regular Season

"R".freeze
GAME_TYPE_SPRING =

Game type: Spring Training

"S".freeze
GAME_TYPE_EXHIBITION =

Game type: Exhibition

"E".freeze
GAME_TYPE_ALL_STAR =

Game type: All-Star Game

"A".freeze
POSTSEASON_GAME_TYPES =

Game type codes that indicate postseason games

%w[F D L W].freeze

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#day_nightString

Returns whether the game is a day or night game

Examples:

scheduled_game.day_night #=> "day"

Returns:

  • (String)

    the day/night indicator



176
# File 'lib/mlb/scheduled_game.rb', line 176

attribute :day_night, Shale::Type::String

#double_headerString

Returns the doubleheader indicator

Examples:

scheduled_game.double_header #=> "N"

Returns:

  • (String)

    the doubleheader indicator



168
# File 'lib/mlb/scheduled_game.rb', line 168

attribute :double_header, Shale::Type::String

#game_dateString

Returns the game date and time

Examples:

scheduled_game.game_date #=> "2024-07-04T15:05:00Z"

Returns:

  • (String)

    the game date and time



112
# File 'lib/mlb/scheduled_game.rb', line 112

attribute :game_date, Shale::Type::String

#game_numberInteger

Returns the game number (for doubleheaders)

Examples:

scheduled_game.game_number #=> 1

Returns:

  • (Integer)

    the game number



160
# File 'lib/mlb/scheduled_game.rb', line 160

attribute :game_number, Shale::Type::Integer

#game_pkInteger

Returns the unique game identifier

Examples:

scheduled_game.game_pk #=> 744834

Returns:

  • (Integer)

    the unique game identifier



80
# File 'lib/mlb/scheduled_game.rb', line 80

attribute :game_pk, Shale::Type::Integer

#game_typeString

Returns the game type code

Examples:

scheduled_game.game_type #=> "R"

Returns:

  • (String)

    the game type code



96
# File 'lib/mlb/scheduled_game.rb', line 96

attribute :game_type, Shale::Type::String

#games_in_seriesInteger

Returns the number of games in the series

Examples:

scheduled_game.games_in_series #=> 4

Returns:

  • (Integer)

    the number of games in the series



200
# File 'lib/mlb/scheduled_game.rb', line 200

attribute :games_in_series, Shale::Type::Integer

#is_tieBoolean Also known as: tie?

Returns whether the game ended in a tie

Examples:

scheduled_game.is_tie #=> false

Returns:

  • (Boolean)

    whether the game ended in a tie



152
# File 'lib/mlb/scheduled_game.rb', line 152

attribute :is_tie, Shale::Type::Boolean

Returns the API link for the game feed

Examples:

scheduled_game.link #=> "/api/v1.1/game/744834/feed/live"

Returns:

  • (String)

    the API link for the game feed



88
# File 'lib/mlb/scheduled_game.rb', line 88

attribute :link, Shale::Type::String

#official_dateDate

Returns the official game date

Examples:

scheduled_game.official_date #=> #<Date: 2024-07-04>

Returns:

  • (Date)

    the official game date



120
# File 'lib/mlb/scheduled_game.rb', line 120

attribute :official_date, Shale::Type::Date

#scheduled_inningsInteger

Returns the number of scheduled innings

Examples:

scheduled_game.scheduled_innings #=> 9

Returns:

  • (Integer)

    the number of scheduled innings



184
# File 'lib/mlb/scheduled_game.rb', line 184

attribute :scheduled_innings, Shale::Type::Integer

#seasonString

Returns the season year

Examples:

scheduled_game.season #=> "2024"

Returns:

  • (String)

    the season year



104
# File 'lib/mlb/scheduled_game.rb', line 104

attribute :season, Shale::Type::String

#series_descriptionString

Returns the series description

Examples:

scheduled_game.series_description #=> "Regular Season"

Returns:

  • (String)

    the series description



192
# File 'lib/mlb/scheduled_game.rb', line 192

attribute :series_description, Shale::Type::String

#series_game_numberInteger

Returns the game number within the series

Examples:

scheduled_game.series_game_number #=> 1

Returns:

  • (Integer)

    the game number within the series



208
# File 'lib/mlb/scheduled_game.rb', line 208

attribute :series_game_number, Shale::Type::Integer

#statusGameStatus

Returns the game status

Examples:

scheduled_game.status #=> #<MLB::GameStatus>

Returns:



128
# File 'lib/mlb/scheduled_game.rb', line 128

attribute :status, GameStatus

#teamsScheduledGameTeams

Returns the teams playing

Examples:

scheduled_game.teams #=> #<MLB::ScheduledGameTeams>

Returns:



136
# File 'lib/mlb/scheduled_game.rb', line 136

attribute :teams, ScheduledGameTeams

#venueVenue

Returns the game venue

Examples:

scheduled_game.venue #=> #<MLB::Venue>

Returns:

  • (Venue)

    the game venue



144
# File 'lib/mlb/scheduled_game.rb', line 144

attribute :venue, Venue

Instance Method Details

#all_star?Boolean

Returns whether this is an All-Star game

Examples:

scheduled_game.all_star? #=> false

Returns:

  • (Boolean)

    true if the game is an All-Star game



290
# File 'lib/mlb/scheduled_game.rb', line 290

def all_star? = game_type.eql?(GAME_TYPE_ALL_STAR)

#day?Boolean

Returns whether this is a day game

Examples:

scheduled_game.day? #=> true

Returns:

  • (Boolean)

    true if the game is a day game



241
# File 'lib/mlb/scheduled_game.rb', line 241

def day? = day_night.eql?(DAY)

#double_header?Boolean

Returns whether this game is part of a doubleheader

mutant:disable - .to_s is for type safety; include?(nil) returns false anyway

Examples:

scheduled_game.double_header? #=> false

Returns:

  • (Boolean)

    true if the game is part of a doubleheader



258
# File 'lib/mlb/scheduled_game.rb', line 258

def double_header? = DOUBLE_HEADER_VALUES.include?(double_header.to_s)

#exhibition?Boolean

Returns whether this is an exhibition game

Examples:

scheduled_game.exhibition? #=> false

Returns:

  • (Boolean)

    true if the game is an exhibition game



282
# File 'lib/mlb/scheduled_game.rb', line 282

def exhibition? = game_type.eql?(GAME_TYPE_EXHIBITION)

#night?Boolean

Returns whether this is a night game

Examples:

scheduled_game.night? #=> false

Returns:

  • (Boolean)

    true if the game is a night game



249
# File 'lib/mlb/scheduled_game.rb', line 249

def night? = day_night.eql?(NIGHT)

#postseason?Boolean

Returns whether this is a postseason game

mutant:disable - .to_s is for type safety; include?(nil) returns false anyway

Examples:

scheduled_game.postseason? #=> false

Returns:

  • (Boolean)

    true if the game is a postseason game



299
# File 'lib/mlb/scheduled_game.rb', line 299

def postseason? = POSTSEASON_GAME_TYPES.include?(game_type.to_s)

#regular_season?Boolean

Returns whether this is a regular season game

Examples:

scheduled_game.regular_season? #=> true

Returns:

  • (Boolean)

    true if the game is a regular season game



266
# File 'lib/mlb/scheduled_game.rb', line 266

def regular_season? = game_type.eql?(GAME_TYPE_REGULAR)

#spring_training?Boolean

Returns whether this is a spring training game

Examples:

scheduled_game.spring_training? #=> false

Returns:

  • (Boolean)

    true if the game is a spring training game



274
# File 'lib/mlb/scheduled_game.rb', line 274

def spring_training? = game_type.eql?(GAME_TYPE_SPRING)