Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class Game < ActiveRecord::Base
- belongs_to :season_week
- belongs_to :home_team, :class_name => "Team"
- belongs_to :away_team, :class_name => "Team"
- belongs_to :winner_team, :class_name => "Team"
- belongs_to :favorite_team, :class_name => "Team"
- validates_presence_of :season_week_id, :home_team_id, :away_team_id, :date_and_time_of_game, :message => "is required"
- def self.count_wins_by_team_id_and_season_id(team_id, season_id)
- return count(:include => [ :season_week ], :conditions => [ "winner_team_id = :ti and ( home_team_id = :ti or away_team_id = :ti ) and
- season_week_id in (select id from season_weeks where season_id = :si)", { :ti => team_id, :si => season_id } ] )
- end
- def self.count_losses_by_team_id_and_season_id(team_id, season_id)
- return count(:include => [ :season_week ], :conditions => [ "winner_team_id != :ti and ( home_team_id = :ti or away_team_id = :ti ) and
- season_week_id in (select id from season_weeks where season_id = :si)", { :ti => team_id, :si => season_id } ] )
- end
- def self.count_point_wins_by_team_id_and_season_id(team_id, season_id)
- return count(:include => [ :season_week ], :conditions => [ "points_winner_team_id = :ti and ( home_team_id = :ti or away_team_id = :ti ) and
- season_week_id in (select id from season_weeks where season_id = :si)", { :ti => team_id, :si => season_id } ] )
- end
- def self.count_point_losses_by_team_id_and_season_id(team_id, season_id)
- return count(:include => [ :season_week ], :conditions => [ "points_winner_team_id != :ti and ( home_team_id = :ti or away_team_id = :ti ) and
- season_week_id in (select id from season_weeks where season_id = :si)", { :ti => team_id, :si => season_id } ] )
- end
- def self.find_by_team_id_and_season_id(team_id, season_id)
- return find(:all, :include => [ :season_week ], :conditions => [ "( home_team_id = :ti or away_team_id = :ti ) and
- season_week_id in (select id from season_weeks where season_id = :si)", { :ti => team_id, :si => season_id } ], :order => "season_week_id" )
- end
- def favorite_win_loss
- 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 + ")"
- end
- def favorite_point_win_loss
- 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 + ")"
- end
- def underdog_win_loss
- 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 + ")"
- end
- def underdog_point_win_loss
- 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 + ")"
- end
- end
Add Comment
Please, Sign In to add comment