class AhlScraper::Games::Penalty

Public Instance Methods

bench?() click to toggle source
# File lib/ahl_scraper/resources/games/penalty.rb, line 80
def bench?
  @raw_data[:isPowerPlay]
end
description() click to toggle source
# File lib/ahl_scraper/resources/games/penalty.rb, line 68
def description
  @description ||= @raw_data[:description]
end
duration() click to toggle source
# File lib/ahl_scraper/resources/games/penalty.rb, line 60
def duration
  @duration ||= "#{minutes}:00"
end
duration_in_seconds() click to toggle source
# File lib/ahl_scraper/resources/games/penalty.rb, line 64
def duration_in_seconds
  @duration_in_seconds ||= minutes * 60
end
game_time_elapsed() click to toggle source
# File lib/ahl_scraper/resources/games/penalty.rb, line 26
def game_time_elapsed
  @game_time_elapsed ||= period_time.to_elapsed
end
id() click to toggle source
# File lib/ahl_scraper/resources/games/penalty.rb, line 6
def id
  @id ||= @raw_data.dig(:game_penalty_id)&.to_i
end
invalid?() click to toggle source
# File lib/ahl_scraper/resources/games/penalty.rb, line 84
def invalid?
  [240_773].include? id
end
minutes() click to toggle source
# File lib/ahl_scraper/resources/games/penalty.rb, line 56
def minutes
  @minutes ||= @raw_data[:minutes]
end
number() click to toggle source
# File lib/ahl_scraper/resources/games/penalty.rb, line 10
def number
  @number ||= @opts[:number]
end
penalized_team() click to toggle source
# File lib/ahl_scraper/resources/games/penalty.rb, line 52
def penalized_team
  @penalized_team ||= @raw_data[:againstTeam]
end
penalty_type() click to toggle source
# File lib/ahl_scraper/resources/games/penalty.rb, line 88
def penalty_type
  @penalty_type ||=
    case @raw_data[:description]
    when /penalty shot/i
      :penalty_shot
    when /double minor/i
      :double_minor
    when /major/i
      :major
    when /fighting/i
      :fight
    when /game misconduct/i
      :game_misconduct
    when /misconduct/i
      :misconduct
    else
      :minor
    end
end
period() click to toggle source
# File lib/ahl_scraper/resources/games/penalty.rb, line 14
def period
  @period ||= @raw_data.dig(:period, :id)&.to_i
end
period_time_in_seconds() click to toggle source
# File lib/ahl_scraper/resources/games/penalty.rb, line 22
def period_time_in_seconds
  @period_time_in_seconds ||= period_time.to_sec
end
power_play?() click to toggle source
# File lib/ahl_scraper/resources/games/penalty.rb, line 76
def power_play?
  @raw_data[:isPowerPlay]
end
rule_number() click to toggle source
# File lib/ahl_scraper/resources/games/penalty.rb, line 72
def rule_number
  @rule_number ||= @raw_data[:rule_number]
end
served_by() click to toggle source
# File lib/ahl_scraper/resources/games/penalty.rb, line 41
def served_by
  @served_by ||= {
    id: @raw_data.dig(:servedBy, :id)&.positive? ? @raw_data.dig(:servedBy, :id) : nil,
    first_name: @raw_data.dig(:servedBy, :firstName),
    last_name: @raw_data.dig(:servedBy, :lastName),
    jersey_number: @raw_data.dig(:servedBy, :jerseyNumber),
    position: @raw_data.dig(:servedBy, :position),
    birthdate: @raw_data.dig(:servedBy, :birthdate),
  }
end
taken_by() click to toggle source
# File lib/ahl_scraper/resources/games/penalty.rb, line 30
def taken_by
  @taken_by ||= {
    id: @raw_data.dig(:takenBy, :id)&.positive? ? @raw_data.dig(:takenBy, :id) : nil,
    first_name: @raw_data.dig(:takenBy, :firstName),
    last_name: @raw_data.dig(:takenBy, :lastName),
    jersey_number: @raw_data.dig(:takenBy, :jerseyNumber),
    position: @raw_data.dig(:takenBy, :position),
    birthdate: @raw_data.dig(:takenBy, :birthdate),
  }
end
time() click to toggle source
# File lib/ahl_scraper/resources/games/penalty.rb, line 18
def time
  @time ||= @raw_data[:time]
end

Private Instance Methods

period_time() click to toggle source
# File lib/ahl_scraper/resources/games/penalty.rb, line 110
def period_time
  @period_time ||= PeriodTimeHelper.new(time, period)
end