class Babl::Schema::Object
Constants
- EMPTY
- EMPTY_WITH_ADDITIONAL
Public Class Methods
new(properties, additional)
click to toggle source
Calls superclass method
# File lib/babl/schema/object.rb, line 8 def initialize(properties, additional) super(properties.to_set.freeze, additional) end
Public Instance Methods
json()
click to toggle source
# File lib/babl/schema/object.rb, line 21 def json { type: 'object' }.tap { |out| next if property_set.empty? out[:properties] = property_set.map { |property| [property.name, property.value.json] }.to_h out[:additionalProperties] = additional required_properties = property_set.select(&:required) next if required_properties.empty? out[:required] = property_set.select(&:required).map(&:name).map(&:to_s) } end