moneykit 0.0.2 → 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 (222) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +2 -2
  3. data/lib/moneykit/api/access_token_api.rb +53 -55
  4. data/lib/moneykit/api/account_numbers_api.rb +26 -26
  5. data/lib/moneykit/api/accounts_api.rb +88 -82
  6. data/lib/moneykit/api/identity_api.rb +31 -30
  7. data/lib/moneykit/api/institutions_api.rb +50 -48
  8. data/lib/moneykit/api/link_session_api.rb +47 -50
  9. data/lib/moneykit/api/links_api.rb +137 -81
  10. data/lib/moneykit/api/products_api.rb +33 -35
  11. data/lib/moneykit/api/transactions_api.rb +126 -101
  12. data/lib/moneykit/api/users_api.rb +100 -83
  13. data/lib/moneykit/api/webhooks_api.rb +97 -0
  14. data/lib/moneykit/api_client.rb +100 -103
  15. data/lib/moneykit/api_error.rb +14 -16
  16. data/lib/moneykit/configuration.rb +52 -65
  17. data/lib/moneykit/models/account.rb +69 -112
  18. data/lib/moneykit/models/account_balances.rb +64 -78
  19. data/lib/moneykit/models/account_group.rb +58 -61
  20. data/lib/moneykit/models/account_identity.rb +79 -124
  21. data/lib/moneykit/models/account_numbers.rb +96 -71
  22. data/lib/moneykit/models/account_numbers_link_product.rb +57 -69
  23. data/lib/moneykit/models/account_numbers_product_settings.rb +59 -63
  24. data/lib/moneykit/models/account_type.rb +23 -23
  25. data/lib/moneykit/models/account_with_account_numbers.rb +76 -124
  26. data/lib/moneykit/models/accounts_link_product.rb +53 -61
  27. data/lib/moneykit/models/ach_number.rb +57 -65
  28. data/lib/moneykit/models/address.rb +70 -90
  29. data/lib/moneykit/models/api_error_auth_expired_access_token_response.rb +72 -78
  30. data/lib/moneykit/models/api_error_auth_unauthorized_response.rb +69 -78
  31. data/lib/moneykit/models/api_error_rate_limit_exceeded_response.rb +72 -78
  32. data/lib/moneykit/models/app.rb +46 -50
  33. data/lib/moneykit/models/bacs_number.rb +53 -61
  34. data/lib/moneykit/models/balances.rb +58 -64
  35. data/lib/moneykit/models/basic_account_details.rb +62 -77
  36. data/lib/moneykit/models/country.rb +13 -14
  37. data/lib/moneykit/models/create_link_session_request.rb +109 -119
  38. data/lib/moneykit/models/create_link_session_response.rb +48 -52
  39. data/lib/moneykit/models/currency.rb +193 -193
  40. data/lib/moneykit/models/cursor.rb +40 -39
  41. data/lib/moneykit/models/cursor_pagination.rb +49 -54
  42. data/lib/moneykit/models/cursors.rb +40 -39
  43. data/lib/moneykit/models/customer_app.rb +54 -64
  44. data/lib/moneykit/models/customer_user.rb +59 -69
  45. data/lib/moneykit/models/eft_number.rb +56 -67
  46. data/lib/moneykit/models/email.rb +56 -63
  47. data/lib/moneykit/models/email1.rb +50 -53
  48. data/lib/moneykit/models/exchange_token_request.rb +48 -52
  49. data/lib/moneykit/models/exchange_token_response.rb +54 -64
  50. data/lib/moneykit/models/generate_access_token_response.rb +59 -73
  51. data/lib/moneykit/models/get_account_numbers_response.rb +58 -66
  52. data/lib/moneykit/models/get_account_response.rb +55 -67
  53. data/lib/moneykit/models/get_accounts_response.rb +58 -67
  54. data/lib/moneykit/models/get_institutions_response.rb +58 -67
  55. data/lib/moneykit/models/get_transactions_response.rb +81 -105
  56. data/lib/moneykit/models/get_user_accounts_response.rb +50 -58
  57. data/lib/moneykit/models/get_user_links_response.rb +50 -58
  58. data/lib/moneykit/models/get_user_transactions_response.rb +75 -95
  59. data/lib/moneykit/models/http_validation_error.rb +77 -84
  60. data/lib/moneykit/models/identity.rb +49 -49
  61. data/lib/moneykit/models/identity_link_product.rb +57 -69
  62. data/lib/moneykit/models/identity_product_settings.rb +59 -63
  63. data/lib/moneykit/models/identity_response.rb +58 -67
  64. data/lib/moneykit/models/institution.rb +85 -113
  65. data/lib/moneykit/models/institution_error_not_found_response.rb +72 -80
  66. data/lib/moneykit/models/institution_styling_response.rb +77 -93
  67. data/lib/moneykit/models/international_number.rb +54 -64
  68. data/lib/moneykit/models/introspect_client_response.rb +70 -89
  69. data/lib/moneykit/models/jwk_set.rb +51 -55
  70. data/lib/moneykit/models/link.rb +78 -100
  71. data/lib/moneykit/models/link1.rb +78 -100
  72. data/lib/moneykit/models/link2.rb +78 -100
  73. data/lib/moneykit/models/link3.rb +78 -100
  74. data/lib/moneykit/models/link4.rb +78 -100
  75. data/lib/moneykit/models/link_common.rb +82 -117
  76. data/lib/moneykit/models/link_error.rb +19 -19
  77. data/lib/moneykit/models/link_error_bad_config_response.rb +269 -0
  78. data/lib/moneykit/models/link_error_bad_state_response.rb +71 -88
  79. data/lib/moneykit/models/link_error_deleted_response.rb +72 -80
  80. data/lib/moneykit/models/link_error_forbidden_action_response.rb +69 -78
  81. data/lib/moneykit/models/link_error_not_found_response.rb +72 -80
  82. data/lib/moneykit/models/link_error_unauthorized_access_response.rb +72 -80
  83. data/lib/moneykit/models/link_permission_scope.rb +14 -15
  84. data/lib/moneykit/models/link_permissions.rb +52 -62
  85. data/lib/moneykit/models/link_products.rb +62 -78
  86. data/lib/moneykit/models/link_response.rb +95 -136
  87. data/lib/moneykit/models/link_session_customer_user.rb +65 -83
  88. data/lib/moneykit/models/link_session_customer_user_email.rb +59 -68
  89. data/lib/moneykit/models/link_session_customer_user_phone.rb +67 -82
  90. data/lib/moneykit/models/link_session_error_forbidden_config_response.rb +69 -78
  91. data/lib/moneykit/models/link_session_error_invalid_token_exchange.rb +69 -78
  92. data/lib/moneykit/models/link_session_setting_overrides.rb +64 -99
  93. data/lib/moneykit/models/link_state.rb +15 -16
  94. data/lib/moneykit/models/link_state_changed_webhook.rb +121 -148
  95. data/lib/moneykit/models/location_inner.rb +41 -46
  96. data/lib/moneykit/models/money_kit_env.rb +12 -13
  97. data/lib/moneykit/models/money_link_features.rb +62 -66
  98. data/lib/moneykit/models/moneylink_features.rb +50 -49
  99. data/lib/moneykit/models/numbers.rb +60 -73
  100. data/lib/moneykit/models/owner.rb +76 -89
  101. data/lib/moneykit/models/phone.rb +60 -68
  102. data/lib/moneykit/models/phone_number.rb +63 -74
  103. data/lib/moneykit/models/phone_number_type.rb +14 -15
  104. data/lib/moneykit/models/product.rb +14 -15
  105. data/lib/moneykit/models/products.rb +52 -64
  106. data/lib/moneykit/models/products1.rb +48 -56
  107. data/lib/moneykit/models/products_settings.rb +58 -70
  108. data/lib/moneykit/models/provider.rb +18 -17
  109. data/lib/moneykit/models/public_link_error.rb +43 -0
  110. data/lib/moneykit/models/refresh_products_request.rb +52 -65
  111. data/lib/moneykit/models/requested_link_permission.rb +60 -75
  112. data/lib/moneykit/models/response401_disconnect_links_id_delete.rb +83 -283
  113. data/lib/moneykit/models/response401_exchange_token_link_session_exchange_token_post.rb +82 -281
  114. data/lib/moneykit/models/response401_get_account_links_id_accounts_account_id_get.rb +83 -283
  115. data/lib/moneykit/models/response401_get_account_numbers_links_id_accounts_numbers_get.rb +83 -283
  116. data/lib/moneykit/models/response401_get_accounts_links_id_accounts_get.rb +83 -283
  117. data/lib/moneykit/models/response401_get_identities_links_id_identity_get.rb +83 -283
  118. data/lib/moneykit/models/response401_get_institution_institutions_institution_id_get.rb +82 -281
  119. data/lib/moneykit/models/response401_get_institution_styling_institutions_institution_id_styling_get.rb +66 -72
  120. data/lib/moneykit/models/response401_get_institutions_institutions_get.rb +82 -281
  121. data/lib/moneykit/models/response401_get_link_links_id_get.rb +83 -283
  122. data/lib/moneykit/models/response401_get_transactions_diff_links_id_transactions_sync_get.rb +83 -283
  123. data/lib/moneykit/models/response401_get_transactions_links_id_transactions_get.rb +83 -283
  124. data/lib/moneykit/models/response401_get_user_accounts_users_id_accounts_get.rb +82 -281
  125. data/lib/moneykit/models/response401_get_user_links_users_id_links_get.rb +82 -281
  126. data/lib/moneykit/models/response401_get_user_transactions_users_id_transactions_get.rb +82 -281
  127. data/lib/moneykit/models/response401_get_well_known_jwks_well_known_jwks_json_get.rb +82 -281
  128. data/lib/moneykit/models/response401_instrospect_client_auth_introspect_get.rb +82 -281
  129. data/lib/moneykit/models/response401_refresh_products_links_id_products_post.rb +83 -283
  130. data/lib/moneykit/models/response401_reset_login_links_id_reset_post.rb +102 -0
  131. data/lib/moneykit/models/response401_trigger_test_link_webhook_event_webhooks_test_link_id_post.rb +102 -0
  132. data/lib/moneykit/models/response401_update_link_links_id_patch.rb +83 -283
  133. data/lib/moneykit/models/settings.rb +61 -73
  134. data/lib/moneykit/models/supported_version.rb +11 -12
  135. data/lib/moneykit/models/transaction.rb +104 -131
  136. data/lib/moneykit/models/transaction_diff.rb +69 -78
  137. data/lib/moneykit/models/transaction_sync_response.rb +65 -87
  138. data/lib/moneykit/models/transaction_type.rb +12 -13
  139. data/lib/moneykit/models/transaction_type_filter.rb +12 -13
  140. data/lib/moneykit/models/transactions.rb +58 -57
  141. data/lib/moneykit/models/transactions1.rb +55 -63
  142. data/lib/moneykit/models/transactions_link_product.rb +57 -69
  143. data/lib/moneykit/models/transactions_product_settings.rb +67 -71
  144. data/lib/moneykit/models/update_link_request.rb +63 -69
  145. data/lib/moneykit/models/user_accounts_out.rb +40 -40
  146. data/lib/moneykit/models/user_links_out.rb +40 -40
  147. data/lib/moneykit/models/user_transactions_paged_response.rb +40 -40
  148. data/lib/moneykit/models/validation_error.rb +63 -77
  149. data/lib/moneykit/models/validation_error_location_inner.rb +101 -0
  150. data/lib/moneykit/models/webhook_link_test_event.rb +40 -0
  151. data/lib/moneykit/models/webhook_test_link_request.rb +252 -0
  152. data/lib/moneykit/models/webhook_test_link_response.rb +220 -0
  153. data/lib/moneykit/version.rb +10 -12
  154. data/lib/moneykit.rb +18 -39
  155. data/lib/plaid_compatible/money_kit_plaid_compatible/api/plaid_api.rb +738 -737
  156. data/lib/plaid_compatible/money_kit_plaid_compatible/api_client.rb +339 -340
  157. data/lib/plaid_compatible/money_kit_plaid_compatible/api_error.rb +47 -47
  158. data/lib/plaid_compatible/money_kit_plaid_compatible/configuration.rb +258 -260
  159. data/lib/plaid_compatible/money_kit_plaid_compatible/models/account_balance.rb +210 -212
  160. data/lib/plaid_compatible/money_kit_plaid_compatible/models/account_base.rb +221 -237
  161. data/lib/plaid_compatible/money_kit_plaid_compatible/models/account_identity.rb +231 -252
  162. data/lib/plaid_compatible/money_kit_plaid_compatible/models/account_subtype.rb +100 -101
  163. data/lib/plaid_compatible/money_kit_plaid_compatible/models/account_type.rb +35 -36
  164. data/lib/plaid_compatible/money_kit_plaid_compatible/models/accounts_get_request.rb +209 -211
  165. data/lib/plaid_compatible/money_kit_plaid_compatible/models/accounts_get_request_options.rb +188 -185
  166. data/lib/plaid_compatible/money_kit_plaid_compatible/models/accounts_get_response.rb +205 -210
  167. data/lib/plaid_compatible/money_kit_plaid_compatible/models/address.rb +195 -193
  168. data/lib/plaid_compatible/money_kit_plaid_compatible/models/address_data.rb +222 -226
  169. data/lib/plaid_compatible/money_kit_plaid_compatible/models/auth_get_numbers.rb +218 -226
  170. data/lib/plaid_compatible/money_kit_plaid_compatible/models/auth_get_request.rb +209 -211
  171. data/lib/plaid_compatible/money_kit_plaid_compatible/models/auth_get_request_options.rb +188 -185
  172. data/lib/plaid_compatible/money_kit_plaid_compatible/models/auth_get_response.rb +211 -222
  173. data/lib/plaid_compatible/money_kit_plaid_compatible/models/country_code.rb +32 -33
  174. data/lib/plaid_compatible/money_kit_plaid_compatible/models/email.rb +197 -198
  175. data/lib/plaid_compatible/money_kit_plaid_compatible/models/http_validation_error.rb +183 -181
  176. data/lib/plaid_compatible/money_kit_plaid_compatible/models/identity_get_request.rb +209 -211
  177. data/lib/plaid_compatible/money_kit_plaid_compatible/models/identity_get_request_options.rb +188 -185
  178. data/lib/plaid_compatible/money_kit_plaid_compatible/models/identity_get_response.rb +205 -210
  179. data/lib/plaid_compatible/money_kit_plaid_compatible/models/institution.rb +228 -232
  180. data/lib/plaid_compatible/money_kit_plaid_compatible/models/institutions_get_by_id_request.rb +216 -217
  181. data/lib/plaid_compatible/money_kit_plaid_compatible/models/institutions_get_by_id_response.rb +195 -196
  182. data/lib/plaid_compatible/money_kit_plaid_compatible/models/item.rb +251 -261
  183. data/lib/plaid_compatible/money_kit_plaid_compatible/models/item_error_webhook.rb +217 -229
  184. data/lib/plaid_compatible/money_kit_plaid_compatible/models/item_get_request.rb +205 -205
  185. data/lib/plaid_compatible/money_kit_plaid_compatible/models/item_get_response.rb +201 -205
  186. data/lib/plaid_compatible/money_kit_plaid_compatible/models/item_public_token_exchange_request.rb +205 -205
  187. data/lib/plaid_compatible/money_kit_plaid_compatible/models/item_public_token_exchange_response.rb +206 -211
  188. data/lib/plaid_compatible/money_kit_plaid_compatible/models/item_remove_request.rb +205 -205
  189. data/lib/plaid_compatible/money_kit_plaid_compatible/models/item_remove_response.rb +188 -185
  190. data/lib/plaid_compatible/money_kit_plaid_compatible/models/item_status_investments.rb +195 -193
  191. data/lib/plaid_compatible/money_kit_plaid_compatible/models/item_status_last_webhook.rb +195 -193
  192. data/lib/plaid_compatible/money_kit_plaid_compatible/models/item_status_nullable.rb +194 -198
  193. data/lib/plaid_compatible/money_kit_plaid_compatible/models/item_status_transactions.rb +195 -193
  194. data/lib/plaid_compatible/money_kit_plaid_compatible/models/link_token_create_request.rb +272 -291
  195. data/lib/plaid_compatible/money_kit_plaid_compatible/models/link_token_create_request_user.rb +225 -225
  196. data/lib/plaid_compatible/money_kit_plaid_compatible/models/link_token_create_response.rb +206 -211
  197. data/lib/plaid_compatible/money_kit_plaid_compatible/models/numbers_ach.rb +215 -221
  198. data/lib/plaid_compatible/money_kit_plaid_compatible/models/numbers_bacs.rb +206 -211
  199. data/lib/plaid_compatible/money_kit_plaid_compatible/models/numbers_eft.rb +215 -224
  200. data/lib/plaid_compatible/money_kit_plaid_compatible/models/numbers_international.rb +206 -211
  201. data/lib/plaid_compatible/money_kit_plaid_compatible/models/owner.rb +218 -226
  202. data/lib/plaid_compatible/money_kit_plaid_compatible/models/personal_finance_category.rb +197 -198
  203. data/lib/plaid_compatible/money_kit_plaid_compatible/models/phone_number.rb +206 -211
  204. data/lib/plaid_compatible/money_kit_plaid_compatible/models/plaid_error.rb +253 -266
  205. data/lib/plaid_compatible/money_kit_plaid_compatible/models/plaid_error_type.rb +43 -44
  206. data/lib/plaid_compatible/money_kit_plaid_compatible/models/products.rb +33 -34
  207. data/lib/plaid_compatible/money_kit_plaid_compatible/models/removed_transaction.rb +187 -183
  208. data/lib/plaid_compatible/money_kit_plaid_compatible/models/transaction.rb +288 -315
  209. data/lib/plaid_compatible/money_kit_plaid_compatible/models/transactions_get_request.rb +225 -235
  210. data/lib/plaid_compatible/money_kit_plaid_compatible/models/transactions_get_request_options.rb +222 -224
  211. data/lib/plaid_compatible/money_kit_plaid_compatible/models/transactions_get_response.rb +225 -236
  212. data/lib/plaid_compatible/money_kit_plaid_compatible/models/transactions_refresh_request.rb +205 -205
  213. data/lib/plaid_compatible/money_kit_plaid_compatible/models/transactions_refresh_response.rb +188 -185
  214. data/lib/plaid_compatible/money_kit_plaid_compatible/models/transactions_sync_request.rb +223 -229
  215. data/lib/plaid_compatible/money_kit_plaid_compatible/models/transactions_sync_request_options.rb +197 -193
  216. data/lib/plaid_compatible/money_kit_plaid_compatible/models/transactions_sync_response.rb +235 -252
  217. data/lib/plaid_compatible/money_kit_plaid_compatible/models/validation_error.rb +198 -207
  218. data/lib/plaid_compatible/money_kit_plaid_compatible/models/webhook_environment_values.rb +32 -33
  219. data/lib/plaid_compatible/money_kit_plaid_compatible/version.rb +14 -14
  220. data/lib/plaid_compatible/money_kit_plaid_compatible.rb +24 -24
  221. data/moneykit.gemspec +22 -25
  222. metadata +14 -5
@@ -1,322 +1,309 @@
1
- =begin
2
- #Plaid Compatibility Layer
3
-
4
- #No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
5
-
6
- The version of the OpenAPI document: 0.1.0
7
-
8
- Generated by: https://openapi-generator.tech
9
- OpenAPI Generator version: 5.1.1
10
-
11
- =end
1
+ # #Plaid Compatibility Layer
2
+ #
3
+ # No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
4
+ #
5
+ # The version of the OpenAPI document: 0.1.0
6
+ #
7
+ # Generated by: https://openapi-generator.tech
8
+ # OpenAPI Generator version: 5.1.1
9
+ #
12
10
 
13
11
  require 'date'
14
12
  require 'time'
15
13
 
16
- module MoneyKit::PlaidCompatible
17
- # We use standard HTTP response codes for success and failure notifications, and our errors are further classified by `error_type`. In general, 200 HTTP codes correspond to success, 40X codes are for developer- or user-related failures, and 50X codes are for Plaid-related issues. An Item with a non-`null` error object will only be part of an API response when calling `/item/get` to view Item status. Otherwise, error fields will be `null` if no error has occurred; if an error has occurred, an error code will be returned instead.
18
- class PlaidError
19
- attr_accessor :error_type
20
-
21
- # The particular error code. Safe for programmatic use.
22
- attr_accessor :error_code
23
-
24
- # A developer-friendly representation of the error code. This may change over time and is not safe for programmatic use.
25
- attr_accessor :error_message
14
+ module MoneyKit
15
+ module PlaidCompatible
16
+ # We use standard HTTP response codes for success and failure notifications, and our errors are further classified by `error_type`. In general, 200 HTTP codes correspond to success, 40X codes are for developer- or user-related failures, and 50X codes are for Plaid-related issues. An Item with a non-`null` error object will only be part of an API response when calling `/item/get` to view Item status. Otherwise, error fields will be `null` if no error has occurred; if an error has occurred, an error code will be returned instead.
17
+ class PlaidError
18
+ attr_accessor :error_type
19
+
20
+ # The particular error code. Safe for programmatic use.
21
+ attr_accessor :error_code
22
+
23
+ # A developer-friendly representation of the error code. This may change over time and is not safe for programmatic use.
24
+ attr_accessor :error_message
25
+
26
+ # A user-friendly representation of the error code. `null` if the error is not related to user action. This may change over time and is not safe for programmatic use.
27
+ attr_accessor :display_message
28
+
29
+ # A unique ID identifying the request, to be used for troubleshooting purposes. This field will be omitted in errors provided by webhooks.
30
+ attr_accessor :request_id
31
+
32
+ # In the Assets product, a request can pertain to more than one Item. If an error is returned for such a request, `causes` will return an array of errors containing a breakdown of these errors on the individual Item level, if any can be identified. `causes` will only be provided for the `error_type` `ASSET_REPORT_ERROR`. `causes` will also not be populated inside an error nested within a `warning` object.
33
+ attr_accessor :causes
34
+
35
+ # The HTTP status code associated with the error. This will only be returned in the response body when the error information is provided via a webhook.
36
+ attr_accessor :status
37
+
38
+ # The URL of a Plaid documentation page with more information about the error
39
+ attr_accessor :documentation_url
40
+
41
+ # Suggested steps for resolving the error
42
+ attr_accessor :suggested_action
43
+
44
+ # Attribute mapping from ruby-style variable name to JSON key.
45
+ def self.attribute_map
46
+ {
47
+ 'error_type': :error_type,
48
+ 'error_code': :error_code,
49
+ 'error_message': :error_message,
50
+ 'display_message': :display_message,
51
+ 'request_id': :request_id,
52
+ 'causes': :causes,
53
+ 'status': :status,
54
+ 'documentation_url': :documentation_url,
55
+ 'suggested_action': :suggested_action
56
+ }
57
+ end
26
58
 
27
- # A user-friendly representation of the error code. `null` if the error is not related to user action. This may change over time and is not safe for programmatic use.
28
- attr_accessor :display_message
59
+ # Returns all the JSON keys this model knows about
60
+ def self.acceptable_attributes
61
+ attribute_map.values
62
+ end
29
63
 
30
- # A unique ID identifying the request, to be used for troubleshooting purposes. This field will be omitted in errors provided by webhooks.
31
- attr_accessor :request_id
64
+ # Attribute type mapping.
65
+ def self.openapi_types
66
+ {
67
+ 'error_type': :PlaidErrorType,
68
+ 'error_code': :String,
69
+ 'error_message': :String,
70
+ 'display_message': :String,
71
+ 'request_id': :String,
72
+ 'causes': :'Array<Object>',
73
+ 'status': :Float,
74
+ 'documentation_url': :String,
75
+ 'suggested_action': :String
76
+ }
77
+ end
32
78
 
33
- # In the Assets product, a request can pertain to more than one Item. If an error is returned for such a request, `causes` will return an array of errors containing a breakdown of these errors on the individual Item level, if any can be identified. `causes` will only be provided for the `error_type` `ASSET_REPORT_ERROR`. `causes` will also not be populated inside an error nested within a `warning` object.
34
- attr_accessor :causes
79
+ # List of attributes with nullable: true
80
+ def self.openapi_nullable
81
+ Set.new(%i[
82
+ display_message
83
+ request_id
84
+ causes
85
+ status
86
+ documentation_url
87
+ suggested_action
88
+ ])
89
+ end
35
90
 
36
- # The HTTP status code associated with the error. This will only be returned in the response body when the error information is provided via a webhook.
37
- attr_accessor :status
91
+ # Initializes the object
92
+ # @param [Hash] attributes Model attributes in the form of hash
93
+ def initialize(attributes = {})
94
+ unless attributes.is_a?(Hash)
95
+ raise ArgumentError,
96
+ 'The input argument (attributes) must be a hash in `MoneyKit::PlaidCompatible::PlaidError` initialize method'
97
+ end
38
98
 
39
- # The URL of a Plaid documentation page with more information about the error
40
- attr_accessor :documentation_url
99
+ # check to see if the attribute exists and convert string to symbol for hash key
100
+ attributes = attributes.each_with_object({}) do |(k, v), h|
101
+ unless self.class.attribute_map.key?(k.to_sym)
102
+ raise ArgumentError,
103
+ "`#{k}` is not a valid attribute in `MoneyKit::PlaidCompatible::PlaidError`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
104
+ end
41
105
 
42
- # Suggested steps for resolving the error
43
- attr_accessor :suggested_action
106
+ h[k.to_sym] = v
107
+ end
44
108
 
45
- # Attribute mapping from ruby-style variable name to JSON key.
46
- def self.attribute_map
47
- {
48
- :'error_type' => :'error_type',
49
- :'error_code' => :'error_code',
50
- :'error_message' => :'error_message',
51
- :'display_message' => :'display_message',
52
- :'request_id' => :'request_id',
53
- :'causes' => :'causes',
54
- :'status' => :'status',
55
- :'documentation_url' => :'documentation_url',
56
- :'suggested_action' => :'suggested_action'
57
- }
58
- end
109
+ self.error_type = attributes[:error_type] if attributes.key?(:error_type)
59
110
 
60
- # Returns all the JSON keys this model knows about
61
- def self.acceptable_attributes
62
- attribute_map.values
63
- end
111
+ self.error_code = attributes[:error_code] if attributes.key?(:error_code)
64
112
 
65
- # Attribute type mapping.
66
- def self.openapi_types
67
- {
68
- :'error_type' => :'PlaidErrorType',
69
- :'error_code' => :'String',
70
- :'error_message' => :'String',
71
- :'display_message' => :'String',
72
- :'request_id' => :'String',
73
- :'causes' => :'Array<Object>',
74
- :'status' => :'Float',
75
- :'documentation_url' => :'String',
76
- :'suggested_action' => :'String'
77
- }
78
- end
113
+ self.error_message = attributes[:error_message] if attributes.key?(:error_message)
79
114
 
80
- # List of attributes with nullable: true
81
- def self.openapi_nullable
82
- Set.new([
83
- :'display_message',
84
- :'request_id',
85
- :'causes',
86
- :'status',
87
- :'documentation_url',
88
- :'suggested_action'
89
- ])
90
- end
115
+ self.display_message = attributes[:display_message] if attributes.key?(:display_message)
91
116
 
92
- # Initializes the object
93
- # @param [Hash] attributes Model attributes in the form of hash
94
- def initialize(attributes = {})
95
- if (!attributes.is_a?(Hash))
96
- fail ArgumentError, "The input argument (attributes) must be a hash in `MoneyKit::PlaidCompatible::PlaidError` initialize method"
97
- end
117
+ self.request_id = attributes[:request_id] if attributes.key?(:request_id)
98
118
 
99
- # check to see if the attribute exists and convert string to symbol for hash key
100
- attributes = attributes.each_with_object({}) { |(k, v), h|
101
- if (!self.class.attribute_map.key?(k.to_sym))
102
- fail ArgumentError, "`#{k}` is not a valid attribute in `MoneyKit::PlaidCompatible::PlaidError`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
119
+ if attributes.key?(:causes) && (value = attributes[:causes]).is_a?(Array)
120
+ self.causes = value
103
121
  end
104
- h[k.to_sym] = v
105
- }
106
122
 
107
- if attributes.key?(:'error_type')
108
- self.error_type = attributes[:'error_type']
109
- end
123
+ self.status = attributes[:status] if attributes.key?(:status)
110
124
 
111
- if attributes.key?(:'error_code')
112
- self.error_code = attributes[:'error_code']
113
- end
125
+ self.documentation_url = attributes[:documentation_url] if attributes.key?(:documentation_url)
114
126
 
115
- if attributes.key?(:'error_message')
116
- self.error_message = attributes[:'error_message']
117
- end
127
+ return unless attributes.key?(:suggested_action)
118
128
 
119
- if attributes.key?(:'display_message')
120
- self.display_message = attributes[:'display_message']
129
+ self.suggested_action = attributes[:suggested_action]
121
130
  end
122
131
 
123
- if attributes.key?(:'request_id')
124
- self.request_id = attributes[:'request_id']
125
- end
132
+ # Show invalid properties with the reasons. Usually used together with valid?
133
+ # @return Array for valid properties with the reasons
134
+ def list_invalid_properties
135
+ invalid_properties = []
136
+ invalid_properties.push('invalid value for "error_type", error_type cannot be nil.') if @error_type.nil?
126
137
 
127
- if attributes.key?(:'causes')
128
- if (value = attributes[:'causes']).is_a?(Array)
129
- self.causes = value
138
+ invalid_properties.push('invalid value for "error_code", error_code cannot be nil.') if @error_code.nil?
139
+
140
+ if @error_message.nil?
141
+ invalid_properties.push('invalid value for "error_message", error_message cannot be nil.')
130
142
  end
131
- end
132
143
 
133
- if attributes.key?(:'status')
134
- self.status = attributes[:'status']
144
+ invalid_properties
135
145
  end
136
146
 
137
- if attributes.key?(:'documentation_url')
138
- self.documentation_url = attributes[:'documentation_url']
139
- end
147
+ # Check to see if the all the properties in the model are valid
148
+ # @return true if the model is valid
149
+ def valid?
150
+ return false if @error_type.nil?
151
+ return false if @error_code.nil?
152
+ return false if @error_message.nil?
140
153
 
141
- if attributes.key?(:'suggested_action')
142
- self.suggested_action = attributes[:'suggested_action']
154
+ true
143
155
  end
144
- end
145
156
 
146
- # Show invalid properties with the reasons. Usually used together with valid?
147
- # @return Array for valid properties with the reasons
148
- def list_invalid_properties
149
- invalid_properties = Array.new
150
- if @error_type.nil?
151
- invalid_properties.push('invalid value for "error_type", error_type cannot be nil.')
157
+ # Checks equality by comparing each attribute.
158
+ # @param [Object] Object to be compared
159
+ def ==(other)
160
+ return true if equal?(other)
161
+
162
+ self.class == other.class &&
163
+ error_type == other.error_type &&
164
+ error_code == other.error_code &&
165
+ error_message == other.error_message &&
166
+ display_message == other.display_message &&
167
+ request_id == other.request_id &&
168
+ causes == other.causes &&
169
+ status == other.status &&
170
+ documentation_url == other.documentation_url &&
171
+ suggested_action == other.suggested_action
152
172
  end
153
173
 
154
- if @error_code.nil?
155
- invalid_properties.push('invalid value for "error_code", error_code cannot be nil.')
174
+ # @see the `==` method
175
+ # @param [Object] Object to be compared
176
+ def eql?(other)
177
+ self == other
156
178
  end
157
179
 
158
- if @error_message.nil?
159
- invalid_properties.push('invalid value for "error_message", error_message cannot be nil.')
180
+ # Calculates hash code according to all attributes.
181
+ # @return [Integer] Hash code
182
+ def hash
183
+ [error_type, error_code, error_message, display_message, request_id, causes, status, documentation_url,
184
+ suggested_action].hash
160
185
  end
161
186
 
162
- invalid_properties
163
- end
164
-
165
- # Check to see if the all the properties in the model are valid
166
- # @return true if the model is valid
167
- def valid?
168
- return false if @error_type.nil?
169
- return false if @error_code.nil?
170
- return false if @error_message.nil?
171
- true
172
- end
173
-
174
- # Checks equality by comparing each attribute.
175
- # @param [Object] Object to be compared
176
- def ==(o)
177
- return true if self.equal?(o)
178
- self.class == o.class &&
179
- error_type == o.error_type &&
180
- error_code == o.error_code &&
181
- error_message == o.error_message &&
182
- display_message == o.display_message &&
183
- request_id == o.request_id &&
184
- causes == o.causes &&
185
- status == o.status &&
186
- documentation_url == o.documentation_url &&
187
- suggested_action == o.suggested_action
188
- end
189
-
190
- # @see the `==` method
191
- # @param [Object] Object to be compared
192
- def eql?(o)
193
- self == o
194
- end
195
-
196
- # Calculates hash code according to all attributes.
197
- # @return [Integer] Hash code
198
- def hash
199
- [error_type, error_code, error_message, display_message, request_id, causes, status, documentation_url, suggested_action].hash
200
- end
201
-
202
- # Builds the object from hash
203
- # @param [Hash] attributes Model attributes in the form of hash
204
- # @return [Object] Returns the model itself
205
- def self.build_from_hash(attributes)
206
- new.build_from_hash(attributes)
207
- end
187
+ # Builds the object from hash
188
+ # @param [Hash] attributes Model attributes in the form of hash
189
+ # @return [Object] Returns the model itself
190
+ def self.build_from_hash(attributes)
191
+ new.build_from_hash(attributes)
192
+ end
208
193
 
209
- # Builds the object from hash
210
- # @param [Hash] attributes Model attributes in the form of hash
211
- # @return [Object] Returns the model itself
212
- def build_from_hash(attributes)
213
- return nil unless attributes.is_a?(Hash)
214
- self.class.openapi_types.each_pair do |key, type|
215
- if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
216
- self.send("#{key}=", nil)
217
- elsif type =~ /\AArray<(.*)>/i
218
- # check to ensure the input is an array given that the attribute
219
- # is documented as an array but the input is not
220
- if attributes[self.class.attribute_map[key]].is_a?(Array)
221
- self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
194
+ # Builds the object from hash
195
+ # @param [Hash] attributes Model attributes in the form of hash
196
+ # @return [Object] Returns the model itself
197
+ def build_from_hash(attributes)
198
+ return nil unless attributes.is_a?(Hash)
199
+
200
+ self.class.openapi_types.each_pair do |key, type|
201
+ if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
202
+ send("#{key}=", nil)
203
+ elsif type =~ /\AArray<(.*)>/i
204
+ # check to ensure the input is an array given that the attribute
205
+ # is documented as an array but the input is not
206
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
207
+ send("#{key}=", attributes[self.class.attribute_map[key]].map do |v|
208
+ _deserialize(::Regexp.last_match(1), v)
209
+ end)
210
+ end
211
+ elsif !attributes[self.class.attribute_map[key]].nil?
212
+ send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
222
213
  end
223
- elsif !attributes[self.class.attribute_map[key]].nil?
224
- self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
225
214
  end
226
- end
227
215
 
228
- self
229
- end
216
+ self
217
+ end
230
218
 
231
- # Deserializes the data based on type
232
- # @param string type Data type
233
- # @param string value Value to be deserialized
234
- # @return [Object] Deserialized data
235
- def _deserialize(type, value)
236
- case type.to_sym
237
- when :Time
238
- Time.parse(value)
239
- when :Date
240
- Date.parse(value)
241
- when :String
242
- value.to_s
243
- when :Integer
244
- value.to_i
245
- when :Float
246
- value.to_f
247
- when :Boolean
248
- if value.to_s =~ /\A(true|t|yes|y|1)\z/i
249
- true
250
- else
251
- false
252
- end
253
- when :Object
254
- # generic object (usually a Hash), return directly
255
- value
256
- when /\AArray<(?<inner_type>.+)>\z/
257
- inner_type = Regexp.last_match[:inner_type]
258
- value.map { |v| _deserialize(inner_type, v) }
259
- when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
260
- k_type = Regexp.last_match[:k_type]
261
- v_type = Regexp.last_match[:v_type]
262
- {}.tap do |hash|
263
- value.each do |k, v|
264
- hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
219
+ # Deserializes the data based on type
220
+ # @param string type Data type
221
+ # @param string value Value to be deserialized
222
+ # @return [Object] Deserialized data
223
+ def _deserialize(type, value)
224
+ case type.to_sym
225
+ when :Time
226
+ Time.parse(value)
227
+ when :Date
228
+ Date.parse(value)
229
+ when :String
230
+ value.to_s
231
+ when :Integer
232
+ value.to_i
233
+ when :Float
234
+ value.to_f
235
+ when :Boolean
236
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
237
+ true
238
+ else
239
+ false
265
240
  end
241
+ when :Object
242
+ # generic object (usually a Hash), return directly
243
+ value
244
+ when /\AArray<(?<inner_type>.+)>\z/
245
+ inner_type = Regexp.last_match[:inner_type]
246
+ value.map { |v| _deserialize(inner_type, v) }
247
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
248
+ k_type = Regexp.last_match[:k_type]
249
+ v_type = Regexp.last_match[:v_type]
250
+ {}.tap do |hash|
251
+ value.each do |k, v|
252
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
253
+ end
254
+ end
255
+ else # model
256
+ # models (e.g. Pet) or oneOf
257
+ klass = MoneyKit::PlaidCompatible.const_get(type)
258
+ klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
266
259
  end
267
- else # model
268
- # models (e.g. Pet) or oneOf
269
- klass = MoneyKit::PlaidCompatible.const_get(type)
270
- klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
271
260
  end
272
- end
273
261
 
274
- # Returns the string representation of the object
275
- # @return [String] String presentation of the object
276
- def to_s
277
- to_hash.to_s
278
- end
262
+ # Returns the string representation of the object
263
+ # @return [String] String presentation of the object
264
+ def to_s
265
+ to_hash.to_s
266
+ end
279
267
 
280
- # to_body is an alias to to_hash (backward compatibility)
281
- # @return [Hash] Returns the object in the form of hash
282
- def to_body
283
- to_hash
284
- end
268
+ # to_body is an alias to to_hash (backward compatibility)
269
+ # @return [Hash] Returns the object in the form of hash
270
+ def to_body
271
+ to_hash
272
+ end
285
273
 
286
- # Returns the object in the form of hash
287
- # @return [Hash] Returns the object in the form of hash
288
- def to_hash
289
- hash = {}
290
- self.class.attribute_map.each_pair do |attr, param|
291
- value = self.send(attr)
292
- if value.nil?
293
- is_nullable = self.class.openapi_nullable.include?(attr)
294
- next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
295
- end
274
+ # Returns the object in the form of hash
275
+ # @return [Hash] Returns the object in the form of hash
276
+ def to_hash
277
+ hash = {}
278
+ self.class.attribute_map.each_pair do |attr, param|
279
+ value = send(attr)
280
+ if value.nil?
281
+ is_nullable = self.class.openapi_nullable.include?(attr)
282
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
283
+ end
296
284
 
297
- hash[param] = _to_hash(value)
285
+ hash[param] = _to_hash(value)
286
+ end
287
+ hash
298
288
  end
299
- hash
300
- end
301
289
 
302
- # Outputs non-array value in the form of hash
303
- # For object, use to_hash. Otherwise, just return the value
304
- # @param [Object] value Any valid value
305
- # @return [Hash] Returns the value in the form of hash
306
- def _to_hash(value)
307
- if value.is_a?(Array)
308
- value.compact.map { |v| _to_hash(v) }
309
- elsif value.is_a?(Hash)
310
- {}.tap do |hash|
311
- value.each { |k, v| hash[k] = _to_hash(v) }
290
+ # Outputs non-array value in the form of hash
291
+ # For object, use to_hash. Otherwise, just return the value
292
+ # @param [Object] value Any valid value
293
+ # @return [Hash] Returns the value in the form of hash
294
+ def _to_hash(value)
295
+ if value.is_a?(Array)
296
+ value.compact.map { |v| _to_hash(v) }
297
+ elsif value.is_a?(Hash)
298
+ {}.tap do |hash|
299
+ value.each { |k, v| hash[k] = _to_hash(v) }
300
+ end
301
+ elsif value.respond_to? :to_hash
302
+ value.to_hash
303
+ else
304
+ value
312
305
  end
313
- elsif value.respond_to? :to_hash
314
- value.to_hash
315
- else
316
- value
317
306
  end
318
307
  end
319
-
320
308
  end
321
-
322
309
  end