Sha256: a2ed753d8be962e68c6ffee2f82eef1773b1bf9cfff153f068b0ee0a973701f3

Contents?: true

Size: 770 Bytes

Versions: 114

Compression:

Stored size: 770 Bytes

Contents

# frozen_string_literal: true

module SdrClient
  module Deposit
    # This strategy is for building one file set per set of similarly prefixed uploaded files
    class MatchingFileGroupingStrategy
      # @param [Array<SdrClient::Deposit::Files::DirectUploadResponse>] uploads the uploaded files to attach.
      # @return [Array<Array<SdrClient::Deposit::Files::DirectUploadResponse>>] uploads the grouped uploaded files.
      def self.run(uploads: [])
        # Call `#values` on the result of the grouping operation because 1)
        # `Process#build_filesets` expects an array of arrays, not an array of
        # hashes, and 2) the keys aren't used anywhere
        uploads.group_by { |ul| ::File.basename(ul.filename, '.*') }.values
      end
    end
  end
end

Version data entries

114 entries across 114 versions & 1 rubygems

Version Path
sdr-client-0.60.0 lib/sdr_client/deposit/matching_file_grouping_strategy.rb
sdr-client-0.59.0 lib/sdr_client/deposit/matching_file_grouping_strategy.rb
sdr-client-0.58.0 lib/sdr_client/deposit/matching_file_grouping_strategy.rb
sdr-client-0.57.0 lib/sdr_client/deposit/matching_file_grouping_strategy.rb
sdr-client-0.56.0 lib/sdr_client/deposit/matching_file_grouping_strategy.rb
sdr-client-0.55.1 lib/sdr_client/deposit/matching_file_grouping_strategy.rb
sdr-client-0.55.0 lib/sdr_client/deposit/matching_file_grouping_strategy.rb
sdr-client-0.54.0 lib/sdr_client/deposit/matching_file_grouping_strategy.rb
sdr-client-0.53.0 lib/sdr_client/deposit/matching_file_grouping_strategy.rb
sdr-client-0.52.0 lib/sdr_client/deposit/matching_file_grouping_strategy.rb
sdr-client-0.51.0 lib/sdr_client/deposit/matching_file_grouping_strategy.rb
sdr-client-0.51.0.beta.1 lib/sdr_client/deposit/matching_file_grouping_strategy.rb
sdr-client-0.50.0 lib/sdr_client/deposit/matching_file_grouping_strategy.rb
sdr-client-0.49.0 lib/sdr_client/deposit/matching_file_grouping_strategy.rb
sdr-client-0.48.0 lib/sdr_client/deposit/matching_file_grouping_strategy.rb
sdr-client-0.47.0 lib/sdr_client/deposit/matching_file_grouping_strategy.rb
sdr-client-0.46.0 lib/sdr_client/deposit/matching_file_grouping_strategy.rb
sdr-client-0.45.0 lib/sdr_client/deposit/matching_file_grouping_strategy.rb
sdr-client-0.44.0 lib/sdr_client/deposit/matching_file_grouping_strategy.rb
sdr-client-0.43.1 lib/sdr_client/deposit/matching_file_grouping_strategy.rb