Module: TestBoosters::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



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

def select(all_leftover_files, thread_count, thread_index)
  all_leftover_files = sort_descending_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.is_a?(Array) ? f.flatten : [f] } [thread_index]

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

.sort_descending_by_size(files) ⇒ Object



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

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