Sha256: 50952a10bc434ab5930fb2828f7fb3533eed2dfcb72aa4192a5e388668a3290f

Contents?: true

Size: 1 KB

Versions: 1

Compression:

Stored size: 1 KB

Contents

module PhcdevworksAccounts
  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

1 entries across 1 versions & 1 rubygems

Version Path
phcdevworks_accounts-3.3.0 app/models/phcdevworks_accounts/user.rb