Module: Plaid::CraReportGetRequestProduct

Defined in:
lib/plaid/models/cra_report_get_request_product.rb

Overview

CraReportGetRequestProduct specifies one product and version requested from /cra/report/get, selected by the product discriminator.

Class Method Summary collapse

Class Method Details

.build(data) ⇒ Object

Builds the object

Parameters:

  • Data (Mixed)

    to be matched against the list of oneOf items

Returns:

  • (Object)

    Returns the model or the data itself



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_report_get_request_product.rb', line 46

def build(data)
  unless data.is_a?(Hash)
    raise ArgumentError, 'Expected an object for CraReportGetRequestProduct'
  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 CraReportGetRequestProduct"
  end
  unless discriminator_value.is_a?(String) && !discriminator_value.empty?
    raise ArgumentError, "Invalid discriminator '#{discriminator_key}' for CraReportGetRequestProduct"
  end

  klass = openapi_discriminator_mapping[discriminator_value.to_sym]
  unless klass
    raise ArgumentError,
          "Unknown discriminator '#{discriminator_key}=#{discriminator_value}' for CraReportGetRequestProduct"
  end

  Plaid.const_get(klass).build_from_hash(data)
end

.openapi_discriminator_mappingObject

Maps wire discriminator values to branch models.



35
36
37
38
39
40
41
# File 'lib/plaid/models/cra_report_get_request_product.rb', line 35

def openapi_discriminator_mapping
  {
    :'cra_home_lending' => :'CraHomeLendingProduct',
    :'cra_income_insights' => :'CraIncomeInsightsProduct',
    :'cra_qualify' => :'CraQualifyProduct'
  }
end

.openapi_discriminator_nameObject

Discriminator's property name (OpenAPI v3)



30
31
32
# File 'lib/plaid/models/cra_report_get_request_product.rb', line 30

def openapi_discriminator_name
  :'product'
end

.openapi_one_ofObject

List of class defined in oneOf (OpenAPI v3)



21
22
23
24
25
26
27
# File 'lib/plaid/models/cra_report_get_request_product.rb', line 21

def openapi_one_of
  [
    :'CraHomeLendingProduct',
    :'CraIncomeInsightsProduct',
    :'CraQualifyProduct'
  ]
end