Module: Schemurai

Defined in:
lib/schemurai.rb,
lib/schemurai/dialect.rb,
lib/schemurai/formats.rb,
lib/schemurai/version.rb,
lib/schemurai/evaluator.rb,
lib/schemurai/evaluation.rb,
lib/schemurai/schema_node.rb,
lib/schemurai/meta_schemas.rb,
lib/schemurai/schema_graph.rb,
lib/schemurai/dialects/draft7.rb,
lib/schemurai/dialect_keywords.rb,
lib/schemurai/meta_schemas/draft7.rb,
lib/schemurai/dialects/draft2019_09.rb,
lib/schemurai/dialects/draft2020_12.rb,
lib/schemurai/meta_schemas/draft2019_09.rb,
lib/schemurai/meta_schemas/draft2020_12.rb

Defined Under Namespace

Classes: Error, ResolutionError, Result, SchemaRegistry, UnsupportedFormatError, ValidationError, Validator

Constant Summary collapse

VERSION =
"1.0.0"

Class Method Summary collapse

Class Method Details

.compile(schema, schemas: {}, base_uri: nil, content: false, format: false) ⇒ Object



82
83
84
85
86
87
88
89
# File 'lib/schemurai.rb', line 82

module_function def compile(schema, schemas: {}, base_uri: nil, content: false, format: false)
  SchemaRegistry.new(schemas: schemas).compile(
    schema,
    base_uri: base_uri,
    content: content,
    format: format
  )
end

.valid?(schema, instance, schemas: {}, base_uri: nil, content: false, format: false) ⇒ Boolean

Returns:

  • (Boolean)


101
102
103
104
105
106
107
108
109
# File 'lib/schemurai.rb', line 101

module_function def valid?(schema, instance, schemas: {}, base_uri: nil, content: false, format: false)
  compile(
    schema,
    schemas: schemas,
    base_uri: base_uri,
    content: content,
    format: format
  ).valid?(instance)
end

.validate(schema, instance, schemas: {}, base_uri: nil, content: false, format: false) ⇒ Object



91
92
93
94
95
96
97
98
99
# File 'lib/schemurai.rb', line 91

module_function def validate(schema, instance, schemas: {}, base_uri: nil, content: false, format: false)
  compile(
    schema,
    schemas: schemas,
    base_uri: base_uri,
    content: content,
    format: format
  ).validate(instance)
end