Sha256: 9f8a76282625c9016e1d6c1428288a05cb796a25625d07123cabe6d091f55cfd
Contents?: true
Size: 1.06 KB
Versions: 2
Compression:
Stored size: 1.06 KB
Contents
class Person < ActiveRecord::Base has_many :elts has_many :choices, :dependent => :destroy has_many :issues, :through => :choices, :source => :elt has_many :subscriptions, :dependent => :destroy has_many :subscribed_elts, :through => :subscriptions, :source => :elt has_many :person_mails, :dependent => :destroy has_many :mails, :through => :person_mails, :source => :mail validates_presence_of :name, :on => :create validates_length_of :name, :within => 3..80, :on => :create validates_uniqueness_of :name, :on => :create validates_uniqueness_of :email, :on => :create, :if => Proc.new { |p| p.email and p.email.length > 0 } # Convenience method, because User is as it was from the salted login plugin def user return User.find_by_login(name) end def before_create # Let's generate a nice looking id self.id ||= new_id = name.gsub(/\[[\w-]*\]/, '').strip \ .gsub(/\s/, '_').gsub(/[^\w]+/, '') \ .gsub(/_+/, '_').gsub(/(^_|_$)/, '') if name i = 0 self.id = "#{new_id}_#{i+=1}" while self.class.find_by_id self.id end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
parlement-0.11 | app/models/person.rb |
parlement-0.12 | app/models/person.rb |