Class: Bootprint::Diagnosis
- Inherits:
-
Object
- Object
- Bootprint::Diagnosis
- Defined in:
- lib/bootprint/diagnosis.rb
Constant Summary collapse
- REPORT_SCHEMA_VERSION =
1
Instance Attribute Summary collapse
-
#minimum_severity ⇒ Object
readonly
Returns the value of attribute minimum_severity.
-
#only ⇒ Object
readonly
Returns the value of attribute only.
-
#policy ⇒ Object
readonly
Returns the value of attribute policy.
-
#source ⇒ Object
readonly
Returns the value of attribute source.
-
#target ⇒ Object
readonly
Returns the value of attribute target.
Instance Method Summary collapse
-
#initialize(source, target, policy: Policy.new, only: nil, minimum_severity: nil) ⇒ Diagnosis
constructor
A new instance of Diagnosis.
- #run ⇒ Object
Constructor Details
#initialize(source, target, policy: Policy.new, only: nil, minimum_severity: nil) ⇒ Diagnosis
Returns a new instance of Diagnosis.
8 9 10 11 12 13 14 |
# File 'lib/bootprint/diagnosis.rb', line 8 def initialize(source, target, policy: Policy.new, only: nil, minimum_severity: nil) @source = source @target = target @policy = policy @only = only @minimum_severity = minimum_severity end |
Instance Attribute Details
#minimum_severity ⇒ Object (readonly)
Returns the value of attribute minimum_severity.
6 7 8 |
# File 'lib/bootprint/diagnosis.rb', line 6 def minimum_severity @minimum_severity end |
#only ⇒ Object (readonly)
Returns the value of attribute only.
6 7 8 |
# File 'lib/bootprint/diagnosis.rb', line 6 def only @only end |
#policy ⇒ Object (readonly)
Returns the value of attribute policy.
6 7 8 |
# File 'lib/bootprint/diagnosis.rb', line 6 def policy @policy end |
#source ⇒ Object (readonly)
Returns the value of attribute source.
6 7 8 |
# File 'lib/bootprint/diagnosis.rb', line 6 def source @source end |
#target ⇒ Object (readonly)
Returns the value of attribute target.
6 7 8 |
# File 'lib/bootprint/diagnosis.rb', line 6 def target @target end |
Instance Method Details
#run ⇒ Object
16 17 18 19 20 21 22 |
# File 'lib/bootprint/diagnosis.rb', line 16 def run started = Process.clock_gettime(Process::CLOCK_MONOTONIC) findings = Rules.evaluate(source, target, policy:, only:, minimum_severity:) findings.concat(plugin_failure_findings(target)) duration = (Process.clock_gettime(Process::CLOCK_MONOTONIC) - started) * 1_000 Report.new(source:, target:, findings:, policy:, duration_ms: duration.round(3)) end |