Sha256: 82e21f37239f6013e1c198d42dc19f1c2e465a93853d4def94d1297d4484d144

Contents?: true

Size: 566 Bytes

Versions: 4

Compression:

Stored size: 566 Bytes

Contents

module CurationConcerns
  class VersionListPresenter
    def initialize(version_list)
      @raw_list = version_list
    end

    delegate :each, to: :wrapped_list

    private

      def wrapped_list
        @wrapped_list ||=
            @raw_list.map { |v| CurationConcerns::VersionPresenter.new(v) } # wrap each item in a presenter
            .sort { |a, b| b.version.created <=> a.version.created } # sort list of versions based on creation date
            .tap { |l| l.first.try(:current!) } # set the first version to the current version
      end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
curation_concerns-0.5.0 app/presenters/curation_concerns/version_list_presenter.rb
curation_concerns-0.4.0 app/presenters/curation_concerns/version_list_presenter.rb
curation_concerns-0.3.0 app/presenters/curation_concerns/version_list_presenter.rb
curation_concerns-0.2.0 app/presenters/curation_concerns/version_list_presenter.rb