Class: Babl::Schema::Object
- Inherits:
-
Object
- Object
- Babl::Schema::Object
- Defined in:
- lib/babl/schema/object.rb
Defined Under Namespace
Classes: Property
Constant Summary collapse
Instance Method Summary collapse
-
#initialize(properties, additional) ⇒ Object
constructor
A new instance of Object.
- #json ⇒ Object
Constructor Details
#initialize(properties, additional) ⇒ Object
Returns a new instance of Object.
8 9 10 |
# File 'lib/babl/schema/object.rb', line 8 def initialize(properties, additional) super(properties.to_set.freeze, additional) end |
Instance Method Details
#json ⇒ Object
21 22 23 24 25 26 27 28 29 30 31 32 |
# 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 |