Module: Freeberry::Models::User::ClassMethods

Defined in:
lib/freeberry/models/user.rb

Class Method Summary collapse

Class Method Details

.extended(base) ⇒ Object



11
12
13
14
15
16
17
18
19
20
21
22
# File 'lib/freeberry/models/user.rb', line 11

def self.extended(base)
  base.class_eval do        
    has_many :roles, :dependent => :delete_all
    has_one :avatar, :as => :assetable, :dependent => :destroy, :autosave => true
    
    scope :with_role, lambda {|role| joins(:roles).where(["`roles`.role_type = ?", role.id]) }
    scope :admins, with_role(::RoleType.admin)
    
    before_validation :generate_login, :if => :has_login?
    before_create :set_default_role, :if => :roles_empty?
  end
end