Class: Jsapi::Meta::Schema::Discriminator

Inherits:
Model::Base
  • Object
show all
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

Methods inherited from Model::Base

#initialize, #inspect, #merge!, #reference?, #resolve

Methods included from Model::Attributes

#attribute, #attribute_names

Constructor Details

This class inherits a constructor from Jsapi::Meta::Model::Base

Instance Method Details

#mappingsObject

:attr: mappings



9
# File 'lib/jsapi/meta/schema/discriminator.rb', line 9

attribute :mappings, { Object => String }

#property_nameObject

:attr: property_name



13
# File 'lib/jsapi/meta/schema/discriminator.rb', line 13

attribute :property_name, String

#to_openapi(version) ⇒ Object

Returns a hash representing the OpenAPI discriminator object.



16
17
18
19
20
21
22
23
24
# File 'lib/jsapi/meta/schema/discriminator.rb', line 16

def to_openapi(version, *)
  version = OpenAPI::Version.from(version)
  return property_name if version.major == 2

  {
    propertyName: property_name,
    mapping: mappings.transform_keys(&:to_s).presence
  }.compact
end