Sha256: ca724c82d85083b369085fe7afe80d5d9366b600bbfd62428fa58574103bcab4
Contents?: true
Size: 1.28 KB
Versions: 20
Compression:
Stored size: 1.28 KB
Contents
# frozen_string_literal: true module Hyrax module CustomQueries module Navigators ## # Navigate from a resource to the child filesets in the resource. # # @see https://github.com/samvera/valkyrie/wiki/Queries#custom-queries # @since 3.4.0 class ChildFileSetsNavigator # Define the queries that can be fulfilled by this navigator. def self.queries [:find_child_file_sets, :find_child_file_set_ids] end attr_reader :query_service def initialize(query_service:) @query_service = query_service end ## # Find child filesets of a given resource, and map to Valkyrie Resources # # @param [Valkyrie::Resource] resource # # @return [Array<Valkyrie::Resource>] def find_child_file_sets(resource:) query_service.find_members(resource: resource).select(&:file_set?) end ## # Find the ids of child filesets of a given resource, and map to Valkyrie Resources IDs # # @param [Valkyrie::Resource] resource # # @return [Array<Valkyrie::ID>] def find_child_file_set_ids(resource:) find_child_file_sets(resource: resource).map(&:id) end end end end end
Version data entries
20 entries across 20 versions & 1 rubygems