Class: MetzScan::Calibration::ProjectAnalyzerEvidenceRunner::BaselineFile

Inherits:
Object
  • Object
show all
Defined in:
lib/metz_scan/calibration/project_analyzer_evidence_runner/baseline_delta.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(path: nil, document: nil) ⇒ BaselineFile

Returns a new instance of BaselineFile.



153
154
155
156
# File 'lib/metz_scan/calibration/project_analyzer_evidence_runner/baseline_delta.rb', line 153

def initialize(path: nil, document: nil)
  @path = path && File.expand_path(path)
  @document = document
end

Instance Attribute Details

#pathObject (readonly)

Returns the value of attribute path.



158
159
160
# File 'lib/metz_scan/calibration/project_analyzer_evidence_runner/baseline_delta.rb', line 158

def path
  @path
end

Class Method Details

.from_summary(summary, label:, generated_from:, targets_file: nil) ⇒ Object



142
143
144
145
# File 'lib/metz_scan/calibration/project_analyzer_evidence_runner/baseline_delta.rb', line 142

def self.from_summary(summary, label:, generated_from:, targets_file: nil)
  document = document_for(summary, label: label, generated_from: generated_from, targets_file: targets_file)
  new(document: document)
end

.load(path) ⇒ Object



138
139
140
# File 'lib/metz_scan/calibration/project_analyzer_evidence_runner/baseline_delta.rb', line 138

def self.load(path)
  new(path: path)
end

.rules_for(source) ⇒ Object



149
150
151
# File 'lib/metz_scan/calibration/project_analyzer_evidence_runner/baseline_delta.rb', line 149

def self.rules_for(source)
  source["rules"] || source.dig("project_analyzers", "rules") || []
end

.scope_keysObject



147
# File 'lib/metz_scan/calibration/project_analyzer_evidence_runner/baseline_delta.rb', line 147

def self.scope_keys = SCOPE_KEYS

Instance Method Details

#identityObject



160
161
162
# File 'lib/metz_scan/calibration/project_analyzer_evidence_runner/baseline_delta.rb', line 160

def identity
  { "file" => path, "label" => document["label"], "generated_from" => document["generated_from"] }.compact
end

#scopeObject



176
177
178
# File 'lib/metz_scan/calibration/project_analyzer_evidence_runner/baseline_delta.rb', line 176

def scope
  document.fetch("scope", {})
end

#summaryObject



172
173
174
# File 'lib/metz_scan/calibration/project_analyzer_evidence_runner/baseline_delta.rb', line 172

def summary
  document.fetch("summary", document)
end

#to_hObject



164
165
166
# File 'lib/metz_scan/calibration/project_analyzer_evidence_runner/baseline_delta.rb', line 164

def to_h
  document
end

#to_yamlObject



168
169
170
# File 'lib/metz_scan/calibration/project_analyzer_evidence_runner/baseline_delta.rb', line 168

def to_yaml
  YAML.dump(to_h)
end