class Player < ApplicationRecord
  has_many :games_player, dependent: :destroy
  has_many :games, through: :games_player

  has_and_belongs_to_many :teams

  def away_played
    games = GamesPlayer.where(player_id: self.id, played: true)

    played = 0
    games.each do |g|
      played += 1 if !g.game.homesite
    end
    return played
  end
  def away_played_per
    return (self.away_played.to_f / self.played.to_f * 100).to_i if self.played > 0
  end
  def captain_for_teams
    teams = Team.where(captainID: self.id)
    return teams
  end
  def home_played
    games = GamesPlayer.where(player_id: self.id, played: true)

    played = 0
    games.each do |g|
      played += 1 if g.game.homesite
    end
    return played
  end
  def home_played_per
    return (self.home_played.to_f / self.played.to_f * 100).to_i if self.played > 0
  end
  def played
    games = GamesPlayer.where(player_id: self.id, played: true)
    return games.count
  end
  def played_per
    return (self.played.to_f / self.games.count.to_f * 100).to_i if self.games.count > 0
  end
end
