Class: SpecForge::Error::SchemaValidationFailure

Inherits:
Error
  • Object
show all
Defined in:
lib/spec_forge/error.rb

Overview

Raised when JSON shape validation fails

Contains structured failure information for all validation errors discovered during shape checking.

Examples:

Single failure

failures = [{path: ".id", expected_type: String, actual_type: Integer, actual_value: 42}]
raise SchemaValidationFailure.new(failures)

Multiple failures

failures = [
  {path: ".id", expected_type: String, actual_type: Integer, actual_value: 42},
  {path: ".email", expected_type: String, actual_type: NilClass, actual_value: nil}
]
raise SchemaValidationFailure.new(failures)

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(failures) ⇒ SchemaValidationFailure

Returns a new instance of SchemaValidationFailure.



404
405
406
407
408
409
410
411
412
413
414
415
416
417
# File 'lib/spec_forge/error.rb', line 404

def initialize(failures)
  @failures = failures

  message =
    if failures.size == 1
      format_failure(failures.first)
    else
      failures.join_map("\n") do |failure|
        format_failure(failure)
      end
    end

  super(message)
end

Instance Attribute Details

#failuresObject (readonly)

Returns the value of attribute failures.



402
403
404
# File 'lib/spec_forge/error.rb', line 402

def failures
  @failures
end