Sha256: 85dfe4f29f73a42f831f31c9fb9aa843cba0e3108a76162e03b527476cb72f72

Contents?: true

Size: 884 Bytes

Versions: 8

Compression:

Stored size: 884 Bytes

Contents

# frozen_string_literal: true
module Hyrax
  class VersionPresenter
    attr_reader :version, :current

    def initialize(version)
      @version = version
      @current = false
    end

    delegate :label, :uri, to: :version
    alias current? current

    def current!
      @current = true
    end

    def label
      version.try(:label) || version.version_id.to_s
    end

    def uri
      version.try(:uri) || version.version_id.to_s
    end

    def created
      @created ||= created_time&.in_time_zone&.to_formatted_s(:long_ordinal) || "Unknown"
    end

    def created_time
      version.try(:created) || version_committer.try(:created_at)
    end

    def version_committer
      Hyrax::VersionCommitter
        .find_by(version_id: @version.try(:uri) || @version.try(:version_id))
    end

    def committer
      version_committer&.committer_login
    end
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
hyrax-5.1.0.pre.beta1 app/presenters/hyrax/version_presenter.rb
hyrax-5.0.4 app/presenters/hyrax/version_presenter.rb
hyrax-5.0.3 app/presenters/hyrax/version_presenter.rb
hyrax-5.0.2 app/presenters/hyrax/version_presenter.rb
hyrax-5.0.1 app/presenters/hyrax/version_presenter.rb
hyrax-5.0.0 app/presenters/hyrax/version_presenter.rb
hyrax-5.0.0.rc3 app/presenters/hyrax/version_presenter.rb
hyrax-5.0.0.rc2 app/presenters/hyrax/version_presenter.rb