Sha256: de136db3e8074d953ff505ffe1848281ad3e22619bcdfc7d7e60018db2a1a434

Contents?: true

Size: 1.14 KB

Versions: 25

Compression:

Stored size: 1.14 KB

Contents

module CurationConcerns
  class FileSetPresenter
    include ModelProxy
    include PresentsAttributes
    attr_accessor :solr_document, :current_ability

    # @param [SolrDocument] solr_document
    # @param [Ability] current_ability
    def initialize(solr_document, current_ability)
      @solr_document = solr_document
      @current_ability = current_ability
    end

    # CurationConcern methods
    delegate :stringify_keys, :human_readable_type, :collection?, :image?, :video?,
             :audio?, :pdf?, :office_document?, :representative_id, :to_s, to: :solr_document

    # Methods used by blacklight helpers
    delegate :has?, :first, :fetch, to: :solr_document

    # Metadata Methods
    delegate :title, :description, :creator, :contributor, :subject, :publisher,
             :language, :date_uploaded, :rights,
             :embargo_release_date, :lease_expiration_date,
             :depositor, :tags, :title_or_label, to: :solr_document

    def page_title
      Array(solr_document['label_tesim']).first
    end

    def link_name
      current_ability.can?(:read, id) ? Array(solr_document['label_tesim']).first : 'File'
    end
  end
end

Version data entries

25 entries across 25 versions & 1 rubygems

Version Path
curation_concerns-0.14.0.pre4 app/presenters/curation_concerns/file_set_presenter.rb
curation_concerns-0.14.0.pre3 app/presenters/curation_concerns/file_set_presenter.rb
curation_concerns-0.14.0.pre2 app/presenters/curation_concerns/file_set_presenter.rb
curation_concerns-0.14.0.pre1 app/presenters/curation_concerns/file_set_presenter.rb
curation_concerns-0.13.1 app/presenters/curation_concerns/file_set_presenter.rb
curation_concerns-0.13.0 app/presenters/curation_concerns/file_set_presenter.rb
curation_concerns-0.12.0 app/presenters/curation_concerns/file_set_presenter.rb
curation_concerns-0.12.0.pre9 app/presenters/curation_concerns/file_set_presenter.rb
curation_concerns-0.12.0.pre8 app/presenters/curation_concerns/file_set_presenter.rb
curation_concerns-0.12.0.pre7 app/presenters/curation_concerns/file_set_presenter.rb
curation_concerns-0.12.0.pre6 app/presenters/curation_concerns/file_set_presenter.rb
curation_concerns-0.12.0.pre5 app/presenters/curation_concerns/file_set_presenter.rb
curation_concerns-0.12.0.pre4 app/presenters/curation_concerns/file_set_presenter.rb
curation_concerns-0.12.0.pre3 app/presenters/curation_concerns/file_set_presenter.rb
curation_concerns-0.12.0.pre2 app/presenters/curation_concerns/file_set_presenter.rb
curation_concerns-0.12.0.pre1 app/presenters/curation_concerns/file_set_presenter.rb
curation_concerns-0.11.0 app/presenters/curation_concerns/file_set_presenter.rb
curation_concerns-0.11.0.rc1 app/presenters/curation_concerns/file_set_presenter.rb
curation_concerns-0.10.0 app/presenters/curation_concerns/file_set_presenter.rb
curation_concerns-0.9.0 app/presenters/curation_concerns/file_set_presenter.rb