Module: Plaid::CraSubscriptionProductConfig
- Defined in:
- lib/plaid/models/cra_subscription_product_config.rb
Overview
A product and its configuration, for use with CRA servicing subscription endpoints.
Class Method Summary collapse
-
.build(data) ⇒ Object
Builds the object.
-
.openapi_discriminator_mapping ⇒ Object
Maps wire discriminator values to branch models.
-
.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
46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 |
# File 'lib/plaid/models/cra_subscription_product_config.rb', line 46 def build(data) unless data.is_a?(Hash) raise ArgumentError, 'Expected an object for CraSubscriptionProductConfig' end discriminator_key = openapi_discriminator_name if data.key?(discriminator_key) discriminator_value = data[discriminator_key] elsif data.key?(discriminator_key.to_s) discriminator_value = data[discriminator_key.to_s] else raise ArgumentError, "Missing discriminator '#{discriminator_key}' for CraSubscriptionProductConfig" end unless discriminator_value.is_a?(String) && !discriminator_value.empty? raise ArgumentError, "Invalid discriminator '#{discriminator_key}' for CraSubscriptionProductConfig" end klass = openapi_discriminator_mapping[discriminator_value.to_sym] unless klass raise ArgumentError, "Unknown discriminator '#{discriminator_key}=#{discriminator_value}' for CraSubscriptionProductConfig" end Plaid.const_get(klass).build_from_hash(data) end |
.openapi_discriminator_mapping ⇒ Object
Maps wire discriminator values to branch models.
35 36 37 38 39 40 41 |
# File 'lib/plaid/models/cra_subscription_product_config.rb', line 35 def openapi_discriminator_mapping { :'cra_base_report' => :'CraBaseReportProductConfig', :'cra_income_insights' => :'CraIncomeInsightsProductConfig', :'cra_qualify' => :'CraQualifyProductConfig' } end |
.openapi_discriminator_name ⇒ Object
Discriminator's property name (OpenAPI v3)
30 31 32 |
# File 'lib/plaid/models/cra_subscription_product_config.rb', line 30 def openapi_discriminator_name :'product' end |
.openapi_one_of ⇒ Object
List of class defined in oneOf (OpenAPI v3)
21 22 23 24 25 26 27 |
# File 'lib/plaid/models/cra_subscription_product_config.rb', line 21 def openapi_one_of [ :'CraBaseReportProductConfig', :'CraIncomeInsightsProductConfig', :'CraQualifyProductConfig' ] end |