Class: Jekyll::AgentAudit::Report

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

Constant Summary collapse

SCHEMA_VERSION =
"1.0"

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(findings: [], coverage: {}, diagnostics: [], documents_inspected: 0, options: {}, site_config: {}, complete: true, reference_time: Time.now.utc, operational_error: false, effective_configuration: nil, build: nil) ⇒ Report

Returns a new instance of Report.



11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# File 'lib/jekyll/agent_audit/report.rb', line 11

def initialize(findings: [], coverage: {}, diagnostics: [], documents_inspected: 0, options: {}, site_config: {}, complete: true,
               reference_time: Time.now.utc, operational_error: false, effective_configuration: nil, build: nil)
  @findings = findings.map { |f| f.is_a?(Finding) ? f : Finding.new(f) }
  @coverage = coverage
  @diagnostics = diagnostics
  @documents_inspected = documents_inspected
  @options = options
  @complete = complete
  @site_config = site_config
  @reference_time = reference_time
  @operational_error = operational_error
  @effective_configuration = effective_configuration
  @build = build
  @data = build_data
end

Instance Attribute Details

#data ⇒ Object (readonly)

Returns the value of attribute data.



9
10
11
# File 'lib/jekyll/agent_audit/report.rb', line 9

def data
  @data
end

Instance Method Details

#exit_code ⇒ Object



29
30
31
32
33
34
35
36
# File 'lib/jekyll/agent_audit/report.rb', line 29

def exit_code
  return 2 if @operational_error || !@complete
  fail_on = @options.fetch("fail_on", "error")
  return 0 if fail_on == "none"
  return 1 if @findings.any? { |f| !f.suppressed? && f["severity"] == "error" }
  return 1 if fail_on == "warning" && @findings.any? { |f| !f.suppressed? && f["severity"] == "warning" }
  0
end

#findings ⇒ Object



27
# File 'lib/jekyll/agent_audit/report.rb', line 27

def findings = @findings

#to_h ⇒ Object



28
# File 'lib/jekyll/agent_audit/report.rb', line 28

def to_h = deep_dup(@data)