Module: JSONSkooma

Defined in:
lib/json_skooma.rb,
lib/json_skooma/result.rb,
lib/json_skooma/sources.rb,
lib/json_skooma/version.rb,
lib/json_skooma/registry.rb,
lib/json_skooma/inflector.rb,
lib/json_skooma/json_node.rb,
lib/json_skooma/formatters.rb,
lib/json_skooma/metaschema.rb,
lib/json_skooma/validators.rb,
lib/json_skooma/vocabulary.rb,
lib/json_skooma/json_schema.rb,
lib/json_skooma/json_pointer.rb,
lib/json_skooma/keywords/base.rb,
lib/json_skooma/validators/iri.rb,
lib/json_skooma/validators/uri.rb,
lib/json_skooma/validators/base.rb,
lib/json_skooma/validators/date.rb,
lib/json_skooma/validators/ipv4.rb,
lib/json_skooma/validators/ipv6.rb,
lib/json_skooma/validators/time.rb,
lib/json_skooma/validators/uuid.rb,
lib/json_skooma/keywords/core/id.rb,
lib/json_skooma/keywords/unknown.rb,
lib/json_skooma/validators/email.rb,
lib/json_skooma/validators/regex.rb,
lib/json_skooma/keywords/core/ref.rb,
lib/json_skooma/keywords/core/defs.rb,
lib/json_skooma/validators/duration.rb,
lib/json_skooma/validators/hostname.rb,
lib/json_skooma/dialects/draft201909.rb,
lib/json_skooma/dialects/draft202012.rb,
lib/json_skooma/keywords/core/anchor.rb,
lib/json_skooma/keywords/core/schema.rb,
lib/json_skooma/validators/date_time.rb,
lib/json_skooma/validators/idn_email.rb,
lib/json_skooma/keywords/core/comment.rb,
lib/json_skooma/keywords/applicator/if.rb,
lib/json_skooma/keywords/value_schemas.rb,
lib/json_skooma/keywords/applicator/not.rb,
lib/json_skooma/validators/idn_hostname.rb,
lib/json_skooma/validators/json_pointer.rb,
lib/json_skooma/validators/uri_template.rb,
lib/json_skooma/keywords/applicator/else.rb,
lib/json_skooma/keywords/applicator/then.rb,
lib/json_skooma/keywords/base_annotation.rb,
lib/json_skooma/keywords/core/vocabulary.rb,
lib/json_skooma/keywords/meta_data/title.rb,
lib/json_skooma/keywords/validation/enum.rb,
lib/json_skooma/keywords/validation/type.rb,
lib/json_skooma/validators/iri_reference.rb,
lib/json_skooma/validators/uri_reference.rb,
lib/json_skooma/keywords/applicator/items.rb,
lib/json_skooma/keywords/core/dynamic_ref.rb,
lib/json_skooma/keywords/validation/const.rb,
lib/json_skooma/keywords/applicator/all_of.rb,
lib/json_skooma/keywords/applicator/any_of.rb,
lib/json_skooma/keywords/applicator/one_of.rb,
lib/json_skooma/keywords/meta_data/default.rb,
lib/json_skooma/keywords/meta_data/examples.rb,
lib/json_skooma/keywords/validation/maximum.rb,
lib/json_skooma/keywords/validation/minimum.rb,
lib/json_skooma/keywords/validation/pattern.rb,
lib/json_skooma/keywords/applicator/contains.rb,
lib/json_skooma/keywords/core/dynamic_anchor.rb,
lib/json_skooma/keywords/draft_2019_09/items.rb,
lib/json_skooma/keywords/meta_data/read_only.rb,
lib/json_skooma/keywords/validation/required.rb,
lib/json_skooma/keywords/meta_data/deprecated.rb,
lib/json_skooma/keywords/meta_data/write_only.rb,
lib/json_skooma/keywords/validation/max_items.rb,
lib/json_skooma/keywords/validation/min_items.rb,
lib/json_skooma/keywords/applicator/properties.rb,
lib/json_skooma/keywords/meta_data/description.rb,
lib/json_skooma/keywords/validation/max_length.rb,
lib/json_skooma/keywords/validation/min_length.rb,
lib/json_skooma/keywords/content/content_schema.rb,
lib/json_skooma/keywords/validation/multiple_of.rb,
lib/json_skooma/keywords/applicator/prefix_items.rb,
lib/json_skooma/keywords/validation/max_contains.rb,
lib/json_skooma/keywords/validation/min_contains.rb,
lib/json_skooma/keywords/validation/unique_items.rb,
lib/json_skooma/validators/relative_json_pointer.rb,
lib/json_skooma/keywords/content/content_encoding.rb,
lib/json_skooma/keywords/format_annotation/format.rb,
lib/json_skooma/keywords/applicator/property_names.rb,
lib/json_skooma/keywords/validation/max_properties.rb,
lib/json_skooma/keywords/validation/min_properties.rb,
lib/json_skooma/keywords/content/content_media_type.rb,
lib/json_skooma/keywords/draft_2019_09/recursive_ref.rb,
lib/json_skooma/keywords/applicator/dependent_schemas.rb,
lib/json_skooma/keywords/validation/exclusive_maximum.rb,
lib/json_skooma/keywords/validation/exclusive_minimum.rb,
lib/json_skooma/keywords/applicator/pattern_properties.rb,
lib/json_skooma/keywords/unevaluated/unevaluated_items.rb,
lib/json_skooma/keywords/validation/dependent_required.rb,
lib/json_skooma/keywords/draft_2019_09/additional_items.rb,
lib/json_skooma/keywords/draft_2019_09/recursive_anchor.rb,
lib/json_skooma/keywords/draft_2019_09/unevaluated_items.rb,
lib/json_skooma/keywords/applicator/additional_properties.rb,
lib/json_skooma/keywords/unevaluated/unevaluated_properties.rb,
lib/json_skooma/keywords/draft_2019_09/unevaluated_properties.rb

Defined Under Namespace

Modules: Dialects, Formatters, Keywords, Sources, Validators Classes: Error, Inflector, JSONNode, JSONPointer, JSONSchema, Metaschema, Registry, RegistryError, Result, Vocabulary

Constant Summary collapse

DATA_DIR =
File.join(__dir__, "..", "data")
VERSION =
"0.2.4"

Class Attribute Summary collapse

Class Method Summary collapse

Class Attribute Details

.dialectsObject

Returns the value of attribute dialects.



18
19
20
# File 'lib/json_skooma.rb', line 18

def dialects
  @dialects
end

Class Method Details

.create_registry(*schema_dialects, name: Registry::DEFAULT_NAME, assert_formats: false) ⇒ Object



24
25
26
27
28
29
30
31
32
# File 'lib/json_skooma.rb', line 24

def create_registry(*schema_dialects, name: Registry::DEFAULT_NAME, assert_formats: false)
  registry = Registry.new(name: name)

  schema_dialects.each do |version_key|
    dialects.fetch(version_key).call(registry, assert_formats: assert_formats)
  end

  registry
end

.register_dialect(version_key, dialect) ⇒ Object



20
21
22
# File 'lib/json_skooma.rb', line 20

def register_dialect(version_key, dialect)
  dialects[version_key] = dialect
end