Class: Legion::Data::Model::RbacRoleAssignment

Inherits:
Sequel::Model
  • Object
show all
Defined in:
lib/legion/data/models/rbac_role_assignment.rb

Constant Summary collapse

VALID_PRINCIPAL_TYPES =
%w[worker human].freeze

Instance Method Summary collapse

Instance Method Details

#active?Boolean

Returns:

  • (Boolean)


23
24
25
# File 'lib/legion/data/models/rbac_role_assignment.rb', line 23

def active?
  !expired?
end

#expired?Boolean

Returns:

  • (Boolean)


17
18
19
20
21
# File 'lib/legion/data/models/rbac_role_assignment.rb', line 17

def expired?
  return false if expires_at.nil?

  expires_at < Time.now
end

#validateObject



9
10
11
12
13
14
15
# File 'lib/legion/data/models/rbac_role_assignment.rb', line 9

def validate
  super
  errors.add(:principal_type, 'must be worker or human') unless VALID_PRINCIPAL_TYPES.include?(principal_type)
  errors.add(:principal_id, 'cannot be empty') if principal_id.nil? || principal_id.empty?
  errors.add(:role, 'cannot be empty') if role.nil? || role.empty?
  errors.add(:granted_by, 'cannot be empty') if granted_by.nil? || granted_by.empty?
end