Class: Equilibrium::SchemaValidator
- Inherits:
-
Object
- Object
- Equilibrium::SchemaValidator
- Defined in:
- lib/equilibrium/schema_validator.rb
Overview
Reusable schema validation utility Centralizes JSON Schema validation logic across the application
Defined Under Namespace
Classes: ValidationError
Class Method Summary collapse
-
.validate(data, schema) ⇒ Array
Validates data against a JSON Schema and returns validation errors.
-
.validate!(data, schema, error_prefix: "Schema validation failed") ⇒ Object
Validates data against a JSON Schema.
Class Method Details
.validate(data, schema) ⇒ Array
Validates data against a JSON Schema and returns validation errors
32 33 34 35 |
# File 'lib/equilibrium/schema_validator.rb', line 32 def self.validate(data, schema) schemer = JSONSchemer.schema(schema) schemer.validate(data).to_a end |
.validate!(data, schema, error_prefix: "Schema validation failed") ⇒ Object
Validates data against a JSON Schema
16 17 18 19 20 21 22 23 24 25 26 |
# File 'lib/equilibrium/schema_validator.rb', line 16 def self.validate!(data, schema, error_prefix: "Schema validation failed") errors = validate(data, schema) return if errors.empty? = errors.map do |error| "#{error["data_pointer"]}: #{error["details"] || error["error"]}" end raise ValidationError, "#{error_prefix}:\n#{.join("\n")}" end |