Module: JSchema::JSONReference

Defined in:
lib/jschema/json_reference.rb

Class Method Summary collapse

Class Method Details

.dereference(uri, schema) ⇒ Object



17
18
19
20
21
22
23
24
25
26
27
28
# File 'lib/jschema/json_reference.rb', line 17

def dereference(uri, schema)
  schema_key = key(expand_uri(uri, schema), schema)
  cached_schema = @mutex.synchronize do
    @schemas[schema_key] if schema_key
  end

  if cached_schema
    cached_schema
  elsif uri.absolute? && !schema_part?(uri, schema)
    build_external_schema(uri, schema)
  end
end

.register_schema(schema) ⇒ Object



9
10
11
12
13
14
15
# File 'lib/jschema/json_reference.rb', line 9

def register_schema(schema)
  schema_key = key(normalize(schema.uri), schema)

  @mutex.synchronize do
    @schemas[schema_key] = schema
  end
end