Module: Philiprehberger::JsonSchema

Defined in:
lib/philiprehberger/json_schema.rb,
lib/philiprehberger/json_schema/version.rb,
lib/philiprehberger/json_schema/validator.rb

Defined Under Namespace

Classes: CompiledSchema, Error, Validator

Constant Summary collapse

VERSION =
'0.3.0'

Class Method Summary collapse

Class Method Details

.compile(schema) ⇒ CompiledSchema

Compile a schema for repeated validation

Parameters:

  • schema (Hash)

    the JSON Schema definition

Returns:



32
33
34
# File 'lib/philiprehberger/json_schema.rb', line 32

def self.compile(schema)
  CompiledSchema.new(schema)
end

.valid?(data, schema) ⇒ Boolean

Check if data is valid against a JSON Schema

Parameters:

  • data (Object)

    the data to validate

  • schema (Hash)

    the JSON Schema definition

Returns:

  • (Boolean)

    true if data passes validation



24
25
26
# File 'lib/philiprehberger/json_schema.rb', line 24

def self.valid?(data, schema)
  validate(data, schema).empty?
end

.validate(data, schema) ⇒ Array<String>

Validate data against a JSON Schema and return error messages

Parameters:

  • data (Object)

    the data to validate

  • schema (Hash)

    the JSON Schema definition

Returns:

  • (Array<String>)

    list of validation errors (empty if valid)



15
16
17
# File 'lib/philiprehberger/json_schema.rb', line 15

def self.validate(data, schema)
  Validator.new.validate(data, schema)
end