Sha256: b95483bfaa47ec9efbb0211db5e73ff29d0c596d02dd513dae9f8b616d5dc89f
Contents?: true
Size: 987 Bytes
Versions: 5
Compression:
Stored size: 987 Bytes
Contents
module IiifPrint module Data # Mixin module for fileset methods for work, presumes an @work # instance attribute refering to a work object module FilesetHelper def fileset_id # if context is itself a string, presume it is a file set id return @work if @work.is_a? String # if context is not a String, presume a work or fileset context: fileset&.id end def first_fileset # if context is fileset id (e.g. caller is view partial) string, # get the fileset from that id return Hyrax.query_service.find_by(id: @work) if @work.is_a?(String) # if "work" context is a FileSet, not actual work, return it return @work if @work.is_a?(Hyrax::FileSet) || @work.is_a?(FileSet) # in most cases, get from work's members: filesets = @work.members.select { |m| m.is_a?(Hyrax::FileSet) || m.is_a?(FileSet) } filesets.empty? ? nil : filesets[0] end end end end
Version data entries
5 entries across 5 versions & 1 rubygems