Module: JSONSkooma::Keywords::ValueSchemas

Defined in:
lib/json_skooma/keywords/value_schemas.rb

Defined Under Namespace

Modules: ArrayOfSchemas, ObjectOfSchemas, Schema

Class Attribute Summary collapse

Class Method Summary collapse

Class Attribute Details

.default_schema_classObject

Class used to wrap schema values when a keyword does not set its own ‘schema_value_class`. Extensions (e.g. Skooma) override this to plug their own JSONSchema subclass into every sub-schema created by the built-in applicator keywords.



21
22
23
# File 'lib/json_skooma/keywords/value_schemas.rb', line 21

def default_schema_class
  @default_schema_class || JSONSchema
end

Class Method Details

.[](key) ⇒ Object



9
10
11
# File 'lib/json_skooma/keywords/value_schemas.rb', line 9

def [](key)
  value_schemas&.[](key) or raise "Unknown value schema: #{key}, known schemas: #{value_schemas.keys.inspect}"
end

.register_value_schema(key, klass) ⇒ Object



13
14
15
# File 'lib/json_skooma/keywords/value_schemas.rb', line 13

def register_value_schema(key, klass)
  (self.value_schemas ||= {})[key] = klass
end