Class: Jsapi::Meta::Schema::Discriminator
- Inherits:
-
Model::Base
- Object
- Model::Base
- Jsapi::Meta::Schema::Discriminator
- Includes:
- OpenAPI::Extensions
- Defined in:
- lib/jsapi/meta/schema/discriminator.rb
Constant Summary
Constants included from Model::Attributes
Model::Attributes::DEFAULT_ARRAY, Model::Attributes::DEFAULT_HASH
Instance Method Summary collapse
-
#default_mapping ⇒ Object
:attr: default_mapping Applies to OpenAPI 3.2 and higher.
-
#mappings ⇒ Object
:attr: mappings Applies to OpenAPI 3.0 and higher.
-
#property_name ⇒ Object
:attr: property_name.
-
#to_openapi(version) ⇒ Object
Returns a hash representing the OpenAPI discriminator object.
Methods included from OpenAPI::Extensions
Methods inherited from Model::Base
#initialize, #inspect, #merge!, #reference?, #resolve
Methods included from Model::Attributes
Constructor Details
This class inherits a constructor from Jsapi::Meta::Model::Base
Instance Method Details
#default_mapping ⇒ Object
:attr: default_mapping Applies to OpenAPI 3.2 and higher.
12 |
# File 'lib/jsapi/meta/schema/discriminator.rb', line 12 attribute :default_mapping, String |
#mappings ⇒ Object
:attr: mappings Applies to OpenAPI 3.0 and higher.
17 |
# File 'lib/jsapi/meta/schema/discriminator.rb', line 17 attribute :mappings, { Object => String } |
#property_name ⇒ Object
:attr: property_name
21 |
# File 'lib/jsapi/meta/schema/discriminator.rb', line 21 attribute :property_name, String |
#to_openapi(version) ⇒ Object
Returns a hash representing the OpenAPI discriminator object.
24 25 26 27 28 29 30 31 32 33 34 |
# File 'lib/jsapi/meta/schema/discriminator.rb', line 24 def to_openapi(version, *) version = OpenAPI::Version.from(version) return property_name if version < OpenAPI::V3_0 result = { propertyName: property_name, mapping: mappings.transform_keys(&:to_s).presence, defaultMapping: (default_mapping if version >= OpenAPI::V3_2) } version >= OpenAPI::V3_1 ? with_openapi_extensions(result) : result.compact end |