Module: Ddr::Auth::LegacyRoles
- Extended by:
- ActiveSupport::Concern
- Included in:
- Models::HasAdminMetadata
- Defined in:
- lib/ddr/auth/legacy_roles.rb
Constant Summary collapse
- LEGACY_ROLES =
[:administrator, :editor, :downloader, :contributor]
Instance Method Summary collapse
- #legacy_downloader_to_resource_roles ⇒ Object
- #principal_has_role?(principal, role) ⇒ Boolean
- #principals(role) ⇒ Object
Instance Method Details
#legacy_downloader_to_resource_roles ⇒ Object
8 9 10 11 12 13 |
# File 'lib/ddr/auth/legacy_roles.rb', line 8 def legacy_downloader_to_resource_roles principals(:downloader).map do |name| agent_type = (name =~ /@/ ? :person : :group) Roles::Downloader.build(agent_type=>name, :scope=>:resource) end end |
#principal_has_role?(principal, role) ⇒ Boolean
15 16 17 |
# File 'lib/ddr/auth/legacy_roles.rb', line 15 def principal_has_role?(principal, role) ( principals(role) & Array(principal) ).any? end |
#principals(role) ⇒ Object
19 20 21 22 23 24 25 |
# File 'lib/ddr/auth/legacy_roles.rb', line 19 def principals(role) if LEGACY_ROLES.include?(role) adminMetadata.send(role) else raise ArgumentError, "#{role.inspect} is not a legacy role." end end |