# == Schema Information # # Table name: matchers # # id :integer not null, primary key # match_id :integer not null # user_id :integer not null # contester_id :integer not null # created_at :datetime # updated_at :datetime # merc :boolean not null # class Matcher < ActiveRecord::Base include Extra attr_protected :id, :updated_at, :created_at belongs_to :match belongs_to :user belongs_to :contester has_many :teams, :through => :contester scope :stats, :select => "user_id, COUNT(*) as num, users.username", :joins => "LEFT JOIN users ON users.id = user_id", :group => "user_id", :having => "num > 20", :order => "num DESC" scope :mercs, :conditions => {:merc => true} scope :of_contester, lambda { |contester| {:conditions => {:contester_id => contester.id}} } validates_presence_of :match, :user validates_uniqueness_of :user_id, :scope => :match_id validates_inclusion_of :merc, :in => [true, false] end