Class: TestBoosters::Files::Distributor
- Inherits:
-
Object
- Object
- TestBoosters::Files::Distributor
- Defined in:
- lib/test_boosters/files/distributor.rb
Overview
Distributes test files based on split configuration, file pattern, and their file size
Instance Method Summary collapse
- #all_files ⇒ Object
- #display_info ⇒ Object
- #files_for(job_index) ⇒ Object
-
#initialize(split_configuration_path, file_pattern, job_count) ⇒ Distributor
constructor
A new instance of Distributor.
Constructor Details
#initialize(split_configuration_path, file_pattern, job_count) ⇒ Distributor
Returns a new instance of Distributor.
9 10 11 12 13 |
# File 'lib/test_boosters/files/distributor.rb', line 9 def initialize(split_configuration_path, file_pattern, job_count) @split_configuration_path = split_configuration_path @file_pattern = file_pattern @job_count = job_count end |
Instance Method Details
#all_files ⇒ Object
28 29 30 |
# File 'lib/test_boosters/files/distributor.rb', line 28 def all_files @all_files ||= Dir[@file_pattern].sort end |
#display_info ⇒ Object
15 16 17 18 19 |
# File 'lib/test_boosters/files/distributor.rb', line 15 def display_info puts "Split configuration present: #{split_configuration.present? ? "yes" : "no"}" puts "Split configuration valid: #{split_configuration.valid? ? "yes" : "no"}" puts "Split configuration file count: #{split_configuration.all_files.size}" end |
#files_for(job_index) ⇒ Object
21 22 23 24 25 26 |
# File 'lib/test_boosters/files/distributor.rb', line 21 def files_for(job_index) known = all_files & split_configuration.files_for_job(job_index) leftover = leftover_files.select(:index => job_index, :total => @job_count) [known, leftover] end |