Module: SnapTrade::Instrument
- Defined in:
- lib/snaptrade/models/instrument.rb
Overview
Instrument metadata for a V2 position. Use ‘kind` to determine which schema is present.
Class Method Summary collapse
-
.build(data) ⇒ Object
Builds the object.
-
.openapi_discriminator_mapping ⇒ Object
Discriminator’s mapping (OpenAPI v3).
-
.openapi_discriminator_name ⇒ Object
Discriminator’s property name (OpenAPI v3).
-
.openapi_one_of ⇒ Object
List of class defined in oneOf (OpenAPI v3).
Class Method Details
.build(data) ⇒ Object
Builds the object
55 56 57 58 59 60 61 62 63 |
# File 'lib/snaptrade/models/instrument.rb', line 55 def build(data) discriminator_value = data[openapi_discriminator_name] return nil if discriminator_value.nil? klass = openapi_discriminator_mapping[discriminator_value.to_s.to_sym] return nil unless klass SnapTrade.const_get(klass).build_from_hash(data) end |
.openapi_discriminator_mapping ⇒ Object
Discriminator’s mapping (OpenAPI v3)
38 39 40 41 42 43 44 45 46 47 48 49 50 |
# File 'lib/snaptrade/models/instrument.rb', line 38 def openapi_discriminator_mapping { :'adr' => :'AdrInstrument', :'cef' => :'CefInstrument', :'crypto' => :'CryptoInstrument', :'etf' => :'EtfInstrument', :'future' => :'FutureInstrument', :'mutualfund' => :'MutualFundInstrument', :'option' => :'OptionInstrument', :'other' => :'OtherInstrument', :'stock' => :'StockInstrument' } end |
.openapi_discriminator_name ⇒ Object
Discriminator’s property name (OpenAPI v3)
33 34 35 |
# File 'lib/snaptrade/models/instrument.rb', line 33 def openapi_discriminator_name :'kind' end |
.openapi_one_of ⇒ Object
List of class defined in oneOf (OpenAPI v3)
18 19 20 21 22 23 24 25 26 27 28 29 30 |
# File 'lib/snaptrade/models/instrument.rb', line 18 def openapi_one_of [ :'AdrInstrument', :'CefInstrument', :'CryptoInstrument', :'EtfInstrument', :'FutureInstrument', :'MutualFundInstrument', :'OptionInstrument', :'OtherInstrument', :'StockInstrument' ] end |