Sha256: d08e69b1484c2d4a4cabb9ca33f85f3531f7e63b137328843563afb60e3e1a59

Contents?: true

Size: 530 Bytes

Versions: 3

Compression:

Stored size: 530 Bytes

Contents

class OpenAPIParser::SchemaValidator
  class OneOfValidator < Base
    # @param [Object] value
    # @param [OpenAPIParser::Schemas::Schema] schema
    def coerce_and_validate(value, schema)
      # if multiple schemas are satisfied, it's not valid
      result = schema.one_of.one? do |s|
        _coerced, err = validatable.validate_schema(value, s)
        err.nil?
      end
      if result
        [value, nil]
      else
        [nil, OpenAPIParser::NotOneOf.new(value, schema.object_reference)]
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
openapi_parser-0.2.6 lib/openapi_parser/schema_validators/one_of_validator.rb
openapi_parser-0.2.5 lib/openapi_parser/schema_validators/one_of_validator.rb
openapi_parser-0.2.4 lib/openapi_parser/schema_validators/one_of_validator.rb