class JSchema::Validator::OneOf

Private Instance Methods

post_initialize(one_of) click to toggle source
# File lib/jschema/validator/one_of.rb, line 12
def post_initialize(one_of)
  @one_of = one_of.map.with_index do |sch, index|
    Schema.build(sch, parent, "oneOf/#{index}")
  end
end
validate_args(one_of) click to toggle source
# File lib/jschema/validator/one_of.rb, line 8
def validate_args(one_of)
  schema_array?(one_of, 'oneOf') || invalid_schema('oneOf', one_of)
end
validate_instance(instance) click to toggle source
# File lib/jschema/validator/one_of.rb, line 18
def validate_instance(instance)
  valid = @one_of.one? do |schema|
    schema.valid?(instance)
  end

  unless valid
    "#{instance} must be valid against exactly one schema"
  end
end