Sha256: f156a70b30ccc009506e715c3085fcb1d72bf733b2ecb5ed38f9a8c707041e29

Contents?: true

Size: 994 Bytes

Versions: 7

Compression:

Stored size: 994 Bytes

Contents

module Adminpanel
  class User < ActiveRecord::Base
    attr_accessible :email, :name, :password, :password_confirmation
    has_secure_password

  #name validations
    validates_presence_of :name
    validates_length_of :name, :maximum => 25

  #password validations
    validates_confirmation_of :password
    validates_presence_of :password
    validates_length_of :password, :minimum => 6

  #password_confirmation validations
    validates_presence_of :password_confirmation

  #email validations
    validates_presence_of :email
    validates_uniqueness_of :email
    VALID_EMAIL_REGEX = /\A[\w+\-.]+@[a-z\d\-.]+\.[a-z]+\z/i
    validates_format_of :email, :with => VALID_EMAIL_REGEX

    before_save{ email.downcase! }
    before_save :create_remember_token

    def has_role?(role_sym)
      roles.any? { |r| r.name.underscore.to_sym == role_sym }
    end

    private
      def create_remember_token
        self.remember_token = SecureRandom.base64.tr("+/", "-_")
      end
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
adminpanel-1.2.4 app/models/adminpanel/user.rb
adminpanel-1.2.3 app/models/adminpanel/user.rb
adminpanel-1.2.2 app/models/adminpanel/user.rb
adminpanel-1.2.1 app/models/adminpanel/user.rb
adminpanel-1.2.0 app/models/adminpanel/user.rb
adminpanel-1.1.0 app/models/adminpanel/user.rb
adminpanel-1.0.0 app/models/adminpanel/user.rb