Sha256: 91e23aac222ba955070152044a0d7c863e7687a30d00a12bfae44dbc1414a01c
Contents?: true
Size: 890 Bytes
Versions: 3
Compression:
Stored size: 890 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_children self.properties = { } children.select(&:name).each do |child| self.properties[child.name] = child.as_json end end def extract_types initialize_children super 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
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
json-schema_builder-0.7.0 | lib/json/schema_builder/object.rb |
json-schema_builder-0.6.1 | lib/json/schema_builder/object.rb |
json-schema_builder-0.6.0 | lib/json/schema_builder/object.rb |