Class: TestMap::Report

Inherits:
Object
  • Object
show all
Defined in:
lib/test_map/report.rb

Overview

Report keeps track of associated files to test execution.

Instance Method Summary collapse

Constructor Details

#initializeReport

Returns a new instance of Report.



8
# File 'lib/test_map/report.rb', line 8

def initialize = @results = Hash.new { Set.new }

Instance Method Details

#add(files) ⇒ Object



10
11
12
13
14
15
16
# File 'lib/test_map/report.rb', line 10

def add(files)
  test_file, *associated_files = files
  TestMap.logger.info "Adding #{test_file} with #{associated_files}"
  associated_files.each do |file|
    @results[file] = @results[file] << test_file
  end
end

#resultsObject



24
# File 'lib/test_map/report.rb', line 24

def results = @results.transform_values { _1.to_a.sort }.sort.to_h

#to_yamlObject



25
# File 'lib/test_map/report.rb', line 25

def to_yaml = results.to_yaml

#write(file) ⇒ Object



18
19
20
21
22
# File 'lib/test_map/report.rb', line 18

def write(file)
  result = to_yaml
  result = YAML.safe_load_file(file).deep_merge(result) if Config.config[:merge]
  File.write file, result
end