module Hydra::PCDM::CollectionBehavior
Implements behavior for PCDM
collections.
The behavior is summarized as:
1) Hydra::PCDM::Collection can aggregate (pcdm:hasMember) Hydra::PCDM::Collection (no infinite loop, e.g., A -> B -> C -> A) 2) Hydra::PCDM::Collection can aggregate (pcdm:hasMember) Hydra::PCDM::Object 3) Hydra::PCDM::Collection can aggregate (ore:aggregates) Hydra::PCDM::Object (Object related to the Collection) 4) Hydra::PCDM::Collection can NOT aggregate non-PCDM object 5) Hydra::PCDM::Collection can NOT contain (pcdm:hasFile) Hydra::PCDM::File 6) Hydra::PCDM::Collection can have descriptive metadata 7) Hydra::PCDM::Collection can have access metadata
Public Instance Methods
collection_ids()
click to toggle source
@return [Enumerable<String>]
# File lib/hydra/pcdm/models/concerns/collection_behavior.rb, line 46 def collection_ids members.select(&:pcdm_collection?).map(&:id) end
collections()
click to toggle source
@return [Enumerable<PCDM::CollectionBehavior>]
# File lib/hydra/pcdm/models/concerns/collection_behavior.rb, line 40 def collections members.select(&:pcdm_collection?) end
ordered_collection_ids()
click to toggle source
@return [Enumerable<String>]
# File lib/hydra/pcdm/models/concerns/collection_behavior.rb, line 58 def ordered_collection_ids ordered_collections.map(&:id) end
ordered_collections()
click to toggle source
@return [Enumerable<PCDM::CollectionBehavior>]
# File lib/hydra/pcdm/models/concerns/collection_behavior.rb, line 52 def ordered_collections ordered_members.to_a.select(&:pcdm_collection?) end
pcdm_collection?()
click to toggle source
@return [Boolean] whether this instance is a PCDM
Collection
.
# File lib/hydra/pcdm/models/concerns/collection_behavior.rb, line 70 def pcdm_collection? true end