Module: Challah::AuthableUser
- Defined in:
- lib/challah/authable/user.rb
Defined Under Namespace
Modules: ClassMethods, InstanceMethods
Instance Method Summary (collapse)
Instance Method Details
- (Object) authable_user
3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
# File 'lib/challah/authable/user.rb', line 3 def authable_user unless included_modules.include?(InstanceMethods) include InstanceMethods extend ClassMethods end class_eval do cattr_accessor :protected_attributes validates_presence_of :first_name, :last_name, :email, :role_id, :username validates_uniqueness_of :email, :username validate :validate_new_password before_save :before_save_password belongs_to :role, :touch => true has_many :permission_users, :dependent => :destroy has_many :permissions, :through => :permission_users, :order => 'permissions.name' scope :active, where(:active => true).order('users.first_name, users.last_name') scope :inactive, where(:active => false).order('users.first_name, users.last_name') scope :with_role, lambda { |role| where([ "users.role_id = ?", role ]) } scope :search, lambda { |q| where([ 'users.first_name like ? OR users.last_name like ? OR users.email like ? OR users.username LIKE ?', "%#{q}%", "%#{q}%", "%#{q}%", "%#{q}%" ]) } after_save :save_permission_keys protect_attributes :api_key, :created_by, :crypted_password, :failed_login_count, :id, :last_login_at, :login_count, :permissions, :permissions_attributes, :permission_users, :permission_users_attributes, :persistence_token, :role_id, :updated_by end end |