class Sports::Goal

Attributes

minute[R]
notes[R]
offset[R]
owngoal[R]
penalty[R]
player[R]
score1[R]
score2[R]
team[R]

Public Class Methods

build( events ) click to toggle source
# File lib/sportdb/structs/structs/goal.rb, line 147
def self.build( events )  ## check/todo - rename to build_from_event/row or such - why? why not?
  ## build an array of goal structs from (csv) recs
  recs = []

  last_score1 = 0
  last_score2 = 0

  events.each do |event|

    if last_score1+1 == event.score1 && last_score2 == event.score2
      team = 1
    elsif last_score2+1 == event.score2 && last_score1 == event.score1
      team = 2
    else
      puts "!! ERROR - unexpected score advance (one goal at a time expected):"
      puts "  #{last_score1}-#{last_score2}=> #{event.score1}-#{event.score2}"
      exit 1
    end

    last_score1 = event.score1
    last_score2 = event.score2


    attributes = {
      score1:  event.score1,
      score2:  event.score2,
      team:    team,
      minute:  event.minute,
      offset:  event.offset,
      player:  event.player,
      owngoal: event.owngoal,
      penalty: event.penalty,
      notes:   event.notes
    }

    recs << Goal.new( **attributes )
  end

  recs
end
new( score1:, score2:, team:, player:, minute:, offset: nil, owngoal: false, penalty: false, notes: nil ) click to toggle source
# File lib/sportdb/structs/structs/goal.rb, line 207
def initialize( score1:,
                score2:,
                team:,
                player:,
                minute:,
                offset:  nil,
                owngoal: false,
                penalty: false,
                notes:   nil
              )
  @score1  = score1
  @score2  = score2
  @team    = team     # 1 or 2
  @player  = player
  @minute  = minute
  @offset  = offset
  @owngoal = owngoal
  @penalty = penalty
  @notes   = notes
end

Public Instance Methods

owngoal?() click to toggle source
# File lib/sportdb/structs/structs/goal.rb, line 202
def owngoal?() @owngoal==true; end
penalty?() click to toggle source
# File lib/sportdb/structs/structs/goal.rb, line 203
def penalty?() @penalty==true; end
team1?() click to toggle source
# File lib/sportdb/structs/structs/goal.rb, line 204
def team1?()   @team == 1; end
team2?() click to toggle source
# File lib/sportdb/structs/structs/goal.rb, line 205
def team2?()   @team == 2; end