Module: Ddr::HasAdminMetadata
- Extended by:
- ActiveSupport::Concern
- Included in:
- Resource
- Defined in:
- app/models/concerns/ddr/has_admin_metadata.rb
Constant Summary collapse
- TERMS =
{ access_role: Valkyrie::Types::Set.of(Ddr::Auth::Roles::Role), admin_set: Valkyrie::Types::Strict::String.optional, affiliation: Valkyrie::Types::Set, aleph_id: Valkyrie::Types::Strict::String.optional, aspace_id: Valkyrie::Types::Strict::String.optional, contentdm_id: Valkyrie::Types::Strict::String.optional, depositor: Valkyrie::Types::Strict::String.optional, display_format: Valkyrie::Types::Strict::String.optional, doi: Valkyrie::Types::Strict::String.optional, ead_id: Valkyrie::Types::Strict::String.optional, fcrepo3_pid: Valkyrie::Types::Strict::String.optional, ingested_by: Valkyrie::Types::Strict::String.optional, ingestion_date: Valkyrie::Types::DateTime.optional, is_locked: Valkyrie::Types::Strict::Bool.optional, license: Valkyrie::Types::Strict::String.optional, local_id: Valkyrie::Types::Strict::String.optional, nested_path: Valkyrie::Types::Strict::String.optional, permanent_id: Valkyrie::Types::Strict::String.optional, permanent_url: Valkyrie::Types::Strict::String.optional, research_help_contact: Valkyrie::Types::Strict::String.optional, rights_note: Valkyrie::Types::Set, workflow_state: Valkyrie::Types::Strict::String.optional }
Class Method Summary collapse
Instance Method Summary collapse
- #effective_permissions(agents) ⇒ Object
- #effective_roles(agents = nil) ⇒ Object
- #finding_aid ⇒ Object
- #inherited_roles ⇒ Object
- #locked? ⇒ Boolean
-
#nonpublishable? ⇒ Boolean
Usually won't be called directly.
- #policy_roles ⇒ Object
- #published? ⇒ Boolean
- #research_help ⇒ Object
- #resource_roles ⇒ Object
- #unpublished? ⇒ Boolean
Class Method Details
.term_names ⇒ Object
29 30 31 |
# File 'app/models/concerns/ddr/has_admin_metadata.rb', line 29 def self.term_names TERMS.keys end |
Instance Method Details
#effective_permissions(agents) ⇒ Object
79 80 81 |
# File 'app/models/concerns/ddr/has_admin_metadata.rb', line 79 def (agents) Ddr::Auth::EffectivePermissions.call(self, agents) end |
#effective_roles(agents = nil) ⇒ Object
75 76 77 |
# File 'app/models/concerns/ddr/has_admin_metadata.rb', line 75 def effective_roles(agents = nil) Ddr::Auth::EffectiveRoles.call(self, agents) end |
#finding_aid ⇒ Object
83 84 85 86 87 |
# File 'app/models/concerns/ddr/has_admin_metadata.rb', line 83 def finding_aid if ead_id FindingAid.new(ead_id) end end |
#inherited_roles ⇒ Object
71 72 73 |
# File 'app/models/concerns/ddr/has_admin_metadata.rb', line 71 def inherited_roles ( has_admin_policy? && admin_policy.policy_roles ) || [] end |
#locked? ⇒ Boolean
42 43 44 |
# File 'app/models/concerns/ddr/has_admin_metadata.rb', line 42 def locked? !!is_locked || Ddr.repository_locked end |
#nonpublishable? ⇒ Boolean
Usually won't be called directly. See `publishable?` on Resource and its derivatives
59 60 61 |
# File 'app/models/concerns/ddr/has_admin_metadata.rb', line 59 def nonpublishable? workflow_state == Ddr::Workflow::NONPUBLISHABLE end |
#policy_roles ⇒ Object
67 68 69 |
# File 'app/models/concerns/ddr/has_admin_metadata.rb', line 67 def policy_roles roles.select(&:in_policy_scope?) end |
#published? ⇒ Boolean
46 47 48 |
# File 'app/models/concerns/ddr/has_admin_metadata.rb', line 46 def published? workflow_state == Ddr::Workflow::PUBLISHED end |
#research_help ⇒ Object
50 51 52 |
# File 'app/models/concerns/ddr/has_admin_metadata.rb', line 50 def research_help Ddr::Contact.call(research_help_contact) if research_help_contact end |
#resource_roles ⇒ Object
63 64 65 |
# File 'app/models/concerns/ddr/has_admin_metadata.rb', line 63 def resource_roles roles.select(&:in_resource_scope?) end |
#unpublished? ⇒ Boolean
54 55 56 |
# File 'app/models/concerns/ddr/has_admin_metadata.rb', line 54 def unpublished? workflow_state == Ddr::Workflow::UNPUBLISHED end |