Class: Odin::Validation::SchemaDefinitionValidator

Inherits:
Object
  • Object
show all
Defined in:
lib/odin/validation/schema_definition_validator.rb

Overview

Validates that the schema itself is well-formed, independent of any document: override restrictiveness, intersection field conflicts, tabular column rules, and default-value rules. Violations are reported as V017.

Constant Summary collapse

PRIMITIVE_TYPES =
Set.new(
  %i[string boolean number integer currency percent date timestamp
     time duration binary null]
).freeze

Instance Method Summary collapse

Constructor Details

#initialize(schema, registry = nil) ⇒ SchemaDefinitionValidator

Returns a new instance of SchemaDefinitionValidator.



16
17
18
19
20
# File 'lib/odin/validation/schema_definition_validator.rb', line 16

def initialize(schema, registry = nil)
  @schema = schema
  @registry = registry
  @errors = []
end

Instance Method Details

#validateObject



22
23
24
25
26
27
28
# File 'lib/odin/validation/schema_definition_validator.rb', line 22

def validate
  validate_type_definitions
  validate_path_compositions
  validate_tabular_columns
  validate_defaults
  @errors
end