Sha256: 1345211fdafbbdcac61ba975266c07d5b7002f0d151b9c15153789ad89460686

Contents?: true

Size: 1.01 KB

Versions: 8

Compression:

Stored size: 1.01 KB

Contents

module PhcdevworksAccountsDevise
  class User < ApplicationRecord

    # Autogenerate Organization ID
    before_create :phcdevworks_generate_org_id

    # User Gravatar Support
    include Gravtastic
    gravtastic

    # Add Users Roles
    enum role: [:user, :editor, :admin]
    after_initialize :phcdevworks_set_default_role

    # Include default devise modules. Others available are:
    # :trackable, :confirmable, :lockable and :omniauthable
    devise :database_authenticatable, :registerable, :recoverable, :rememberable, :validatable, :timeoutable

    # Validations
    validates :username, :presence => true, :uniqueness => true

    private

    # Autogenerate User Organization ID
    def phcdevworks_generate_org_id
      self.org_id = SecureRandom.hex(5)
    end

    # First Signup Admin and Rest Default to User
    def phcdevworks_set_default_role
      if User.all.count < 1
        self.role ||= :admin
      elsif
        self.role ||= :user
      end
    end

  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
phcdevworks_accounts_devise-1.1.1 app/models/phcdevworks_accounts_devise/user.rb
phcdevworks_accounts_devise-1.1.0 app/models/phcdevworks_accounts_devise/user.rb
phcdevworks_accounts_devise-1.0.1 app/models/phcdevworks_accounts_devise/user.rb
phcdevworks_accounts_devise-1.0.0 app/models/phcdevworks_accounts_devise/user.rb
phcdevworks_accounts_devise-0.1.3.pre.beta app/models/phcdevworks_accounts_devise/user.rb
phcdevworks_accounts_devise-0.1.2.pre.beta app/models/phcdevworks_accounts_devise/user.rb
phcdevworks_accounts_devise-0.1.1.pre.beta app/models/phcdevworks_accounts_devise/user.rb
phcdevworks_accounts_devise-0.1.0.pre.beta app/models/phcdevworks_accounts_devise/user.rb