Sha256: 63b4cf7d2896f3d52e0c6e082725bc6f27058278008abec7b621f320ab553670
Contents?: true
Size: 866 Bytes
Versions: 4
Compression:
Stored size: 866 Bytes
Contents
# frozen_string_literal: true require "openapi3_parser/node_factory/object" module Openapi3Parser module NodeFactory class Discriminator < NodeFactory::Object field "propertyName", input_type: String, required: true field "mapping", input_type: Hash, validate: :validate_mapping, default: -> { {}.freeze } private def build_object(data, context) Node::Discriminator.new(data, context) end def validate_mapping(validatable) input = validatable.input return if input.empty? string_keys = input.keys.map(&:class).uniq == [String] string_values = input.values.map(&:class).uniq == [String] return if string_keys && string_values validatable.add_error("Expected string keys and string values") end end end end
Version data entries
4 entries across 4 versions & 1 rubygems