Sha256: 4370c0ebc3adbbb41fc1a3675998f60b430ac9f6e388be8427d875ee93a5a9cf
Contents?: true
Size: 628 Bytes
Versions: 2
Compression:
Stored size: 628 Bytes
Contents
module Finitio module HashBasedType def to_json_schema(*args, &bl) base = { type: "object" } unless heading.empty? base[:properties] = heading.inject({}){|ps,a| ps.merge(a.name => a.type.to_json_schema(*args, &bl)) } end unless (reqs = heading.select{|a| a.required? }).empty? base[:required] = reqs.map{|a| a.name } end base[:additionalProperties] = if heading.allow_extra? heading.allow_extra.to_json_schema(*args, &bl) else false end base end end # module HashBasedType end # module UnionType
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
finitio-0.12.0 | lib/finitio/json_schema/hash_based_type.rb |
finitio-0.11.4 | lib/finitio/json_schema/hash_based_type.rb |