class AhlScraper::Games::Goal
Public Instance Methods
assist_numbers()
click to toggle source
# File lib/ahl_scraper/resources/games/goal.rb, line 56 def assist_numbers @assist_numbers ||= @raw_data[:assistNumbers] end
assists()
click to toggle source
# File lib/ahl_scraper/resources/games/goal.rb, line 44 def assists @assists ||= @raw_data[:assists].map do |assist| { id: assist[:id], first_name: assist[:firstName], last_name: assist[:lastName], number: assist[:jerseyNumber], position: assist[:position], } end end
description()
click to toggle source
# File lib/ahl_scraper/resources/games/goal.rb, line 117 def description @description ||= if assists.nil? || assists.empty? goalscorer_name elsif assists.length == 1 "#{goalscorer_name} (#{a1_name})" else "#{goalscorer_name} (#{a1_name}, #{a2_name})" end end
empty_net?()
click to toggle source
# File lib/ahl_scraper/resources/games/goal.rb, line 72 def empty_net? @empty_net ||= @raw_data[:properties][:isEmptyNet] == "1" end
extra_skater?()
click to toggle source
# File lib/ahl_scraper/resources/games/goal.rb, line 76 def extra_skater? @extra_skater ||= set_extra_skater end
game_time_elapsed()
click to toggle source
# File lib/ahl_scraper/resources/games/goal.rb, line 26 def game_time_elapsed @game_time_elapsed ||= period_time.to_elapsed end
game_winner?()
click to toggle source
# File lib/ahl_scraper/resources/games/goal.rb, line 88 def game_winner? @game_winner ||= @raw_data[:properties][:isGameWinningGoal] == "1" end
id()
click to toggle source
# File lib/ahl_scraper/resources/games/goal.rb, line 6 def id @id ||= @raw_data[:game_goal_id] end
insurance_goal?()
click to toggle source
# File lib/ahl_scraper/resources/games/goal.rb, line 84 def insurance_goal? @insurance_goal ||= @raw_data[:properties][:isInsuranceGoal] == "1" end
minus_players()
click to toggle source
# File lib/ahl_scraper/resources/games/goal.rb, line 96 def minus_players @minus_players ||= @raw_data[:minus_players].map { |player| OnIceSkater.new(player, { scoring_team: false, goal_id: id }) } end
number()
click to toggle source
# File lib/ahl_scraper/resources/games/goal.rb, line 10 def number @number ||= @opts[:number] end
penalty_shot?()
click to toggle source
# File lib/ahl_scraper/resources/games/goal.rb, line 80 def penalty_shot? @penalty_shot ||= @raw_data[:properties][:isPenaltyShot] == "1" end
period()
click to toggle source
# File lib/ahl_scraper/resources/games/goal.rb, line 14 def period @period ||= @raw_data[:period][:id].to_i end
period_time_in_seconds()
click to toggle source
# File lib/ahl_scraper/resources/games/goal.rb, line 22 def period_time_in_seconds @period_time_in_seconds ||= period_time.to_sec end
plus_players()
click to toggle source
# File lib/ahl_scraper/resources/games/goal.rb, line 92 def plus_players @plus_players ||= @raw_data[:plus_players].map { |player| OnIceSkater.new(player, { scoring_team: true, goal_id: id }) } end
power_play?()
click to toggle source
# File lib/ahl_scraper/resources/games/goal.rb, line 64 def power_play? @power_play ||= @raw_data[:properties][:isPowerPlay] == "1" end
scored_by()
click to toggle source
# File lib/ahl_scraper/resources/games/goal.rb, line 34 def scored_by @scored_by ||= { id: @raw_data[:scoredBy][:id], first_name: @raw_data[:scoredBy][:firstName], last_name: @raw_data[:scoredBy][:lastName], number: @raw_data[:scoredBy][:jerseyNumber], position: @raw_data[:scoredBy][:position], } end
scorer_goal_number()
click to toggle source
# File lib/ahl_scraper/resources/games/goal.rb, line 30 def scorer_goal_number @scorer_goal_number ||= @raw_data[:scorerGoalNumber] end
scoring_team()
click to toggle source
# File lib/ahl_scraper/resources/games/goal.rb, line 60 def scoring_team @scoring_team ||= @raw_data[:team] end
short_handed?()
click to toggle source
# File lib/ahl_scraper/resources/games/goal.rb, line 68 def short_handed? @short_handed ||= @raw_data[:properties][:isShortHanded] == "1" end
situation()
click to toggle source
# File lib/ahl_scraper/resources/games/goal.rb, line 100 def situation @situation ||= if @raw_data[:properties][:isPowerPlay] == "1" "PP" elsif @raw_data[:properties][:isShortHanded] == "1" "SH" elsif @raw_data[:properties][:isEmptyNet] == "1" "EN" elsif extra_skater? == true "EX" elsif @raw_data[:properties][:isPenaltyShot] == "1" "PS" else "EV" end end
special_teams?()
click to toggle source
# File lib/ahl_scraper/resources/games/goal.rb, line 128 def special_teams? @special_teams ||= short_handed? || power_play? end
time()
click to toggle source
# File lib/ahl_scraper/resources/games/goal.rb, line 18 def time @time ||= @raw_data[:time] end
Private Instance Methods
a1_name()
click to toggle source
# File lib/ahl_scraper/resources/games/goal.rb, line 148 def a1_name @a1_name ||= "#{assists.dig(0, :first_name)} #{assists.dig(0, :last_name)}" end
a2_name()
click to toggle source
# File lib/ahl_scraper/resources/games/goal.rb, line 152 def a2_name @a2_name ||= "#{assists.dig(1, :first_name)} #{assists.dig(1, :last_name)}" end
goalscorer_name()
click to toggle source
# File lib/ahl_scraper/resources/games/goal.rb, line 144 def goalscorer_name @goalscorer_name ||= "#{scored_by[:first_name]} #{scored_by[:last_name]}" end
period_time()
click to toggle source
# File lib/ahl_scraper/resources/games/goal.rb, line 156 def period_time @period_time ||= PeriodTimeHelper.new(time, period) end
set_extra_skater()
click to toggle source
# File lib/ahl_scraper/resources/games/goal.rb, line 134 def set_extra_skater return true if plus_players.length > minus_players.length && !special_teams? && !penalty_shot? return true if plus_players.length == minus_players.length && short_handed? return true if plus_players.length == 6 false end