Module: AuthSlice::Adapter::Activerecord

Defined in:
app/models/adapter/activerecord.rb

Defined Under Namespace

Modules: ClassMethods

Class Method Summary collapse

Class Method Details

.create_user_modelObject



4
5
6
7
8
9
10
# File 'app/models/adapter/activerecord.rb', line 4

def self.create_user_model
  Object.class_eval <<-end_eval
    class ::AuthSlice::User < ActiveRecord::Base
      include AuthSlice::Adapter::Activerecord
    end
  end_eval
end

.included(base) ⇒ Object



12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
# File 'app/models/adapter/activerecord.rb', line 12

def self.included(base)
  base.class_eval do
    include AuthSlice::BaseModel
    extend ClassMethods
    
    validates_presence_of     :name
    validates_presence_of     :username
    validates_presence_of     :email
    validates_length_of       :username, :within => 3..40
    validates_length_of       :password, :within => 4..40, :if => :password_required?
    validates_presence_of     :password_confirmation, :if => :password_required?
    validates_confirmation_of :password, :if => :password_required?
    validates_uniqueness_of   :username, :case_sensitive => false, :if => lambda { |u| !u.username.blank? }
    validates_uniqueness_of   :email, :case_sensitive => false, :if => lambda { |u| !u.email.blank? }

    before_save :encrypt_password
    
    def username=(value)
      self[:username] = value.downcase if value
    end
  end
end