class TestBoosters::Files::SplitConfiguration
Constants
- Job
Public Class Methods
new(path)
click to toggle source
# File lib/test_boosters/files/split_configuration.rb, line 7 def initialize(path) @path = path @valid = true end
Public Instance Methods
all_files()
click to toggle source
# File lib/test_boosters/files/split_configuration.rb, line 22 def all_files @all_files ||= jobs.map(&:files).flatten.sort end
files_for_job(job_index)
click to toggle source
# File lib/test_boosters/files/split_configuration.rb, line 26 def files_for_job(job_index) job = jobs[job_index] job ? job.files : [] end
jobs()
click to toggle source
# File lib/test_boosters/files/split_configuration.rb, line 32 def jobs @jobs ||= present? ? load_data : [] end
present?()
click to toggle source
# File lib/test_boosters/files/split_configuration.rb, line 12 def present? File.exist?(@path) end
valid?()
click to toggle source
# File lib/test_boosters/files/split_configuration.rb, line 16 def valid? jobs # try to load data into memory @valid end
Private Instance Methods
load_data()
click to toggle source
:reek: TooManyStatements
# File lib/test_boosters/files/split_configuration.rb, line 39 def load_data @valid = false content = JSON.parse(File.read(@path)).map do |raw_job| files = raw_job.fetch("files").sort TestBoosters::Files::SplitConfiguration::Job.new(files) end @valid = true content rescue TypeError, KeyError => ex log_error("Split Configuration has invalid structure", ex) [] rescue JSON::ParserError => ex log_error("Split Configuration is not parsable", ex) [] end
log_error(message, exception)
click to toggle source
# File lib/test_boosters/files/split_configuration.rb, line 61 def log_error(message, exception) TestBoosters::Logger.error(message) TestBoosters::Logger.error(exception.inspect) end