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