Class: Mks::Auth::User
- Inherits:
-
ApplicationRecord
- Object
- ActiveRecord::Base
- ApplicationRecord
- Mks::Auth::User
- Defined in:
- app/models/mks/auth/user.rb
Overview
A model class to represent users of the system
Constant Summary collapse
- VALID_EMAIL_REGEX =
/\A[\w+\-.]+@[a-z\d\-.]+\.[a-z]+\z/i
Instance Method Summary collapse
- #any_role?(role_list) ⇒ Boolean
- #full_name ⇒ Object
- #has_module(code) ⇒ Object
- #role?(role) ⇒ Boolean
- #role_names ⇒ Object
- #to_token_payload ⇒ Object
Instance Method Details
#any_role?(role_list) ⇒ Boolean
45 46 47 |
# File 'app/models/mks/auth/user.rb', line 45 def any_role?(role_list) roles.any? { |r| role_list.include?(r.name.underscore.to_sym) } end |
#full_name ⇒ Object
23 24 25 |
# File 'app/models/mks/auth/user.rb', line 23 def full_name "#{first_name} #{last_name}" end |
#has_module(code) ⇒ Object
35 36 37 38 39 |
# File 'app/models/mks/auth/user.rb', line 35 def has_module(code) app_module = ApplicationModule.find_by(code: code) roles = self.roles.select { |ur| ur.application_module == app_module } roles.count.positive? end |
#role?(role) ⇒ Boolean
41 42 43 |
# File 'app/models/mks/auth/user.rb', line 41 def role?(role) roles.any? { |r| r.name.underscore.to_sym == role } end |
#role_names ⇒ Object
27 28 29 |
# File 'app/models/mks/auth/user.rb', line 27 def role_names roles.map(&:name) end |
#to_token_payload ⇒ Object
31 32 33 |
# File 'app/models/mks/auth/user.rb', line 31 def to_token_payload { id: id, email: email, name: full_name, roles: role_names } end |