# == Schema Information # # Table name: rounders # # id :integer not null, primary key # round_id :integer # user_id :integer # team :integer # roles :string(255) # kills :integer # deaths :integer # name :string(255) # steamid :string(255) # team_id :integer # class Rounder < ActiveRecord::Base attr_accessor :lifeform scope :team, lambda { |team| {:conditions => {:team => team}} } scope :match, lambda { |steamid| {:conditions => {:steamid => steamid}} } scope :ordered, :order => "kills DESC, deaths ASC" scope :stats, :select => "id, team_id, COUNT(*) as num", :group => "team_id", :order => "num DESC", :having => "num > 3" scope :player_stats, :select => "id, user_id, SUM(kills)/SUM(deaths) as kpd, COUNT(*) as rounds", :group => "user_id", :order => "kpd DESC", :having => "rounds > 30 AND kpd > 0 AND user_id IS NOT NULL", :limit => 100 scope :team_stats, :select => "id, team_id, SUM(kills)/SUM(deaths) as kpd, COUNT(DISTINCT round_id) as rounds", :group => "team_id", :order => "kpd DESC", :having => "rounds > 30 AND kpd > 0 AND team_id IS NOT NULL", :limit => 100 scope :extras, :include => [:round, :user] scope :within, lambda { |from, to| {:conditions => ["created_at > ? AND created_at < ?", from.utc, to.utc]} } belongs_to :round belongs_to :user belongs_to :ensl_team, :class_name => "Team", :foreign_key => "team_id" def to_s user ? user.username : name end end