Module: LeftoverFiles

Defined in:
lib/test_boosters/leftover_files.rb

Class Method Summary collapse

Class Method Details

.select(all_leftover_files, thread_count, thread_index) ⇒ Object



4
5
6
7
8
9
10
11
12
13
14
15
16
17
# File 'lib/test_boosters/leftover_files.rb', line 4

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

.sort_by_size(files) ⇒ Object

descending



19
20
21
22
23
24
25
26
# File 'lib/test_boosters/leftover_files.rb', line 19

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