Sha256: 906ace9749b6e7d0673587a938b0fd6261426f06c4b35b66394f08deb6632df4
Contents?: true
Size: 1.66 KB
Versions: 18
Compression:
Stored size: 1.66 KB
Contents
# Attributes and methods for raster works module GeoConcerns module RasterWorkBehavior extend ActiveSupport::Concern include ::GeoConcerns::MetadataExtractionHelper included do type [Hydra::PCDM::Vocab::PCDMTerms.Object, Hydra::Works::Vocab::WorksTerms.GenericWork, ::GeoConcerns::GeoTerms.RasterWork] end def raster_files members.select(&:raster_file?) end def metadata_files members.select(&:external_metadata_file?) end def vector_works members.select(&:vector_work?) end # Defines type by what it is and isn't # @return [Boolean] def image_work? false end def image_file? false end def raster_work? true end def raster_file? false end def vector_work? false end def vector_file? false end def external_metadata_file? false end # Retrieve all Image Works for which georeferencing generates this Raster Work # @return [Array] def image_works ordered_by.select do |parent| parent.class.included_modules.include?(::GeoConcerns::ImageWorkBehavior) end end # Retrieve the only Image Works for which georeferencing generates this Raster Work # @return [GeoConcerns::ImageWork] def image_work image_works.first end def to_solr(solr_doc = {}) super.tap do |doc| doc[solr_name("ordered_by", :symbol)] ||= [] doc[solr_name("ordered_by", :symbol)] += send(:ordered_by_ids) end end private def solr_name(*args) ActiveFedora.index_field_mapper.solr_name(*args) end end end
Version data entries
18 entries across 18 versions & 1 rubygems