Guest User

Untitled

a guest
Jul 17th, 2018
104
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.96 KB | None | 0 0
  1. class Game < ActiveRecord::Base
  2. belongs_to :season_week
  3. belongs_to :home_team, :class_name => "Team"
  4. belongs_to :away_team, :class_name => "Team"
  5. belongs_to :winner_team, :class_name => "Team"
  6. belongs_to :favorite_team, :class_name => "Team"
  7. validates_presence_of :season_week_id, :home_team_id, :away_team_id, :date_and_time_of_game, :message => "is required"
  8.  
  9. def self.count_wins_by_team_id_and_season_id(team_id, season_id)
  10. return count(:include => [ :season_week ], :conditions => [ "winner_team_id = :ti and ( home_team_id = :ti or away_team_id = :ti ) and
  11. season_week_id in (select id from season_weeks where season_id = :si)", { :ti => team_id, :si => season_id } ] )
  12. end
  13.  
  14. def self.count_losses_by_team_id_and_season_id(team_id, season_id)
  15. return count(:include => [ :season_week ], :conditions => [ "winner_team_id != :ti and ( home_team_id = :ti or away_team_id = :ti ) and
  16. season_week_id in (select id from season_weeks where season_id = :si)", { :ti => team_id, :si => season_id } ] )
  17. end
  18.  
  19. def self.count_point_wins_by_team_id_and_season_id(team_id, season_id)
  20. return count(:include => [ :season_week ], :conditions => [ "points_winner_team_id = :ti and ( home_team_id = :ti or away_team_id = :ti ) and
  21. season_week_id in (select id from season_weeks where season_id = :si)", { :ti => team_id, :si => season_id } ] )
  22. end
  23.  
  24. def self.count_point_losses_by_team_id_and_season_id(team_id, season_id)
  25. return count(:include => [ :season_week ], :conditions => [ "points_winner_team_id != :ti and ( home_team_id = :ti or away_team_id = :ti ) and
  26. season_week_id in (select id from season_weeks where season_id = :si)", { :ti => team_id, :si => season_id } ] )
  27. end
  28.  
  29. def self.find_by_team_id_and_season_id(team_id, season_id)
  30. return find(:all, :include => [ :season_week ], :conditions => [ "( home_team_id = :ti or away_team_id = :ti ) and
  31. season_week_id in (select id from season_weeks where season_id = :si)", { :ti => team_id, :si => season_id } ], :order => "season_week_id" )
  32. end
  33.  
  34.  
  35. def favorite_win_loss
  36. return "(" + count_wins_by_team_id_and_season_id(favorite_id, season_week.season_id).to_s + "-" + count_losses_by_team_id_and_season_id(favorite_id, season_week.season_id).to_s + ")"
  37. end
  38.  
  39. def favorite_point_win_loss
  40. return "(" + count_point_wins_by_team_id_and_season_id(favorite_id, season_week.season_id).to_s + "-" + count_point_losses_by_team_id_and_season_id(favorite_id, season_week.season_id).to_s + ")"
  41. end
  42.  
  43. def underdog_win_loss
  44. return "(" + count_wins_by_team_id_and_season_id(underdog_id, season_week.season_id).to_s + "-" + count_losses_by_team_id_and_season_id(underdog_id, season_week.season_id).to_s + ")"
  45. end
  46.  
  47. def underdog_point_win_loss
  48. return "(" + count_point_wins_by_team_id_and_season_id(underdog_id, season_week.season_id).to_s + "-" + count_point_losses_by_team_id_and_season_id(underdog_id, season_week.season_id).to_s + ")"
  49. end
  50.  
  51. end
Add Comment
Please, Sign In to add comment