Class: ConvertsToJsonSchemaWithRefs
- Inherits:
-
Object
- Object
- ConvertsToJsonSchemaWithRefs
- Defined in:
- lib/active_json_schema/converts_to_json_schema_with_refs.rb
Defined Under Namespace
Classes: SchemaAttributeInfo, UnsupportedAssociationType
Class Method Summary collapse
Instance Method Summary collapse
- #generate ⇒ Object
-
#initialize(model_class, only: nil, associations: [], additional_properties: false) ⇒ ConvertsToJsonSchemaWithRefs
constructor
A new instance of ConvertsToJsonSchemaWithRefs.
Constructor Details
#initialize(model_class, only: nil, associations: [], additional_properties: false) ⇒ ConvertsToJsonSchemaWithRefs
Returns a new instance of ConvertsToJsonSchemaWithRefs.
11 12 13 14 15 16 17 |
# File 'lib/active_json_schema/converts_to_json_schema_with_refs.rb', line 11 def initialize(model_class, only: nil, associations: [], additional_properties: false) @model_class = model_class @only = only @associations = associations.is_a?(Array) ? associations.to_h { |a| [a, {}] } : associations @additional_properties = additional_properties @definitions = {} end |
Class Method Details
.generate(model_class, only: nil, associations: {}, additional_properties: false) ⇒ Object
7 8 9 |
# File 'lib/active_json_schema/converts_to_json_schema_with_refs.rb', line 7 def self.generate(model_class, only: nil, associations: {}, additional_properties: false) new(model_class, only: only, associations: associations, additional_properties: additional_properties).generate end |
Instance Method Details
#generate ⇒ Object
19 20 21 22 23 24 25 26 27 28 |
# File 'lib/active_json_schema/converts_to_json_schema_with_refs.rb', line 19 def generate schema = { type: "object", properties: properties_for(@model_class, @only, @associations), required: required_properties(@model_class, @only), additionalProperties: @additional_properties } schema[:definitions] = @definitions unless @definitions.empty? schema end |