Class: TestBoosters::SplitConfiguration

Inherits:
Object
  • Object
show all
Defined in:
lib/test_boosters/split_configuration.rb

Defined Under Namespace

Classes: Thread

Instance Method Summary collapse

Constructor Details

#initialize(path) ⇒ SplitConfiguration

Returns a new instance of SplitConfiguration.



6
7
8
# File 'lib/test_boosters/split_configuration.rb', line 6

def initialize(path)
  @path = path
end

Instance Method Details

#all_filesObject



21
22
23
# File 'lib/test_boosters/split_configuration.rb', line 21

def all_files
  @all_files ||= threads.map(&:files).flatten.sort
end

#files_for_thread(thread_index) ⇒ Object



25
26
27
# File 'lib/test_boosters/split_configuration.rb', line 25

def files_for_thread(thread_index)
  threads[thread_index].files
end

#present?Boolean

Returns:

  • (Boolean)


10
11
12
# File 'lib/test_boosters/split_configuration.rb', line 10

def present?
  File.exist?(@path)
end

#threadsObject



29
30
31
32
33
# File 'lib/test_boosters/split_configuration.rb', line 29

def threads
  @threads ||= load_data.map.with_index do |raw_thread, index|
    TestBoosters::SplitConfiguration::Thread.new(raw_thread["files"].sort, index)
  end
end

#valid?Boolean

Returns:

  • (Boolean)


14
15
16
17
18
19
# File 'lib/test_boosters/split_configuration.rb', line 14

def valid?
  threads # try to load data into memory
  true
rescue
  false
end