Class: Glossarist::ValidationResult
- Inherits:
-
Object
- Object
- Glossarist::ValidationResult
- Defined in:
- lib/glossarist/validation_result.rb
Instance Attribute Summary collapse
-
#issues ⇒ Object
readonly
Returns the value of attribute issues.
Instance Method Summary collapse
- #add_error(message) ⇒ Object
- #add_issue(issue) ⇒ Object
- #add_warning(message) ⇒ Object
- #errors ⇒ Object
-
#initialize(errors: [], warnings: [], issues: []) ⇒ ValidationResult
constructor
A new instance of ValidationResult.
- #merge(other) ⇒ Object
- #to_h ⇒ Object
- #valid? ⇒ Boolean
- #warnings ⇒ Object
Constructor Details
#initialize(errors: [], warnings: [], issues: []) ⇒ ValidationResult
Returns a new instance of ValidationResult.
7 8 9 10 11 12 |
# File 'lib/glossarist/validation_result.rb', line 7 def initialize(errors: [], warnings: [], issues: []) @issues = [] errors.each { |e| add_error(e) } warnings.each { |w| add_warning(w) } issues.each { |i| add_issue(i) } end |
Instance Attribute Details
#issues ⇒ Object (readonly)
Returns the value of attribute issues.
5 6 7 |
# File 'lib/glossarist/validation_result.rb', line 5 def issues @issues end |
Instance Method Details
#add_error(message) ⇒ Object
26 27 28 29 30 |
# File 'lib/glossarist/validation_result.rb', line 26 def add_error() @issues << Validation::ValidationIssue.new( severity: "error", message: , ) end |
#add_issue(issue) ⇒ Object
38 39 40 |
# File 'lib/glossarist/validation_result.rb', line 38 def add_issue(issue) @issues << issue end |
#add_warning(message) ⇒ Object
32 33 34 35 36 |
# File 'lib/glossarist/validation_result.rb', line 32 def add_warning() @issues << Validation::ValidationIssue.new( severity: "warning", message: , ) end |
#errors ⇒ Object
18 19 20 |
# File 'lib/glossarist/validation_result.rb', line 18 def errors @issues.select(&:error?).map(&:message) end |
#merge(other) ⇒ Object
42 43 44 45 |
# File 'lib/glossarist/validation_result.rb', line 42 def merge(other) other.issues.each { |i| @issues << i } self end |
#to_h ⇒ Object
47 48 49 50 51 52 53 |
# File 'lib/glossarist/validation_result.rb', line 47 def to_h { "valid" => valid?, "errors" => errors, "warnings" => warnings, } end |
#valid? ⇒ Boolean
14 15 16 |
# File 'lib/glossarist/validation_result.rb', line 14 def valid? @issues.none?(&:error?) end |
#warnings ⇒ Object
22 23 24 |
# File 'lib/glossarist/validation_result.rb', line 22 def warnings @issues.select(&:warning?).map(&:message) end |