class Sportradar::Nhl::Parsers::PlayByPlayParser

Attributes

game_play_by_play[R]

Public Class Methods

new(game_play_by_play: {}) click to toggle source
# File lib/sportradar/nhl/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/nhl/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/nhl/parsers/play_by_play_parser.rb, line 17
def away_team_id
  away['id']
end
events() click to toggle source
# File lib/sportradar/nhl/parsers/play_by_play_parser.rb, line 33
def events
  (periods || []).map(&:events).flatten
end
game_id() click to toggle source
# File lib/sportradar/nhl/parsers/play_by_play_parser.rb, line 9
def game_id
  game_play_by_play['id']
end
has_periods?() click to toggle source
# File lib/sportradar/nhl/parsers/play_by_play_parser.rb, line 29
def has_periods?
  periods.count > 0
end
home() click to toggle source
# File lib/sportradar/nhl/parsers/play_by_play_parser.rb, line 21
def home
  game_play_by_play['home'] || {}
end
penalties() click to toggle source
# File lib/sportradar/nhl/parsers/play_by_play_parser.rb, line 37
def penalties
  (periods || []).map(&:penalties).flatten
end
periods() click to toggle source
# File lib/sportradar/nhl/parsers/play_by_play_parser.rb, line 25
def periods
  @periods ||= build_periods || []
end
plays() click to toggle source
# File lib/sportradar/nhl/parsers/play_by_play_parser.rb, line 41
def plays
  (periods || []).map(&:plays).flatten
end
scoring_plays() click to toggle source
# File lib/sportradar/nhl/parsers/play_by_play_parser.rb, line 45
def scoring_plays
  (periods || []).map(&:scoring_plays).flatten
end
stoppages() click to toggle source
# File lib/sportradar/nhl/parsers/play_by_play_parser.rb, line 49
def stoppages
  (periods || []).map(&:stoppages).flatten
end

Private Instance Methods

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