Module: Schemurai::Internal::SchemaDomain

Defined in:
lib/schemurai/schema_domain.rb

Class Method Summary collapse

Class Method Details

.validate!(schema, label: "schema") ⇒ Object



6
7
8
9
10
11
12
13
# File 'lib/schemurai/schema_domain.rb', line 6

module_function def validate!(schema, label: "schema")
  unless schema.equal?(true) || schema.equal?(false) || schema.instance_of?(Hash)
    invalid!(label, "must be a boolean or an object")
  end

  validate_value!(schema, label, [], {})
  schema
end

.validate_registry!(schemas) ⇒ Object



15
16
17
18
19
20
21
22
23
24
# File 'lib/schemurai/schema_domain.rb', line 15

module_function def validate_registry!(schemas)
  invalid!("schemas", "must be an object") unless schemas.instance_of?(Hash)

  schemas.each do |uri, schema|
    invalid!("schemas", "contains a non-string URI key") unless uri.instance_of?(String)

    validate!(schema, label: "schemas[#{uri.inspect}]")
  end
  schemas
end