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,295 +13,297 @@ require 'time'
13
13
 
14
14
  module MoneyKit
15
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
58
-
59
- # Returns all the JSON keys this model knows about
60
- def self.acceptable_attributes
61
- attribute_map.values
62
- end
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
63
58
 
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
59
+ # Returns all the JSON keys this model knows about
60
+ def self.acceptable_attributes
61
+ attribute_map.values
62
+ end
78
63
 
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
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
90
78
 
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'
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
+ ])
97
89
  end
98
90
 
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)
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)
102
95
  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
96
+ 'The input argument (attributes) must be a hash in `MoneyKit::PlaidCompatible::PlaidError` initialize method'
104
97
  end
105
98
 
106
- h[k.to_sym] = v
107
- end
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
108
105
 
109
- self.error_type = attributes[:error_type] if attributes.key?(:error_type)
106
+ h[k.to_sym] = v
107
+ end
110
108
 
111
- self.error_code = attributes[:error_code] if attributes.key?(:error_code)
109
+ self.error_type = attributes[:error_type] if attributes.key?(:error_type)
112
110
 
113
- self.error_message = attributes[:error_message] if attributes.key?(:error_message)
111
+ self.error_code = attributes[:error_code] if attributes.key?(:error_code)
114
112
 
115
- self.display_message = attributes[:display_message] if attributes.key?(:display_message)
113
+ self.error_message = attributes[:error_message] if attributes.key?(:error_message)
116
114
 
117
- self.request_id = attributes[:request_id] if attributes.key?(:request_id)
115
+ self.display_message = attributes[:display_message] if attributes.key?(:display_message)
118
116
 
119
- if attributes.key?(:causes) && (value = attributes[:causes]).is_a?(Array)
120
- self.causes = value
121
- end
117
+ self.request_id = attributes[:request_id] if attributes.key?(:request_id)
122
118
 
123
- self.status = attributes[:status] if attributes.key?(:status)
119
+ if attributes.key?(:causes) && (value = attributes[:causes]).is_a?(Array)
120
+ self.causes = value
121
+ end
124
122
 
125
- self.documentation_url = attributes[:documentation_url] if attributes.key?(:documentation_url)
123
+ self.status = attributes[:status] if attributes.key?(:status)
126
124
 
127
- return unless attributes.key?(:suggested_action)
125
+ self.documentation_url = attributes[:documentation_url] if attributes.key?(:documentation_url)
128
126
 
129
- self.suggested_action = attributes[:suggested_action]
130
- end
127
+ return unless attributes.key?(:suggested_action)
131
128
 
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?
129
+ self.suggested_action = attributes[:suggested_action]
130
+ end
137
131
 
138
- invalid_properties.push('invalid value for "error_code", error_code cannot be nil.') if @error_code.nil?
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?
139
137
 
140
- invalid_properties.push('invalid value for "error_message", error_message cannot be nil.') if @error_message.nil?
138
+ invalid_properties.push('invalid value for "error_code", error_code cannot be nil.') if @error_code.nil?
141
139
 
142
- invalid_properties
143
- end
140
+ if @error_message.nil?
141
+ invalid_properties.push('invalid value for "error_message", error_message cannot be nil.')
142
+ end
144
143
 
145
- # Check to see if the all the properties in the model are valid
146
- # @return true if the model is valid
147
- def valid?
148
- return false if @error_type.nil?
149
- return false if @error_code.nil?
150
- return false if @error_message.nil?
144
+ invalid_properties
145
+ end
151
146
 
152
- true
153
- 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?
154
153
 
155
- # Checks equality by comparing each attribute.
156
- # @param [Object] Object to be compared
157
- def ==(other)
158
- return true if equal?(other)
159
-
160
- self.class == other.class &&
161
- error_type == other.error_type &&
162
- error_code == other.error_code &&
163
- error_message == other.error_message &&
164
- display_message == other.display_message &&
165
- request_id == other.request_id &&
166
- causes == other.causes &&
167
- status == other.status &&
168
- documentation_url == other.documentation_url &&
169
- suggested_action == other.suggested_action
170
- end
154
+ true
155
+ end
171
156
 
172
- # @see the `==` method
173
- # @param [Object] Object to be compared
174
- def eql?(other)
175
- self == other
176
- end
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
172
+ end
177
173
 
178
- # Calculates hash code according to all attributes.
179
- # @return [Integer] Hash code
180
- def hash
181
- [error_type, error_code, error_message, display_message, request_id, causes, status, documentation_url,
182
- suggested_action].hash
183
- end
174
+ # @see the `==` method
175
+ # @param [Object] Object to be compared
176
+ def eql?(other)
177
+ self == other
178
+ end
184
179
 
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
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
185
+ end
191
186
 
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)
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
193
+
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]]))
208
213
  end
209
- elsif !attributes[self.class.attribute_map[key]].nil?
210
- send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
211
214
  end
212
- end
213
215
 
214
- self
215
- end
216
+ self
217
+ end
216
218
 
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
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)
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
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
251
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)
252
259
  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)
257
260
  end
258
- end
259
261
 
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
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
265
267
 
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
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
271
273
 
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
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
282
284
 
283
- hash[param] = _to_hash(value)
285
+ hash[param] = _to_hash(value)
286
+ end
287
+ hash
284
288
  end
285
- hash
286
- end
287
289
 
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) }
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
298
305
  end
299
- elsif value.respond_to? :to_hash
300
- value.to_hash
301
- else
302
- value
303
306
  end
304
307
  end
305
308
  end
306
- end
307
309
  end
@@ -13,38 +13,38 @@ require 'time'
13
13
 
14
14
  module MoneyKit
15
15
  module PlaidCompatible
16
- class PlaidErrorType
17
- INVALID_REQUEST = 'INVALID_REQUEST'.freeze
18
- INVALID_RESULT = 'INVALID_RESULT'.freeze
19
- INVALID_INPUT = 'INVALID_INPUT'.freeze
20
- INSTITUTION_ERROR = 'INSTITUTION_ERROR'.freeze
21
- RATE_LIMIT_EXCEEDED = 'RATE_LIMIT_EXCEEDED'.freeze
22
- API_ERROR = 'API_ERROR'.freeze
23
- ITEM_ERROR = 'ITEM_ERROR'.freeze
24
- ASSET_REPORT_ERROR = 'ASSET_REPORT_ERROR'.freeze
25
- RECAPTCHA_ERROR = 'RECAPTCHA_ERROR'.freeze
26
- OAUTH_ERROR = 'OAUTH_ERROR'.freeze
27
- PAYMENT_ERROR = 'PAYMENT_ERROR'.freeze
28
- BANK_TRANSFER_ERROR = 'BANK_TRANSFER_ERROR'.freeze
29
- INCOME_VERIFICATION_ERROR = 'INCOME_VERIFICATION_ERROR'.freeze
30
- MICRODEPOSITS_ERROR = 'MICRODEPOSITS_ERROR'.freeze
16
+ class PlaidErrorType
17
+ INVALID_REQUEST = 'INVALID_REQUEST'.freeze
18
+ INVALID_RESULT = 'INVALID_RESULT'.freeze
19
+ INVALID_INPUT = 'INVALID_INPUT'.freeze
20
+ INSTITUTION_ERROR = 'INSTITUTION_ERROR'.freeze
21
+ RATE_LIMIT_EXCEEDED = 'RATE_LIMIT_EXCEEDED'.freeze
22
+ API_ERROR = 'API_ERROR'.freeze
23
+ ITEM_ERROR = 'ITEM_ERROR'.freeze
24
+ ASSET_REPORT_ERROR = 'ASSET_REPORT_ERROR'.freeze
25
+ RECAPTCHA_ERROR = 'RECAPTCHA_ERROR'.freeze
26
+ OAUTH_ERROR = 'OAUTH_ERROR'.freeze
27
+ PAYMENT_ERROR = 'PAYMENT_ERROR'.freeze
28
+ BANK_TRANSFER_ERROR = 'BANK_TRANSFER_ERROR'.freeze
29
+ INCOME_VERIFICATION_ERROR = 'INCOME_VERIFICATION_ERROR'.freeze
30
+ MICRODEPOSITS_ERROR = 'MICRODEPOSITS_ERROR'.freeze
31
31
 
32
- # Builds the enum from string
33
- # @param [String] The enum value in the form of the string
34
- # @return [String] The enum value
35
- def self.build_from_hash(value)
36
- new.build_from_hash(value)
37
- end
32
+ # Builds the enum from string
33
+ # @param [String] The enum value in the form of the string
34
+ # @return [String] The enum value
35
+ def self.build_from_hash(value)
36
+ new.build_from_hash(value)
37
+ end
38
38
 
39
- # Builds the enum from string
40
- # @param [String] The enum value in the form of the string
41
- # @return [String] The enum value
42
- def build_from_hash(value)
43
- # We do not validate that the value is one of the enums set in the OpenAPI
44
- # file because we want to be able to add to our list of enums without
45
- # breaking this client library.
46
- value
39
+ # Builds the enum from string
40
+ # @param [String] The enum value in the form of the string
41
+ # @return [String] The enum value
42
+ def build_from_hash(value)
43
+ # We do not validate that the value is one of the enums set in the OpenAPI
44
+ # file because we want to be able to add to our list of enums without
45
+ # breaking this client library.
46
+ value
47
+ end
47
48
  end
48
49
  end
49
- end
50
50
  end