Class: JSON::SchemaBuilder::Object
- Defined in:
- lib/json/schema_builder/object.rb
Instance Attribute Summary
Attributes inherited from Entity
#children, #error, #fragment, #fragments, #name, #options, #parent
Instance Method Summary collapse
- #extract_types ⇒ Object
- #initialize_children ⇒ Object
- #required(*values) ⇒ Object (also: #required=)
Methods inherited from Entity
#add_fragment, #as_json, #initialize, #merge_children!, #method_missing, #respond_to?, #schema
Methods included from Helpers
#empty_string, #id, #object_or_array
Methods included from Validation
#fully_validate, #validate, #validate!
Methods included from DSL
Constructor Details
This class inherits a constructor from JSON::SchemaBuilder::Entity
Dynamic Method Handling
This class handles dynamic methods through the method_missing method in the class JSON::SchemaBuilder::Entity
Instance Method Details
#extract_types ⇒ Object
21 22 23 24 |
# File 'lib/json/schema_builder/object.rb', line 21 def extract_types initialize_children super end |
#initialize_children ⇒ Object
14 15 16 17 18 19 |
# File 'lib/json/schema_builder/object.rb', line 14 def initialize_children self.properties = { } children.select(&:name).each do |child| self.properties[child.name] = child.as_json end end |
#required(*values) ⇒ Object Also known as: required=
26 27 28 29 30 31 32 33 34 35 36 |
# File 'lib/json/schema_builder/object.rb', line 26 def required(*values) case values when [] @schema[:required] when [true] @parent.required ||= [] @parent.required << @name else @schema[:required] = values.flatten end end |