Class: Schemurai::Validator

Inherits:
Object
  • Object
show all
Defined in:
lib/schemurai.rb,
sig/schemurai.rbs

Overview

A reusable compiled JSON Schema validator.

Create validators through Schemurai.compile or SchemaRegistry#compile. Validator instances contain mutable evaluation state and must not be used concurrently or shared between Ractors.

Instance Method Summary collapse

Constructor Details

#initialize(evaluator) ⇒ Validator

Wraps an evaluator implementation.

Applications should normally create validators through Schemurai.compile or SchemaRegistry#compile.

Parameters:



176
177
178
# File 'lib/schemurai.rb', line 176

def initialize(evaluator)
  @evaluator = evaluator
end

Instance Method Details

#backend ⇒ backend

The backend reported by the evaluator, either :ruby or :vm.

Returns:



181
182
183
# File 'lib/schemurai.rb', line 181

def backend
  @evaluator.backend
end

#valid?(instance) ⇒ Boolean

Returns whether instance is valid without building a detailed error list.

Parameters:

  • (json_value instance)

Returns:

  • (Boolean)


191
192
193
# File 'lib/schemurai.rb', line 191

def valid?(instance)
  @evaluator.valid?(instance)
end

#validate(instance) ⇒ Result

Validates instance and returns a Result containing all reported errors.

Parameters:

  • (json_value instance)

Returns:



186
187
188
# File 'lib/schemurai.rb', line 186

def validate(instance)
  @evaluator.validate(instance)
end