Sha256: ed6ac3b943058333c726ec06a06a9e85c41c2230d391ad4a645d9c91c1bc6427
Contents?: true
Size: 1.04 KB
Versions: 7
Compression:
Stored size: 1.04 KB
Contents
# frozen_string_literal: true module Hyrax ## # @api public class VersionListPresenter include Enumerable ## # @param version_list [Array<#created>] def initialize(version_list) @raw_list = version_list end ## # @param [Object] an object representing the File Set # # @return [Enumerable<Hyrax::VersionPresenter>] an enumerable of presenters # for the relevant file versions. # # @raise [ArgumentError] if we can't build an enu def self.for(file_set:) new(file_set.original_file&.versions&.all.to_a) rescue NoMethodError raise ArgumentError end delegate :each, to: :wrapped_list private def wrapped_list @wrapped_list ||= @raw_list.map { |v| Hyrax::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
7 entries across 7 versions & 1 rubygems