class TeamMembership < ActiveRecord::Base
  belongs_to :team
  belongs_to :user

  validates :user, :presence => true
  validates :team, :presence => true
  validates :user_id, :uniqueness => { :scope => :team_id }
  validate :no_captains_allowed


  private

  def no_captains_allowed
    if user.present? && team.present? && team.captain == user
      errors.add(:user, "Captain is already a member.")
    end
  end
end