class EasyJSONMatcher::SchemaLibrary

Constants

SCHEMAS

Public Class Methods

add_schema(name:, schema:) click to toggle source
# File lib/easy_json_matcher/schema_library.rb, line 18
def add_schema(name:, schema:)
  SCHEMAS[name] = schema
end
available_schemas() click to toggle source
# File lib/easy_json_matcher/schema_library.rb, line 10
def available_schemas
  SCHEMAS.keys
end
get_schema(name:, opts: {}) click to toggle source

TODO: error message should read “called #{name}, not with #{name}”

# File lib/easy_json_matcher/schema_library.rb, line 23
def get_schema(name:, opts: {})
    -> (value:) {
      SCHEMAS[name]&.call(value: value) or raise UnknownValidationStepError.new(name)
    }
end
schema_for(name) click to toggle source
# File lib/easy_json_matcher/schema_library.rb, line 14
def schema_for(name)
  SCHEMAS[name]
end
use_schema(name:, wrap_with: Validator) click to toggle source
# File lib/easy_json_matcher/schema_library.rb, line 29
def use_schema(name:, wrap_with: Validator)
  wrap_with.new validate_with: get_schema(name: name)
end