Class: PaperTrailDiff::DiagnosticReport
- Inherits:
-
Object
- Object
- PaperTrailDiff::DiagnosticReport
- Defined in:
- lib/paper_trail_diff/diagnostics.rb,
sig/generated/paper_trail_diff/diagnostics.rbs
Overview
Immutable diagnostics for a requested historical association comparison.
Instance Attribute Summary collapse
- #issues ⇒ Array[DiagnosticIssue] readonly
Instance Method Summary collapse
-
#errors ⇒ Array[DiagnosticIssue]
: () -> Array.
-
#initialize(issues:) ⇒ DiagnosticReport
constructor
: (issues: Array) -> void.
-
#ok? ⇒ Boolean
: () -> bool.
-
#to_h ⇒ Hash[Symbol, untyped]
: () -> Hash[Symbol, untyped].
-
#warnings ⇒ Array[DiagnosticIssue]
: () -> Array.
Constructor Details
#initialize(issues:) ⇒ DiagnosticReport
: (issues: Array) -> void
40 41 42 43 |
# File 'lib/paper_trail_diff/diagnostics.rb', line 40 def initialize(issues:) @issues = issues.dup.freeze freeze end |
Instance Attribute Details
#issues ⇒ Array[DiagnosticIssue] (readonly)
37 38 39 |
# File 'lib/paper_trail_diff/diagnostics.rb', line 37 def issues @issues end |
Instance Method Details
#errors ⇒ Array[DiagnosticIssue]
: () -> Array
46 47 48 |
# File 'lib/paper_trail_diff/diagnostics.rb', line 46 def errors issues.select { |issue| issue.severity == :error }.freeze end |
#ok? ⇒ Boolean
: () -> bool
56 57 58 |
# File 'lib/paper_trail_diff/diagnostics.rb', line 56 def ok? errors.empty? end |
#to_h ⇒ Hash[Symbol, untyped]
: () -> Hash[Symbol, untyped]
61 62 63 |
# File 'lib/paper_trail_diff/diagnostics.rb', line 61 def to_h { ok: ok?, issues: Support.serialize(issues) } end |
#warnings ⇒ Array[DiagnosticIssue]
: () -> Array
51 52 53 |
# File 'lib/paper_trail_diff/diagnostics.rb', line 51 def warnings issues.select { |issue| issue.severity == :warning }.freeze end |