Sha256: 39fa8902b6d3a8b935fbe527c97a4fd859bb283a1a7a355ab7d9493fa514aa51

Contents?: true

Size: 936 Bytes

Versions: 12

Compression:

Stored size: 936 Bytes

Contents

class User < ActiveRecord::Base
  has_many :posts
  has_many :dogs, :foreign_key => :owner_id, :class_name => "Pets::Dog"

  has_many :friendships
  has_many :friends, :through => :friendships

  has_one :address, :as => :addressable, :dependent => :destroy

  named_scope :old,      :conditions => "age > 50"
  named_scope :eighteen, :conditions => { :age => 18 }
  named_scope :recent,   lambda {|count| { :limit => count } }

  def self.recent_via_method(count)
    scoped(:limit => count)
  end

  attr_protected :password
  attr_readonly :name

  validates_format_of :email, :with => /\w*@\w*.com/
  validates_length_of :email, :in => 1..100
  validates_inclusion_of :age, :in => 1..100
  validates_acceptance_of :eula
  validates_uniqueness_of :email, :scope => :name, :case_sensitive => false
  validates_length_of :ssn, :is => 9, :message => "Social Security Number is not the right length"
  validates_numericality_of :ssn
end

Version data entries

12 entries across 12 versions & 4 rubygems

Version Path
ratnikov-shoulda-2.0.6.1 test/rails_root/app/models/user.rb
ratnikov-shoulda-2.0.6.2 test/rails_root/app/models/user.rb
ratnikov-shoulda-2.0.6.3 test/rails_root/app/models/user.rb
ratnikov-shoulda-2.9.0.1 test/rails_root/app/models/user.rb
ratnikov-shoulda-2.9.0.2 test/rails_root/app/models/user.rb
ratnikov-shoulda-2.9.0.3 test/rails_root/app/models/user.rb
ratnikov-shoulda-2.9.0 test/rails_root/app/models/user.rb
rmm5t-shoulda-2.9.1 test/rails_root/app/models/user.rb
thoughtbot-shoulda-2.9.0 test/rails_root/app/models/user.rb
thoughtbot-shoulda-2.9.1 test/rails_root/app/models/user.rb
shoulda-2.9.0 test/rails_root/app/models/user.rb
shoulda-2.9.1 test/rails_root/app/models/user.rb