moneykit 0.0.3 → 0.0.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (192) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +2 -2
  3. data/lib/moneykit/api/access_token_api.rb +9 -9
  4. data/lib/moneykit/api/account_numbers_api.rb +6 -6
  5. data/lib/moneykit/api/accounts_api.rb +15 -15
  6. data/lib/moneykit/api/identity_api.rb +6 -6
  7. data/lib/moneykit/api/institutions_api.rb +7 -7
  8. data/lib/moneykit/api/link_session_api.rb +7 -7
  9. data/lib/moneykit/api/links_api.rb +76 -13
  10. data/lib/moneykit/api/products_api.rb +6 -6
  11. data/lib/moneykit/api/transactions_api.rb +28 -28
  12. data/lib/moneykit/api/users_api.rb +14 -14
  13. data/lib/moneykit/api/webhooks_api.rb +97 -0
  14. data/lib/moneykit/api_client.rb +40 -36
  15. data/lib/moneykit/api_error.rb +1 -1
  16. data/lib/moneykit/configuration.rb +20 -30
  17. data/lib/moneykit/models/account.rb +27 -54
  18. data/lib/moneykit/models/account_balances.rb +18 -27
  19. data/lib/moneykit/models/account_group.rb +23 -26
  20. data/lib/moneykit/models/account_identity.rb +34 -59
  21. data/lib/moneykit/models/account_numbers.rb +75 -51
  22. data/lib/moneykit/models/account_numbers_link_product.rb +18 -28
  23. data/lib/moneykit/models/account_numbers_product_settings.rb +16 -21
  24. data/lib/moneykit/models/account_with_account_numbers.rb +29 -56
  25. data/lib/moneykit/models/accounts_link_product.rb +17 -25
  26. data/lib/moneykit/models/ach_number.rb +19 -26
  27. data/lib/moneykit/models/address.rb +17 -28
  28. data/lib/moneykit/models/api_error_auth_expired_access_token_response.rb +17 -24
  29. data/lib/moneykit/models/api_error_auth_unauthorized_response.rb +18 -25
  30. data/lib/moneykit/models/api_error_rate_limit_exceeded_response.rb +17 -24
  31. data/lib/moneykit/models/bacs_number.rb +18 -25
  32. data/lib/moneykit/models/basic_account_details.rb +20 -29
  33. data/lib/moneykit/models/country.rb +1 -1
  34. data/lib/moneykit/models/create_link_session_request.rb +48 -45
  35. data/lib/moneykit/models/create_link_session_response.rb +17 -24
  36. data/lib/moneykit/models/currency.rb +1 -1
  37. data/lib/moneykit/models/cursor_pagination.rb +17 -24
  38. data/lib/moneykit/models/customer_app.rb +18 -25
  39. data/lib/moneykit/models/eft_number.rb +19 -26
  40. data/lib/moneykit/models/email.rb +17 -22
  41. data/lib/moneykit/models/exchange_token_request.rb +17 -24
  42. data/lib/moneykit/models/exchange_token_response.rb +19 -26
  43. data/lib/moneykit/models/generate_access_token_response.rb +19 -26
  44. data/lib/moneykit/models/get_account_numbers_response.rb +23 -26
  45. data/lib/moneykit/models/get_account_response.rb +19 -26
  46. data/lib/moneykit/models/get_accounts_response.rb +25 -31
  47. data/lib/moneykit/models/get_institutions_response.rb +25 -31
  48. data/lib/moneykit/models/get_transactions_response.rb +34 -39
  49. data/lib/moneykit/models/get_user_accounts_response.rb +24 -32
  50. data/lib/moneykit/models/get_user_links_response.rb +24 -32
  51. data/lib/moneykit/models/get_user_transactions_response.rb +32 -34
  52. data/lib/moneykit/models/http_validation_error.rb +24 -28
  53. data/lib/moneykit/models/identity_link_product.rb +18 -28
  54. data/lib/moneykit/models/identity_product_settings.rb +16 -21
  55. data/lib/moneykit/models/identity_response.rb +24 -30
  56. data/lib/moneykit/models/institution.rb +29 -38
  57. data/lib/moneykit/models/institution_error_not_found_response.rb +17 -24
  58. data/lib/moneykit/models/international_number.rb +18 -25
  59. data/lib/moneykit/models/introspect_client_response.rb +22 -29
  60. data/lib/moneykit/models/jwk_set.rb +23 -26
  61. data/lib/moneykit/models/link_common.rb +25 -39
  62. data/lib/moneykit/models/link_error_bad_config_response.rb +269 -0
  63. data/lib/moneykit/models/link_error_bad_state_response.rb +19 -28
  64. data/lib/moneykit/models/link_error_deleted_response.rb +17 -24
  65. data/lib/moneykit/models/link_error_forbidden_action_response.rb +18 -25
  66. data/lib/moneykit/models/link_error_not_found_response.rb +17 -24
  67. data/lib/moneykit/models/link_error_unauthorized_access_response.rb +17 -24
  68. data/lib/moneykit/models/link_permission_scope.rb +1 -1
  69. data/lib/moneykit/models/link_permissions.rb +23 -33
  70. data/lib/moneykit/models/link_products.rb +16 -21
  71. data/lib/moneykit/models/link_response.rb +26 -39
  72. data/lib/moneykit/models/link_session_customer_user.rb +20 -28
  73. data/lib/moneykit/models/link_session_customer_user_email.rb +18 -25
  74. data/lib/moneykit/models/link_session_customer_user_phone.rb +18 -26
  75. data/lib/moneykit/models/link_session_error_forbidden_config_response.rb +18 -25
  76. data/lib/moneykit/models/link_session_error_invalid_token_exchange.rb +18 -25
  77. data/lib/moneykit/models/link_session_setting_overrides.rb +19 -43
  78. data/lib/moneykit/models/link_state.rb +1 -1
  79. data/lib/moneykit/models/link_state_changed_webhook.rb +28 -31
  80. data/lib/moneykit/models/money_link_features.rb +27 -32
  81. data/lib/moneykit/models/owner.rb +42 -42
  82. data/lib/moneykit/models/phone_number.rb +18 -25
  83. data/lib/moneykit/models/phone_number_type.rb +1 -1
  84. data/lib/moneykit/models/product.rb +1 -1
  85. data/lib/moneykit/models/products_settings.rb +19 -24
  86. data/lib/moneykit/models/provider.rb +4 -2
  87. data/lib/moneykit/models/public_link_error.rb +43 -0
  88. data/lib/moneykit/models/refresh_products_request.rb +23 -34
  89. data/lib/moneykit/models/requested_link_permission.rb +19 -26
  90. data/lib/moneykit/models/response401_disconnect_links_id_delete.rb +75 -269
  91. data/lib/moneykit/models/response401_exchange_token_link_session_exchange_token_post.rb +74 -267
  92. data/lib/moneykit/models/response401_get_account_links_id_accounts_account_id_get.rb +75 -269
  93. data/lib/moneykit/models/response401_get_account_numbers_links_id_accounts_numbers_get.rb +75 -269
  94. data/lib/moneykit/models/response401_get_accounts_links_id_accounts_get.rb +75 -269
  95. data/lib/moneykit/models/response401_get_identities_links_id_identity_get.rb +75 -269
  96. data/lib/moneykit/models/response401_get_institution_institutions_institution_id_get.rb +74 -267
  97. data/lib/moneykit/models/response401_get_institutions_institutions_get.rb +74 -267
  98. data/lib/moneykit/models/response401_get_link_links_id_get.rb +75 -269
  99. data/lib/moneykit/models/response401_get_transactions_diff_links_id_transactions_sync_get.rb +75 -269
  100. data/lib/moneykit/models/response401_get_transactions_links_id_transactions_get.rb +75 -269
  101. data/lib/moneykit/models/response401_get_user_accounts_users_id_accounts_get.rb +74 -267
  102. data/lib/moneykit/models/response401_get_user_links_users_id_links_get.rb +74 -267
  103. data/lib/moneykit/models/response401_get_user_transactions_users_id_transactions_get.rb +74 -267
  104. data/lib/moneykit/models/response401_get_well_known_jwks_well_known_jwks_json_get.rb +74 -267
  105. data/lib/moneykit/models/response401_instrospect_client_auth_introspect_get.rb +74 -267
  106. data/lib/moneykit/models/response401_refresh_products_links_id_products_post.rb +75 -269
  107. data/lib/moneykit/models/response401_reset_login_links_id_reset_post.rb +102 -0
  108. data/lib/moneykit/models/response401_trigger_test_link_webhook_event_webhooks_test_link_id_post.rb +102 -0
  109. data/lib/moneykit/models/response401_update_link_links_id_patch.rb +75 -269
  110. data/lib/moneykit/models/transaction.rb +35 -35
  111. data/lib/moneykit/models/transaction_diff.rb +36 -37
  112. data/lib/moneykit/models/transaction_sync_response.rb +23 -30
  113. data/lib/moneykit/models/transaction_type.rb +1 -1
  114. data/lib/moneykit/models/transaction_type_filter.rb +1 -1
  115. data/lib/moneykit/models/transactions_link_product.rb +18 -28
  116. data/lib/moneykit/models/transactions_product_settings.rb +16 -21
  117. data/lib/moneykit/models/update_link_request.rb +21 -28
  118. data/lib/moneykit/models/validation_error.rb +25 -28
  119. data/lib/moneykit/models/validation_error_location_inner.rb +101 -0
  120. data/lib/moneykit/models/webhook_link_test_event.rb +40 -0
  121. data/lib/moneykit/models/webhook_test_link_request.rb +252 -0
  122. data/lib/moneykit/models/webhook_test_link_response.rb +220 -0
  123. data/lib/moneykit/version.rb +2 -2
  124. data/lib/moneykit.rb +10 -29
  125. data/lib/plaid_compatible/money_kit_plaid_compatible/api/plaid_api.rb +684 -679
  126. data/lib/plaid_compatible/money_kit_plaid_compatible/api_client.rb +330 -330
  127. data/lib/plaid_compatible/money_kit_plaid_compatible/api_error.rb +33 -33
  128. data/lib/plaid_compatible/money_kit_plaid_compatible/configuration.rb +245 -245
  129. data/lib/plaid_compatible/money_kit_plaid_compatible/models/account_balance.rb +198 -198
  130. data/lib/plaid_compatible/money_kit_plaid_compatible/models/account_base.rb +213 -213
  131. data/lib/plaid_compatible/money_kit_plaid_compatible/models/account_identity.rb +223 -223
  132. data/lib/plaid_compatible/money_kit_plaid_compatible/models/account_subtype.rb +89 -89
  133. data/lib/plaid_compatible/money_kit_plaid_compatible/models/account_type.rb +22 -22
  134. data/lib/plaid_compatible/money_kit_plaid_compatible/models/accounts_get_request.rb +198 -198
  135. data/lib/plaid_compatible/money_kit_plaid_compatible/models/accounts_get_request_options.rb +175 -175
  136. data/lib/plaid_compatible/money_kit_plaid_compatible/models/accounts_get_response.rb +194 -194
  137. data/lib/plaid_compatible/money_kit_plaid_compatible/models/address.rb +183 -183
  138. data/lib/plaid_compatible/money_kit_plaid_compatible/models/address_data.rb +209 -209
  139. data/lib/plaid_compatible/money_kit_plaid_compatible/models/auth_get_numbers.rb +211 -209
  140. data/lib/plaid_compatible/money_kit_plaid_compatible/models/auth_get_request.rb +198 -198
  141. data/lib/plaid_compatible/money_kit_plaid_compatible/models/auth_get_request_options.rb +175 -175
  142. data/lib/plaid_compatible/money_kit_plaid_compatible/models/auth_get_response.rb +200 -200
  143. data/lib/plaid_compatible/money_kit_plaid_compatible/models/country_code.rb +19 -19
  144. data/lib/plaid_compatible/money_kit_plaid_compatible/models/email.rb +184 -184
  145. data/lib/plaid_compatible/money_kit_plaid_compatible/models/http_validation_error.rb +171 -171
  146. data/lib/plaid_compatible/money_kit_plaid_compatible/models/identity_get_request.rb +198 -198
  147. data/lib/plaid_compatible/money_kit_plaid_compatible/models/identity_get_request_options.rb +175 -175
  148. data/lib/plaid_compatible/money_kit_plaid_compatible/models/identity_get_response.rb +194 -194
  149. data/lib/plaid_compatible/money_kit_plaid_compatible/models/institution.rb +216 -214
  150. data/lib/plaid_compatible/money_kit_plaid_compatible/models/institutions_get_by_id_request.rb +202 -202
  151. data/lib/plaid_compatible/money_kit_plaid_compatible/models/institutions_get_by_id_response.rb +183 -183
  152. data/lib/plaid_compatible/money_kit_plaid_compatible/models/item.rb +246 -245
  153. data/lib/plaid_compatible/money_kit_plaid_compatible/models/item_error_webhook.rb +208 -208
  154. data/lib/plaid_compatible/money_kit_plaid_compatible/models/item_get_request.rb +192 -192
  155. data/lib/plaid_compatible/money_kit_plaid_compatible/models/item_get_response.rb +189 -189
  156. data/lib/plaid_compatible/money_kit_plaid_compatible/models/item_public_token_exchange_request.rb +192 -192
  157. data/lib/plaid_compatible/money_kit_plaid_compatible/models/item_public_token_exchange_response.rb +193 -193
  158. data/lib/plaid_compatible/money_kit_plaid_compatible/models/item_remove_request.rb +192 -192
  159. data/lib/plaid_compatible/money_kit_plaid_compatible/models/item_remove_response.rb +175 -175
  160. data/lib/plaid_compatible/money_kit_plaid_compatible/models/item_status_investments.rb +182 -182
  161. data/lib/plaid_compatible/money_kit_plaid_compatible/models/item_status_last_webhook.rb +182 -182
  162. data/lib/plaid_compatible/money_kit_plaid_compatible/models/item_status_nullable.rb +183 -183
  163. data/lib/plaid_compatible/money_kit_plaid_compatible/models/item_status_transactions.rb +182 -182
  164. data/lib/plaid_compatible/money_kit_plaid_compatible/models/link_token_create_request.rb +268 -266
  165. data/lib/plaid_compatible/money_kit_plaid_compatible/models/link_token_create_request_user.rb +212 -212
  166. data/lib/plaid_compatible/money_kit_plaid_compatible/models/link_token_create_response.rb +193 -193
  167. data/lib/plaid_compatible/money_kit_plaid_compatible/models/numbers_ach.rb +202 -202
  168. data/lib/plaid_compatible/money_kit_plaid_compatible/models/numbers_bacs.rb +193 -193
  169. data/lib/plaid_compatible/money_kit_plaid_compatible/models/numbers_eft.rb +202 -202
  170. data/lib/plaid_compatible/money_kit_plaid_compatible/models/numbers_international.rb +193 -193
  171. data/lib/plaid_compatible/money_kit_plaid_compatible/models/owner.rb +211 -209
  172. data/lib/plaid_compatible/money_kit_plaid_compatible/models/personal_finance_category.rb +184 -184
  173. data/lib/plaid_compatible/money_kit_plaid_compatible/models/phone_number.rb +193 -193
  174. data/lib/plaid_compatible/money_kit_plaid_compatible/models/plaid_error.rb +247 -245
  175. data/lib/plaid_compatible/money_kit_plaid_compatible/models/plaid_error_type.rb +30 -30
  176. data/lib/plaid_compatible/money_kit_plaid_compatible/models/products.rb +20 -20
  177. data/lib/plaid_compatible/money_kit_plaid_compatible/models/removed_transaction.rb +174 -174
  178. data/lib/plaid_compatible/money_kit_plaid_compatible/models/transaction.rb +283 -283
  179. data/lib/plaid_compatible/money_kit_plaid_compatible/models/transactions_get_request.rb +217 -217
  180. data/lib/plaid_compatible/money_kit_plaid_compatible/models/transactions_get_request_options.rb +211 -211
  181. data/lib/plaid_compatible/money_kit_plaid_compatible/models/transactions_get_response.rb +217 -217
  182. data/lib/plaid_compatible/money_kit_plaid_compatible/models/transactions_refresh_request.rb +192 -192
  183. data/lib/plaid_compatible/money_kit_plaid_compatible/models/transactions_refresh_response.rb +175 -175
  184. data/lib/plaid_compatible/money_kit_plaid_compatible/models/transactions_sync_request.rb +215 -215
  185. data/lib/plaid_compatible/money_kit_plaid_compatible/models/transactions_sync_request_options.rb +184 -184
  186. data/lib/plaid_compatible/money_kit_plaid_compatible/models/transactions_sync_response.rb +228 -228
  187. data/lib/plaid_compatible/money_kit_plaid_compatible/models/validation_error.rb +187 -187
  188. data/lib/plaid_compatible/money_kit_plaid_compatible/models/webhook_environment_values.rb +19 -19
  189. data/lib/plaid_compatible/money_kit_plaid_compatible/version.rb +1 -1
  190. data/lib/plaid_compatible/money_kit_plaid_compatible.rb +13 -13
  191. data/moneykit.gemspec +2 -1
  192. metadata +14 -5
@@ -13,294 +13,295 @@ require 'time'
13
13
 
14
14
  module MoneyKit
15
15
  module PlaidCompatible
16
- # Metadata about the Item.
17
- class Item
18
- # The Plaid Item ID. The `item_id` is always unique; linking the same account at the same institution twice will result in two Items with different `item_id` values. Like all Plaid identifiers, the `item_id` is case-sensitive.
19
- attr_accessor :item_id
20
-
21
- # The Plaid Institution ID associated with the Item. Field is `null` for Items created via Same Day Micro-deposits.
22
- attr_accessor :institution_id
23
-
24
- # The URL registered to receive webhooks for the Item.
25
- attr_accessor :webhook
26
-
27
- attr_accessor :error
28
-
29
- # A list of products available for the Item that have not yet been accessed. The contents of this array will be mutually exclusive with `billed_products`.
30
- attr_accessor :available_products
31
-
32
- # A list of products that have been billed for the Item. The contents of this array will be mutually exclusive with `available_products`. Note - `billed_products` is populated in all environments but only requests in Production are billed. Also note that products that are billed on a pay-per-call basis rather than a pay-per-Item basis, such as `balance`, will not appear here.
33
- attr_accessor :billed_products
34
-
35
- # A list of authorized products for the Item.
36
- attr_accessor :products
37
-
38
- # Beta: A list of products that have gone through consent collection for the Item. Only present for those enabled in the beta.
39
- attr_accessor :consented_products
40
-
41
- # Attribute mapping from ruby-style variable name to JSON key.
42
- def self.attribute_map
43
- {
44
- 'item_id': :item_id,
45
- 'institution_id': :institution_id,
46
- 'webhook': :webhook,
47
- 'error': :error,
48
- 'available_products': :available_products,
49
- 'billed_products': :billed_products,
50
- 'products': :products,
51
- 'consented_products': :consented_products
52
- }
53
- end
54
-
55
- # Returns all the JSON keys this model knows about
56
- def self.acceptable_attributes
57
- attribute_map.values
58
- end
16
+ # Metadata about the Item.
17
+ class Item
18
+ # The Plaid Item ID. The `item_id` is always unique; linking the same account at the same institution twice will result in two Items with different `item_id` values. Like all Plaid identifiers, the `item_id` is case-sensitive.
19
+ attr_accessor :item_id
20
+
21
+ # The Plaid Institution ID associated with the Item. Field is `null` for Items created via Same Day Micro-deposits.
22
+ attr_accessor :institution_id
23
+
24
+ # The URL registered to receive webhooks for the Item.
25
+ attr_accessor :webhook
26
+
27
+ attr_accessor :error
28
+
29
+ # A list of products available for the Item that have not yet been accessed. The contents of this array will be mutually exclusive with `billed_products`.
30
+ attr_accessor :available_products
31
+
32
+ # A list of products that have been billed for the Item. The contents of this array will be mutually exclusive with `available_products`. Note - `billed_products` is populated in all environments but only requests in Production are billed. Also note that products that are billed on a pay-per-call basis rather than a pay-per-Item basis, such as `balance`, will not appear here.
33
+ attr_accessor :billed_products
34
+
35
+ # A list of authorized products for the Item.
36
+ attr_accessor :products
37
+
38
+ # Beta: A list of products that have gone through consent collection for the Item. Only present for those enabled in the beta.
39
+ attr_accessor :consented_products
40
+
41
+ # Attribute mapping from ruby-style variable name to JSON key.
42
+ def self.attribute_map
43
+ {
44
+ 'item_id': :item_id,
45
+ 'institution_id': :institution_id,
46
+ 'webhook': :webhook,
47
+ 'error': :error,
48
+ 'available_products': :available_products,
49
+ 'billed_products': :billed_products,
50
+ 'products': :products,
51
+ 'consented_products': :consented_products
52
+ }
53
+ end
59
54
 
60
- # Attribute type mapping.
61
- def self.openapi_types
62
- {
63
- 'item_id': :String,
64
- 'institution_id': :String,
65
- 'webhook': :String,
66
- 'error': :PlaidError,
67
- 'available_products': :'Array<Products>',
68
- 'billed_products': :'Array<Products>',
69
- 'products': :'Array<Products>',
70
- 'consented_products': :'Array<Products>'
71
- }
72
- end
55
+ # Returns all the JSON keys this model knows about
56
+ def self.acceptable_attributes
57
+ attribute_map.values
58
+ end
73
59
 
74
- # List of attributes with nullable: true
75
- def self.openapi_nullable
76
- Set.new(%i[
77
- institution_id
78
- webhook
79
- error
80
- products
81
- consented_products
82
- ])
83
- end
60
+ # Attribute type mapping.
61
+ def self.openapi_types
62
+ {
63
+ 'item_id': :String,
64
+ 'institution_id': :String,
65
+ 'webhook': :String,
66
+ 'error': :PlaidError,
67
+ 'available_products': :'Array<Products>',
68
+ 'billed_products': :'Array<Products>',
69
+ 'products': :'Array<Products>',
70
+ 'consented_products': :'Array<Products>'
71
+ }
72
+ end
84
73
 
85
- # Initializes the object
86
- # @param [Hash] attributes Model attributes in the form of hash
87
- def initialize(attributes = {})
88
- unless attributes.is_a?(Hash)
89
- raise ArgumentError,
90
- 'The input argument (attributes) must be a hash in `MoneyKit::PlaidCompatible::Item` initialize method'
74
+ # List of attributes with nullable: true
75
+ def self.openapi_nullable
76
+ Set.new(%i[
77
+ institution_id
78
+ webhook
79
+ error
80
+ products
81
+ consented_products
82
+ ])
91
83
  end
92
84
 
93
- # check to see if the attribute exists and convert string to symbol for hash key
94
- attributes = attributes.each_with_object({}) do |(k, v), h|
95
- unless self.class.attribute_map.key?(k.to_sym)
85
+ # Initializes the object
86
+ # @param [Hash] attributes Model attributes in the form of hash
87
+ def initialize(attributes = {})
88
+ unless attributes.is_a?(Hash)
96
89
  raise ArgumentError,
97
- "`#{k}` is not a valid attribute in `MoneyKit::PlaidCompatible::Item`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
90
+ 'The input argument (attributes) must be a hash in `MoneyKit::PlaidCompatible::Item` initialize method'
98
91
  end
99
92
 
100
- h[k.to_sym] = v
101
- end
102
-
103
- self.item_id = attributes[:item_id] if attributes.key?(:item_id)
93
+ # check to see if the attribute exists and convert string to symbol for hash key
94
+ attributes = attributes.each_with_object({}) do |(k, v), h|
95
+ unless self.class.attribute_map.key?(k.to_sym)
96
+ raise ArgumentError,
97
+ "`#{k}` is not a valid attribute in `MoneyKit::PlaidCompatible::Item`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
98
+ end
104
99
 
105
- self.institution_id = attributes[:institution_id] if attributes.key?(:institution_id)
100
+ h[k.to_sym] = v
101
+ end
106
102
 
107
- self.webhook = attributes[:webhook] if attributes.key?(:webhook)
103
+ self.item_id = attributes[:item_id] if attributes.key?(:item_id)
108
104
 
109
- self.error = attributes[:error] if attributes.key?(:error)
105
+ self.institution_id = attributes[:institution_id] if attributes.key?(:institution_id)
110
106
 
111
- if attributes.key?(:available_products) && (value = attributes[:available_products]).is_a?(Array)
112
- self.available_products = value
113
- end
107
+ self.webhook = attributes[:webhook] if attributes.key?(:webhook)
114
108
 
115
- if attributes.key?(:billed_products) && (value = attributes[:billed_products]).is_a?(Array)
116
- self.billed_products = value
117
- end
109
+ self.error = attributes[:error] if attributes.key?(:error)
118
110
 
119
- if attributes.key?(:products) && (value = attributes[:products]).is_a?(Array)
120
- self.products = value
121
- end
111
+ if attributes.key?(:available_products) && (value = attributes[:available_products]).is_a?(Array)
112
+ self.available_products = value
113
+ end
122
114
 
123
- return unless attributes.key?(:consented_products)
124
- return unless (value = attributes[:consented_products]).is_a?(Array)
115
+ if attributes.key?(:billed_products) && (value = attributes[:billed_products]).is_a?(Array)
116
+ self.billed_products = value
117
+ end
125
118
 
126
- self.consented_products = value
127
- end
119
+ if attributes.key?(:products) && (value = attributes[:products]).is_a?(Array)
120
+ self.products = value
121
+ end
128
122
 
129
- # Show invalid properties with the reasons. Usually used together with valid?
130
- # @return Array for valid properties with the reasons
131
- def list_invalid_properties
132
- invalid_properties = []
133
- invalid_properties.push('invalid value for "item_id", item_id cannot be nil.') if @item_id.nil?
123
+ return unless attributes.key?(:consented_products)
124
+ return unless (value = attributes[:consented_products]).is_a?(Array)
134
125
 
135
- if @available_products.nil?
136
- invalid_properties.push('invalid value for "available_products", available_products cannot be nil.')
126
+ self.consented_products = value
137
127
  end
138
128
 
139
- if @billed_products.nil?
140
- invalid_properties.push('invalid value for "billed_products", billed_products cannot be nil.')
141
- end
129
+ # Show invalid properties with the reasons. Usually used together with valid?
130
+ # @return Array for valid properties with the reasons
131
+ def list_invalid_properties
132
+ invalid_properties = []
133
+ invalid_properties.push('invalid value for "item_id", item_id cannot be nil.') if @item_id.nil?
142
134
 
143
- invalid_properties
144
- end
135
+ if @available_products.nil?
136
+ invalid_properties.push('invalid value for "available_products", available_products cannot be nil.')
137
+ end
145
138
 
146
- # Check to see if the all the properties in the model are valid
147
- # @return true if the model is valid
148
- def valid?
149
- return false if @item_id.nil?
150
- return false if @available_products.nil?
151
- return false if @billed_products.nil?
139
+ if @billed_products.nil?
140
+ invalid_properties.push('invalid value for "billed_products", billed_products cannot be nil.')
141
+ end
152
142
 
153
- true
154
- end
143
+ invalid_properties
144
+ end
155
145
 
156
- # Checks equality by comparing each attribute.
157
- # @param [Object] Object to be compared
158
- def ==(other)
159
- return true if equal?(other)
160
-
161
- self.class == other.class &&
162
- item_id == other.item_id &&
163
- institution_id == other.institution_id &&
164
- webhook == other.webhook &&
165
- error == other.error &&
166
- available_products == other.available_products &&
167
- billed_products == other.billed_products &&
168
- products == other.products &&
169
- consented_products == other.consented_products
170
- end
146
+ # Check to see if the all the properties in the model are valid
147
+ # @return true if the model is valid
148
+ def valid?
149
+ return false if @item_id.nil?
150
+ return false if @available_products.nil?
151
+ return false if @billed_products.nil?
171
152
 
172
- # @see the `==` method
173
- # @param [Object] Object to be compared
174
- def eql?(other)
175
- self == other
176
- end
153
+ true
154
+ end
177
155
 
178
- # Calculates hash code according to all attributes.
179
- # @return [Integer] Hash code
180
- def hash
181
- [item_id, institution_id, webhook, error, available_products, billed_products, products, consented_products].hash
182
- end
156
+ # Checks equality by comparing each attribute.
157
+ # @param [Object] Object to be compared
158
+ def ==(other)
159
+ return true if equal?(other)
160
+
161
+ self.class == other.class &&
162
+ item_id == other.item_id &&
163
+ institution_id == other.institution_id &&
164
+ webhook == other.webhook &&
165
+ error == other.error &&
166
+ available_products == other.available_products &&
167
+ billed_products == other.billed_products &&
168
+ products == other.products &&
169
+ consented_products == other.consented_products
170
+ end
183
171
 
184
- # Builds the object from hash
185
- # @param [Hash] attributes Model attributes in the form of hash
186
- # @return [Object] Returns the model itself
187
- def self.build_from_hash(attributes)
188
- new.build_from_hash(attributes)
189
- end
172
+ # @see the `==` method
173
+ # @param [Object] Object to be compared
174
+ def eql?(other)
175
+ self == other
176
+ end
190
177
 
191
- # Builds the object from hash
192
- # @param [Hash] attributes Model attributes in the form of hash
193
- # @return [Object] Returns the model itself
194
- def build_from_hash(attributes)
195
- return nil unless attributes.is_a?(Hash)
196
-
197
- self.class.openapi_types.each_pair do |key, type|
198
- if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
199
- send("#{key}=", nil)
200
- elsif type =~ /\AArray<(.*)>/i
201
- # check to ensure the input is an array given that the attribute
202
- # is documented as an array but the input is not
203
- if attributes[self.class.attribute_map[key]].is_a?(Array)
204
- send("#{key}=", attributes[self.class.attribute_map[key]].map do |v|
205
- _deserialize(::Regexp.last_match(1), v)
206
- end)
207
- end
208
- elsif !attributes[self.class.attribute_map[key]].nil?
209
- send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
210
- end
178
+ # Calculates hash code according to all attributes.
179
+ # @return [Integer] Hash code
180
+ def hash
181
+ [item_id, institution_id, webhook, error, available_products, billed_products, products,
182
+ consented_products].hash
211
183
  end
212
184
 
213
- self
214
- end
185
+ # Builds the object from hash
186
+ # @param [Hash] attributes Model attributes in the form of hash
187
+ # @return [Object] Returns the model itself
188
+ def self.build_from_hash(attributes)
189
+ new.build_from_hash(attributes)
190
+ end
215
191
 
216
- # Deserializes the data based on type
217
- # @param string type Data type
218
- # @param string value Value to be deserialized
219
- # @return [Object] Deserialized data
220
- def _deserialize(type, value)
221
- case type.to_sym
222
- when :Time
223
- Time.parse(value)
224
- when :Date
225
- Date.parse(value)
226
- when :String
227
- value.to_s
228
- when :Integer
229
- value.to_i
230
- when :Float
231
- value.to_f
232
- when :Boolean
233
- if value.to_s =~ /\A(true|t|yes|y|1)\z/i
234
- true
235
- else
236
- false
192
+ # Builds the object from hash
193
+ # @param [Hash] attributes Model attributes in the form of hash
194
+ # @return [Object] Returns the model itself
195
+ def build_from_hash(attributes)
196
+ return nil unless attributes.is_a?(Hash)
197
+
198
+ self.class.openapi_types.each_pair do |key, type|
199
+ if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
200
+ send("#{key}=", nil)
201
+ elsif type =~ /\AArray<(.*)>/i
202
+ # check to ensure the input is an array given that the attribute
203
+ # is documented as an array but the input is not
204
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
205
+ send("#{key}=", attributes[self.class.attribute_map[key]].map do |v|
206
+ _deserialize(::Regexp.last_match(1), v)
207
+ end)
208
+ end
209
+ elsif !attributes[self.class.attribute_map[key]].nil?
210
+ send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
211
+ end
237
212
  end
238
- when :Object
239
- # generic object (usually a Hash), return directly
240
- value
241
- when /\AArray<(?<inner_type>.+)>\z/
242
- inner_type = Regexp.last_match[:inner_type]
243
- value.map { |v| _deserialize(inner_type, v) }
244
- when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
245
- k_type = Regexp.last_match[:k_type]
246
- v_type = Regexp.last_match[:v_type]
247
- {}.tap do |hash|
248
- value.each do |k, v|
249
- hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
213
+
214
+ self
215
+ end
216
+
217
+ # Deserializes the data based on type
218
+ # @param string type Data type
219
+ # @param string value Value to be deserialized
220
+ # @return [Object] Deserialized data
221
+ def _deserialize(type, value)
222
+ case type.to_sym
223
+ when :Time
224
+ Time.parse(value)
225
+ when :Date
226
+ Date.parse(value)
227
+ when :String
228
+ value.to_s
229
+ when :Integer
230
+ value.to_i
231
+ when :Float
232
+ value.to_f
233
+ when :Boolean
234
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
235
+ true
236
+ else
237
+ false
250
238
  end
239
+ when :Object
240
+ # generic object (usually a Hash), return directly
241
+ value
242
+ when /\AArray<(?<inner_type>.+)>\z/
243
+ inner_type = Regexp.last_match[:inner_type]
244
+ value.map { |v| _deserialize(inner_type, v) }
245
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
246
+ k_type = Regexp.last_match[:k_type]
247
+ v_type = Regexp.last_match[:v_type]
248
+ {}.tap do |hash|
249
+ value.each do |k, v|
250
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
251
+ end
252
+ end
253
+ else # model
254
+ # models (e.g. Pet) or oneOf
255
+ klass = MoneyKit::PlaidCompatible.const_get(type)
256
+ klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
251
257
  end
252
- else # model
253
- # models (e.g. Pet) or oneOf
254
- klass = MoneyKit::PlaidCompatible.const_get(type)
255
- klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
256
258
  end
257
- end
258
259
 
259
- # Returns the string representation of the object
260
- # @return [String] String presentation of the object
261
- def to_s
262
- to_hash.to_s
263
- end
260
+ # Returns the string representation of the object
261
+ # @return [String] String presentation of the object
262
+ def to_s
263
+ to_hash.to_s
264
+ end
264
265
 
265
- # to_body is an alias to to_hash (backward compatibility)
266
- # @return [Hash] Returns the object in the form of hash
267
- def to_body
268
- to_hash
269
- end
266
+ # to_body is an alias to to_hash (backward compatibility)
267
+ # @return [Hash] Returns the object in the form of hash
268
+ def to_body
269
+ to_hash
270
+ end
270
271
 
271
- # Returns the object in the form of hash
272
- # @return [Hash] Returns the object in the form of hash
273
- def to_hash
274
- hash = {}
275
- self.class.attribute_map.each_pair do |attr, param|
276
- value = send(attr)
277
- if value.nil?
278
- is_nullable = self.class.openapi_nullable.include?(attr)
279
- next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
280
- end
272
+ # Returns the object in the form of hash
273
+ # @return [Hash] Returns the object in the form of hash
274
+ def to_hash
275
+ hash = {}
276
+ self.class.attribute_map.each_pair do |attr, param|
277
+ value = send(attr)
278
+ if value.nil?
279
+ is_nullable = self.class.openapi_nullable.include?(attr)
280
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
281
+ end
281
282
 
282
- hash[param] = _to_hash(value)
283
+ hash[param] = _to_hash(value)
284
+ end
285
+ hash
283
286
  end
284
- hash
285
- end
286
287
 
287
- # Outputs non-array value in the form of hash
288
- # For object, use to_hash. Otherwise, just return the value
289
- # @param [Object] value Any valid value
290
- # @return [Hash] Returns the value in the form of hash
291
- def _to_hash(value)
292
- if value.is_a?(Array)
293
- value.compact.map { |v| _to_hash(v) }
294
- elsif value.is_a?(Hash)
295
- {}.tap do |hash|
296
- value.each { |k, v| hash[k] = _to_hash(v) }
288
+ # Outputs non-array value in the form of hash
289
+ # For object, use to_hash. Otherwise, just return the value
290
+ # @param [Object] value Any valid value
291
+ # @return [Hash] Returns the value in the form of hash
292
+ def _to_hash(value)
293
+ if value.is_a?(Array)
294
+ value.compact.map { |v| _to_hash(v) }
295
+ elsif value.is_a?(Hash)
296
+ {}.tap do |hash|
297
+ value.each { |k, v| hash[k] = _to_hash(v) }
298
+ end
299
+ elsif value.respond_to? :to_hash
300
+ value.to_hash
301
+ else
302
+ value
297
303
  end
298
- elsif value.respond_to? :to_hash
299
- value.to_hash
300
- else
301
- value
302
304
  end
303
305
  end
304
306
  end
305
- end
306
307
  end