Exception: Uniword::ValidationError

Inherits:
Error
  • Object
show all
Defined in:
lib/uniword/errors.rb

Overview

Raised when element validation fails

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(element, errors, issues: []) ⇒ ValidationError

Returns a new instance of ValidationError.

Parameters:

  • element (Element)

    The element that failed validation

  • errors (Array<String>)

    Array of validation error messages

  • issues (Array) (defaults to: [])

    Structured issues (e.g. Validation::Report::ValidationIssue with code, part, message)



59
60
61
62
63
64
65
# File 'lib/uniword/errors.rb', line 59

def initialize(element, errors, issues: [])
  element_name = element.class.name.split("::").last
  super("Validation failed for #{element_name}: #{errors.join(', ')}")
  @element = element
  @errors = errors
  @issues = issues
end

Instance Attribute Details

#elementElement (readonly)

Returns The element that failed.

Returns:

  • (Element)

    The element that failed



68
69
70
# File 'lib/uniword/errors.rb', line 68

def element
  @element
end

#errorsArray<String> (readonly)

Returns The validation errors.

Returns:

  • (Array<String>)

    The validation errors



71
72
73
# File 'lib/uniword/errors.rb', line 71

def errors
  @errors
end

#issuesArray (readonly)

Returns Structured issues (code, part, message) — populated by the write-time package integrity gate.

Returns:

  • (Array)

    Structured issues (code, part, message) — populated by the write-time package integrity gate



75
76
77
# File 'lib/uniword/errors.rb', line 75

def issues
  @issues
end