Module: Ddr::Auth::User

Extended by:
ActiveSupport::Concern
Defined in:
lib/ddr/auth/user.rb

Defined Under Namespace

Modules: ClassMethods

Instance Method Summary collapse

Instance Method Details

#abilityObject



57
58
59
# File 'lib/ddr/auth/user.rb', line 57

def ability
  @ability ||= ::Ability.new(self)
end

#agentsObject



84
85
86
# File 'lib/ddr/auth/user.rb', line 84

def agents
  groups + [person]
end

#authorized_to_act_as_superuser?Boolean

Returns:

  • (Boolean)


74
75
76
# File 'lib/ddr/auth/user.rb', line 74

def authorized_to_act_as_superuser?
  member_of?(Groups::Superusers)
end

#groupsObject



61
62
63
# File 'lib/ddr/auth/user.rb', line 61

def groups
  @groups ||= Groups.new(self)
end

#has_role?(obj, role) ⇒ Boolean

Returns:

  • (Boolean)


92
93
94
# File 'lib/ddr/auth/user.rb', line 92

def has_role?(obj, role)
  obj.principal_has_role?(principals, role)
end

#member_of?(group) ⇒ Boolean Also known as: is_member_of?

Returns:

  • (Boolean)


65
66
67
68
69
70
71
# File 'lib/ddr/auth/user.rb', line 65

def member_of?(group)
  if group.is_a? Group
    groups.include?(group)
  else
    member_of?(Group.build(group))
  end
end

#principal_nameObject Also known as: name, eppn



78
79
80
# File 'lib/ddr/auth/user.rb', line 78

def principal_name
  user_key
end

#principalsObject



88
89
90
# File 'lib/ddr/auth/user.rb', line 88

def principals
  groups.map(&:to_s) + [principal_name]
end

#to_agentObject Also known as: to_person, agent, person



50
51
52
# File 'lib/ddr/auth/user.rb', line 50

def to_agent
  Person.build(self)
end

#to_sObject



46
47
48
# File 'lib/ddr/auth/user.rb', line 46

def to_s
  user_key
end

#user_keyObject

Copied from Hydra::User



42
43
44
# File 'lib/ddr/auth/user.rb', line 42

def user_key
  send(user_key_attribute)
end