Sha256: 52ce36bdbd63b98db2a6be85953158ad2beeb8327b77e36e00822643eaffd036
Contents?: true
Size: 1.02 KB
Versions: 13
Compression:
Stored size: 1.02 KB
Contents
require "json/schema/serializer" require_relative "../util" module Swagger class Schema class Parameters < Array class Deserializer def initialize(parameters, options = {}) @parameters = parameters @options = options end def data(data) DataDeserializer.new(@parameters, data, @options) end class DataDeserializer def initialize(parameters, data, options) @parameters = parameters @data = data @options = options end def deserialize JSON::Schema::Serializer.new(@parameters.to_json_schema, @options).serialize(@data) end def [](name) parameter = @parameters.by_name(name) value = Util.try_hash(data, name) return nil if value.nil? && !parameter.required && !parameter.path? JSON::Schema::Serializer.new(parameter.to_json_schema, @options).serialize(value) end end end end end end
Version data entries
13 entries across 13 versions & 1 rubygems