Sha256: a0e0632c5976819f4fbb3591405b6026891348e7989f9c66fd4582abc4facca1

Contents?: true

Size: 1.07 KB

Versions: 3

Compression:

Stored size: 1.07 KB

Contents

module GeoConcerns
  class GeoConcernsShowPresenter < CurationConcerns::WorkShowPresenter
    delegate :has?, :first, to: :solr_document
    delegate :spatial, :temporal, :issued, :coverage, :provenance, to: :solr_document

    def members(presenter)
      # TODO: member ids appear twice in member_ids_ssim.
      # Figure out why instead of removing duplicates.
      ids = solr_document.fetch('member_ids_ssim', [])
      CurationConcerns::PresenterFactory.build_presenters(ids.uniq,
                                                          presenter,
                                                          current_ability)
    end

    def external_metadata_file_formats_presenters
      # filter for external metadata files
      members(::FileSetPresenter).select do |member|
        MetadataFormatService.include? member.solr_document[:mime_type_ssi]
      end
    end

    def attribute_to_html(field, options = {})
      if field == :coverage
        ::CoverageRenderer.new(field, send(field), options).render
      else
        super field, options
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
geo_concerns-0.0.3 app/presenters/geo_concerns/geo_concerns_show_presenter.rb
geo_concerns-0.0.2 app/presenters/geo_concerns/geo_concerns_show_presenter.rb
geo_concerns-0.0.1 app/presenters/geo_concerns/geo_concerns_show_presenter.rb