Sha256: b1c3ef2b57dd02194dcdf32d399b49780cac12f89071e5c52e18660493739d2e
Contents?: true
Size: 825 Bytes
Versions: 12
Compression:
Stored size: 825 Bytes
Contents
require_relative 'entity' module JSON module SchemaBuilder class Object < Entity register :object attribute :required attribute :min_properties attribute :max_properties attribute :properties attribute :additional_properties attribute :pattern_properties def initialize(name, opts = { }, &block) self.properties = { } super children.each do |child| self.properties[child.name] = child.as_json end end def required(*values) case values when [] @schema.required when [true] @parent.required ||= [] @parent.required << @name else @schema.required = values.flatten end end alias_method :required=, :required end end end
Version data entries
12 entries across 12 versions & 1 rubygems