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
49 50 51 52 53 54 55 56 57 |
# File 'lib/snaptrade/models/instrument.rb', line 49 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)
35 36 37 38 39 40 41 42 43 44 |
# File 'lib/snaptrade/models/instrument.rb', line 35 def openapi_discriminator_mapping { :'crypto' => :'CryptoInstrument', :'etf' => :'EtfInstrument', :'future' => :'FutureInstrument', :'option' => :'OptionInstrument', :'other' => :'OtherInstrument', :'stock' => :'StockInstrument' } end |
.openapi_discriminator_name ⇒ Object
Discriminator’s property name (OpenAPI v3)
30 31 32 |
# File 'lib/snaptrade/models/instrument.rb', line 30 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 |
# File 'lib/snaptrade/models/instrument.rb', line 18 def openapi_one_of [ :'CryptoInstrument', :'EtfInstrument', :'FutureInstrument', :'OptionInstrument', :'OtherInstrument', :'StockInstrument' ] end |