class Sportradar::Nba::Parsers::PlayByPlayParser

Attributes

game_play_by_play[R]

Public Class Methods

new(game_play_by_play: {}) click to toggle source
# File lib/sportradar/nba/parsers/play_by_play_parser.rb, line 5
def initialize(game_play_by_play: {})
  @game_play_by_play = game_play_by_play['game'] || game_play_by_play
end

Public Instance Methods

away() click to toggle source
# File lib/sportradar/nba/parsers/play_by_play_parser.rb, line 13
def away
  game_play_by_play['away'] || {}
end
away_team_id() click to toggle source
# File lib/sportradar/nba/parsers/play_by_play_parser.rb, line 17
def away_team_id
  away['id']
end
events() click to toggle source
# File lib/sportradar/nba/parsers/play_by_play_parser.rb, line 33
def events
  (quarters || []).map(&:events).flatten
end
fouls() click to toggle source
# File lib/sportradar/nba/parsers/play_by_play_parser.rb, line 37
def fouls
  (quarters || []).map(&:fouls).flatten
end
game_id() click to toggle source
# File lib/sportradar/nba/parsers/play_by_play_parser.rb, line 9
def game_id
  game_play_by_play['id']
end
has_quarters?() click to toggle source
# File lib/sportradar/nba/parsers/play_by_play_parser.rb, line 29
def has_quarters?
  quarters.count > 0
end
home() click to toggle source
# File lib/sportradar/nba/parsers/play_by_play_parser.rb, line 21
def home
  game_play_by_play['home'] || {}
end
on_court_players() click to toggle source
# File lib/sportradar/nba/parsers/play_by_play_parser.rb, line 49
def on_court_players
  (quarters || []).map(&:on_court_players).flatten
end
quarters() click to toggle source
# File lib/sportradar/nba/parsers/play_by_play_parser.rb, line 25
def quarters
  @quarters ||= build_quarters || []
end
scoring_plays() click to toggle source
# File lib/sportradar/nba/parsers/play_by_play_parser.rb, line 41
def scoring_plays
  (quarters || []).map(&:scoring_plays).flatten
end
stoppages() click to toggle source
# File lib/sportradar/nba/parsers/play_by_play_parser.rb, line 45
def stoppages
  (quarters || []).map(&:stoppages).flatten
end

Private Instance Methods

build_quarters() click to toggle source
# File lib/sportradar/nba/parsers/play_by_play_parser.rb, line 61
def build_quarters
  game_play_by_play_quarters.
    map { |attributes| Models::Quarter.new(game_id: game_id, attributes: attributes) }
end
game_play_by_play_quarters() click to toggle source
# File lib/sportradar/nba/parsers/play_by_play_parser.rb, line 57
def game_play_by_play_quarters
  game_play_by_play.dig('periods') || []
end