Class: Hyrax::CustomQueries::Navigators::ChildCollectionsNavigator
- Inherits:
-
Object
- Object
- Hyrax::CustomQueries::Navigators::ChildCollectionsNavigator
- Defined in:
- app/services/hyrax/custom_queries/navigators/child_collections_navigator.rb
Overview
Navigate from a resource to the child collections in the resource.
Instance Attribute Summary collapse
- #query_service ⇒ Object readonly
Class Method Summary collapse
-
.queries ⇒ Object
Define the queries that can be fulfilled by this navigator.
Instance Method Summary collapse
-
#find_child_collection_ids(resource:) ⇒ Array<Valkyrie::ID>
Find the ids of child collections of a given resource, and map to Valkyrie Resources IDs.
-
#find_child_collections(resource:) ⇒ Array<Valkyrie::Resource>
Find child collections of a given resource, and map to Valkyrie Resources.
-
#initialize(query_service:) ⇒ ChildCollectionsNavigator
constructor
A new instance of ChildCollectionsNavigator.
Constructor Details
#initialize(query_service:) ⇒ ChildCollectionsNavigator
Returns a new instance of ChildCollectionsNavigator.
19 20 21 |
# File 'app/services/hyrax/custom_queries/navigators/child_collections_navigator.rb', line 19 def initialize(query_service:) @query_service = query_service end |
Instance Attribute Details
#query_service ⇒ Object (readonly)
17 18 19 |
# File 'app/services/hyrax/custom_queries/navigators/child_collections_navigator.rb', line 17 def query_service @query_service end |
Class Method Details
.queries ⇒ Object
Define the queries that can be fulfilled by this navigator.
13 14 15 |
# File 'app/services/hyrax/custom_queries/navigators/child_collections_navigator.rb', line 13 def self.queries [:find_child_collections, :find_child_collection_ids] end |
Instance Method Details
#find_child_collection_ids(resource:) ⇒ Array<Valkyrie::ID>
Find the ids of child collections of a given resource, and map to Valkyrie Resources IDs
40 41 42 |
# File 'app/services/hyrax/custom_queries/navigators/child_collections_navigator.rb', line 40 def find_child_collection_ids(resource:) find_child_collections(resource: resource).map(&:id) end |
#find_child_collections(resource:) ⇒ Array<Valkyrie::Resource>
Find child collections of a given resource, and map to Valkyrie Resources
29 30 31 32 |
# File 'app/services/hyrax/custom_queries/navigators/child_collections_navigator.rb', line 29 def find_child_collections(resource:) query_service .find_inverse_references_by(resource: resource, property: :member_of_collection_ids) end |