class Ddr::Auth::Roles::Role

The assignment of a role to an agent within a scope.

Constants

DEFAULT_SCOPE

Public Class Methods

build(*args) click to toggle source
# File lib/ddr/auth/roles/role.rb, line 25
def build(*args)
  Deprecation.warn(Role, "`build` is deprecated; use `new` instead.")
  new(*args)
end
from_json(json) click to toggle source
# File lib/ddr/auth/roles/role.rb, line 30
def from_json(json)
  new JSON.parse(json)
end
new(*args) click to toggle source
Calls superclass method
# File lib/ddr/auth/roles/role.rb, line 35
def initialize(*args)
  super
  validate!
end

Public Instance Methods

in_policy_scope?() click to toggle source
# File lib/ddr/auth/roles/role.rb, line 58
def in_policy_scope?
  scope == Roles::POLICY_SCOPE
end
in_resource_scope?() click to toggle source
# File lib/ddr/auth/roles/role.rb, line 54
def in_resource_scope?
  scope == Roles::RESOURCE_SCOPE
end
permissions() click to toggle source

Returns the permissions associated with the role @return [Array<Symbol>] the permissions

# File lib/ddr/auth/roles/role.rb, line 64
def permissions
  Roles.type_map[role_type].permissions
end
to_json() click to toggle source
# File lib/ddr/auth/roles/role.rb, line 44
def to_json
  JSON.dump(to_h)
end
to_s() click to toggle source
# File lib/ddr/auth/roles/role.rb, line 40
def to_s
  to_h.to_s
end
validate!() click to toggle source
# File lib/ddr/auth/roles/role.rb, line 48
def validate!
  if invalid?
    raise Ddr::Models::Error, "Invalid Role: #{errors.full_messages.join('; ')}"
  end
end