Sha256: 2caf13059b54c8dc2e8cf4463450a294091ef5d3dfb678312bf9dfe37e40a9ea

Contents?: true

Size: 715 Bytes

Versions: 21

Compression:

Stored size: 715 Bytes

Contents

module LeftoverFiles
  module_function

  def self.select(all_leftover_files, thread_count, thread_index)
    all_leftover_files = sort_by_size(all_leftover_files)

    return [] if all_leftover_files.empty?

    files = all_leftover_files
      .each_slice(thread_count)
      .reduce{ |acc, slice| acc.map{|a| a}.zip(slice.reverse) }
      .map{ |f| f.kind_of?(Array) ? f.flatten : [f] } [thread_index]

    if    files.nil?            then []
    elsif files.kind_of?(Array) then files.compact
    end
  end

  def self.sort_by_size(files) # descending
    files
      .select { |f| File.file?(f) }
      .map{ |f| [f, File.size(f)] }
      .sort_by{ |a| a[1] }
      .map{ |a| a[0] }
      .reverse
  end


end

Version data entries

21 entries across 21 versions & 1 rubygems

Version Path
semaphore_test_boosters-1.2.3 lib/test_boosters/leftover_files.rb
semaphore_test_boosters-1.2.2 lib/test_boosters/leftover_files.rb
semaphore_test_boosters-1.2.1 lib/test_boosters/leftover_files.rb
semaphore_test_boosters-1.2.0 lib/test_boosters/leftover_files.rb
semaphore_test_boosters-1.1.0 lib/test_boosters/leftover_files.rb
semaphore_test_boosters-1.0.2 lib/test_boosters/leftover_files.rb
semaphore_test_boosters-1.0.1 lib/test_boosters/leftover_files.rb
semaphore_test_boosters-0.9.9 lib/test_boosters/leftover_files.rb
semaphore_test_boosters-0.9.8 lib/test_boosters/leftover_files.rb
semaphore_test_boosters-0.9.7 lib/test_boosters/leftover_files.rb
semaphore_test_boosters-0.9.5 lib/test_boosters/leftover_files.rb
semaphore_test_boosters-0.9.4 lib/test_boosters/leftover_files.rb
semaphore_test_boosters-0.9.2 lib/test_boosters/leftover_files.rb
semaphore_test_boosters-0.9.1 lib/test_boosters/leftover_files.rb
semaphore_test_boosters-0.8.1 lib/test_boosters/leftover_files.rb
semaphore_test_boosters-0.8.0 lib/test_boosters/leftover_files.rb
semaphore_test_boosters-0.7.1 lib/test_boosters/leftover_files.rb
semaphore_test_boosters-0.7.0 lib/test_boosters/leftover_files.rb
semaphore_test_boosters-0.6.0 lib/test_boosters/leftover_files.rb
semaphore_test_boosters-0.5.0 lib/test_boosters/leftover_files.rb