module RgGen::DUH::Schema

Public Class Methods

validate(duh) click to toggle source
# File lib/rggen/duh/schema.rb, line 7
def validate(duh)
  schema.validate(duh).to_a
end

Private Class Methods

build_schema() click to toggle source
# File lib/rggen/duh/schema.rb, line 17
def build_schema
  schema_data = read_schema
  resolver = ->(uri) { uri.path == 'defs' && schema_data['defs'] || nil }
  JSONSchemer.schema(schema_data['component'], ref_resolver: resolver)
end
read_schema() click to toggle source
# File lib/rggen/duh/schema.rb, line 23
def read_schema
  path = File.join(__dir__, 'duh-schema', 'schema.json')
  JSON.parse(File.read(path))
end
schema() click to toggle source
# File lib/rggen/duh/schema.rb, line 13
def schema
  @schema ||= build_schema
end