moneykit 0.0.3 → 0.0.5

Sign up to get free protection for your applications and to get access to all the features.
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,273 +13,273 @@ require 'time'
13
13
 
14
14
  module MoneyKit
15
15
  module PlaidCompatible
16
- # Identity information about an account
17
- class AccountIdentity
18
- # Plaid’s unique identifier for the account. This value will not change unless Plaid can't reconcile the account with the data returned by the financial institution. This may occur, for example, when the name of the account changes. If this happens a new `account_id` will be assigned to the account. The `account_id` can also change if the `access_token` is deleted and the same credentials that were used to generate that `access_token` are used to generate a new `access_token` on a later date. In that case, the new `account_id` will be different from the old `account_id`. If an account with a specific `account_id` disappears instead of changing, the account is likely closed. Closed accounts are not returned by the Plaid API. Like all Plaid identifiers, the `account_id` is case sensitive.
19
- attr_accessor :account_id
20
-
21
- attr_accessor :balances, :type, :subtype
22
-
23
- # The last 2-4 alphanumeric characters of an account's official account number. Note that the mask may be non-unique between an Item's accounts, and it may also not match the mask that the bank displays to the user.
24
- attr_accessor :mask
25
-
26
- # The name of the account, either assigned by the user or by the financial institution itself
27
- attr_accessor :name
28
-
29
- # Data returned by the financial institution about the account owner or owners. Only returned by Identity or Assets endpoints. For business accounts, the name reported may be either the name of the individual or the name of the business, depending on the institution. Multiple owners on a single account will be represented in the same `owner` object, not in multiple owner objects within the array. In API versions 2018-05-22 and earlier, the `owners` object is not returned, and instead identity information is returned in the top level `identity` object. For more details, see [Plaid API versioning](https://plaid.com/docs/api/versioning/#version-2019-05-29)
30
- attr_accessor :owners
31
-
32
- # Attribute mapping from ruby-style variable name to JSON key.
33
- def self.attribute_map
34
- {
35
- 'account_id': :account_id,
36
- 'balances': :balances,
37
- 'mask': :mask,
38
- 'name': :name,
39
- 'type': :type,
40
- 'subtype': :subtype,
41
- 'owners': :owners
42
- }
43
- end
44
-
45
- # Returns all the JSON keys this model knows about
46
- def self.acceptable_attributes
47
- attribute_map.values
48
- end
16
+ # Identity information about an account
17
+ class AccountIdentity
18
+ # Plaid’s unique identifier for the account. This value will not change unless Plaid can't reconcile the account with the data returned by the financial institution. This may occur, for example, when the name of the account changes. If this happens a new `account_id` will be assigned to the account. The `account_id` can also change if the `access_token` is deleted and the same credentials that were used to generate that `access_token` are used to generate a new `access_token` on a later date. In that case, the new `account_id` will be different from the old `account_id`. If an account with a specific `account_id` disappears instead of changing, the account is likely closed. Closed accounts are not returned by the Plaid API. Like all Plaid identifiers, the `account_id` is case sensitive.
19
+ attr_accessor :account_id
20
+
21
+ attr_accessor :balances, :type, :subtype
22
+
23
+ # The last 2-4 alphanumeric characters of an account's official account number. Note that the mask may be non-unique between an Item's accounts, and it may also not match the mask that the bank displays to the user.
24
+ attr_accessor :mask
25
+
26
+ # The name of the account, either assigned by the user or by the financial institution itself
27
+ attr_accessor :name
28
+
29
+ # Data returned by the financial institution about the account owner or owners. Only returned by Identity or Assets endpoints. For business accounts, the name reported may be either the name of the individual or the name of the business, depending on the institution. Multiple owners on a single account will be represented in the same `owner` object, not in multiple owner objects within the array. In API versions 2018-05-22 and earlier, the `owners` object is not returned, and instead identity information is returned in the top level `identity` object. For more details, see [Plaid API versioning](https://plaid.com/docs/api/versioning/#version-2019-05-29)
30
+ attr_accessor :owners
31
+
32
+ # Attribute mapping from ruby-style variable name to JSON key.
33
+ def self.attribute_map
34
+ {
35
+ 'account_id': :account_id,
36
+ 'balances': :balances,
37
+ 'mask': :mask,
38
+ 'name': :name,
39
+ 'type': :type,
40
+ 'subtype': :subtype,
41
+ 'owners': :owners
42
+ }
43
+ end
49
44
 
50
- # Attribute type mapping.
51
- def self.openapi_types
52
- {
53
- 'account_id': :String,
54
- 'balances': :AccountBalance,
55
- 'mask': :String,
56
- 'name': :String,
57
- 'type': :AccountType,
58
- 'subtype': :AccountSubtype,
59
- 'owners': :'Array<Owner>'
60
- }
61
- end
45
+ # Returns all the JSON keys this model knows about
46
+ def self.acceptable_attributes
47
+ attribute_map.values
48
+ end
62
49
 
63
- # List of attributes with nullable: true
64
- def self.openapi_nullable
65
- Set.new(%i[
66
- mask
67
- subtype
68
- ])
69
- end
50
+ # Attribute type mapping.
51
+ def self.openapi_types
52
+ {
53
+ 'account_id': :String,
54
+ 'balances': :AccountBalance,
55
+ 'mask': :String,
56
+ 'name': :String,
57
+ 'type': :AccountType,
58
+ 'subtype': :AccountSubtype,
59
+ 'owners': :'Array<Owner>'
60
+ }
61
+ end
70
62
 
71
- # Initializes the object
72
- # @param [Hash] attributes Model attributes in the form of hash
73
- def initialize(attributes = {})
74
- unless attributes.is_a?(Hash)
75
- raise ArgumentError,
76
- 'The input argument (attributes) must be a hash in `MoneyKit::PlaidCompatible::AccountIdentity` initialize method'
63
+ # List of attributes with nullable: true
64
+ def self.openapi_nullable
65
+ Set.new(%i[
66
+ mask
67
+ subtype
68
+ ])
77
69
  end
78
70
 
79
- # check to see if the attribute exists and convert string to symbol for hash key
80
- attributes = attributes.each_with_object({}) do |(k, v), h|
81
- unless self.class.attribute_map.key?(k.to_sym)
71
+ # Initializes the object
72
+ # @param [Hash] attributes Model attributes in the form of hash
73
+ def initialize(attributes = {})
74
+ unless attributes.is_a?(Hash)
82
75
  raise ArgumentError,
83
- "`#{k}` is not a valid attribute in `MoneyKit::PlaidCompatible::AccountIdentity`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
76
+ 'The input argument (attributes) must be a hash in `MoneyKit::PlaidCompatible::AccountIdentity` initialize method'
84
77
  end
85
78
 
86
- h[k.to_sym] = v
87
- end
79
+ # check to see if the attribute exists and convert string to symbol for hash key
80
+ attributes = attributes.each_with_object({}) do |(k, v), h|
81
+ unless self.class.attribute_map.key?(k.to_sym)
82
+ raise ArgumentError,
83
+ "`#{k}` is not a valid attribute in `MoneyKit::PlaidCompatible::AccountIdentity`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
84
+ end
88
85
 
89
- self.account_id = attributes[:account_id] if attributes.key?(:account_id)
86
+ h[k.to_sym] = v
87
+ end
90
88
 
91
- self.balances = attributes[:balances] if attributes.key?(:balances)
89
+ self.account_id = attributes[:account_id] if attributes.key?(:account_id)
92
90
 
93
- self.mask = attributes[:mask] if attributes.key?(:mask)
91
+ self.balances = attributes[:balances] if attributes.key?(:balances)
94
92
 
95
- self.name = attributes[:name] if attributes.key?(:name)
93
+ self.mask = attributes[:mask] if attributes.key?(:mask)
96
94
 
97
- self.type = attributes[:type] if attributes.key?(:type)
95
+ self.name = attributes[:name] if attributes.key?(:name)
98
96
 
99
- self.subtype = attributes[:subtype] if attributes.key?(:subtype)
97
+ self.type = attributes[:type] if attributes.key?(:type)
100
98
 
101
- return unless attributes.key?(:owners)
102
- return unless (value = attributes[:owners]).is_a?(Array)
99
+ self.subtype = attributes[:subtype] if attributes.key?(:subtype)
103
100
 
104
- self.owners = value
105
- end
101
+ return unless attributes.key?(:owners)
102
+ return unless (value = attributes[:owners]).is_a?(Array)
106
103
 
107
- # Show invalid properties with the reasons. Usually used together with valid?
108
- # @return Array for valid properties with the reasons
109
- def list_invalid_properties
110
- invalid_properties = []
111
- invalid_properties.push('invalid value for "account_id", account_id cannot be nil.') if @account_id.nil?
104
+ self.owners = value
105
+ end
112
106
 
113
- invalid_properties.push('invalid value for "balances", balances cannot be nil.') if @balances.nil?
107
+ # Show invalid properties with the reasons. Usually used together with valid?
108
+ # @return Array for valid properties with the reasons
109
+ def list_invalid_properties
110
+ invalid_properties = []
111
+ invalid_properties.push('invalid value for "account_id", account_id cannot be nil.') if @account_id.nil?
114
112
 
115
- invalid_properties.push('invalid value for "name", name cannot be nil.') if @name.nil?
113
+ invalid_properties.push('invalid value for "balances", balances cannot be nil.') if @balances.nil?
116
114
 
117
- invalid_properties.push('invalid value for "type", type cannot be nil.') if @type.nil?
115
+ invalid_properties.push('invalid value for "name", name cannot be nil.') if @name.nil?
118
116
 
119
- invalid_properties.push('invalid value for "owners", owners cannot be nil.') if @owners.nil?
117
+ invalid_properties.push('invalid value for "type", type cannot be nil.') if @type.nil?
120
118
 
121
- invalid_properties
122
- end
119
+ invalid_properties.push('invalid value for "owners", owners cannot be nil.') if @owners.nil?
123
120
 
124
- # Check to see if the all the properties in the model are valid
125
- # @return true if the model is valid
126
- def valid?
127
- return false if @account_id.nil?
128
- return false if @balances.nil?
129
- return false if @name.nil?
130
- return false if @type.nil?
131
- return false if @owners.nil?
121
+ invalid_properties
122
+ end
132
123
 
133
- true
134
- end
124
+ # Check to see if the all the properties in the model are valid
125
+ # @return true if the model is valid
126
+ def valid?
127
+ return false if @account_id.nil?
128
+ return false if @balances.nil?
129
+ return false if @name.nil?
130
+ return false if @type.nil?
131
+ return false if @owners.nil?
135
132
 
136
- # Checks equality by comparing each attribute.
137
- # @param [Object] Object to be compared
138
- def ==(other)
139
- return true if equal?(other)
140
-
141
- self.class == other.class &&
142
- account_id == other.account_id &&
143
- balances == other.balances &&
144
- mask == other.mask &&
145
- name == other.name &&
146
- type == other.type &&
147
- subtype == other.subtype &&
148
- owners == other.owners
149
- end
133
+ true
134
+ end
150
135
 
151
- # @see the `==` method
152
- # @param [Object] Object to be compared
153
- def eql?(other)
154
- self == other
155
- end
136
+ # Checks equality by comparing each attribute.
137
+ # @param [Object] Object to be compared
138
+ def ==(other)
139
+ return true if equal?(other)
140
+
141
+ self.class == other.class &&
142
+ account_id == other.account_id &&
143
+ balances == other.balances &&
144
+ mask == other.mask &&
145
+ name == other.name &&
146
+ type == other.type &&
147
+ subtype == other.subtype &&
148
+ owners == other.owners
149
+ end
156
150
 
157
- # Calculates hash code according to all attributes.
158
- # @return [Integer] Hash code
159
- def hash
160
- [account_id, balances, mask, name, type, subtype, owners].hash
161
- end
151
+ # @see the `==` method
152
+ # @param [Object] Object to be compared
153
+ def eql?(other)
154
+ self == other
155
+ end
162
156
 
163
- # Builds the object from hash
164
- # @param [Hash] attributes Model attributes in the form of hash
165
- # @return [Object] Returns the model itself
166
- def self.build_from_hash(attributes)
167
- new.build_from_hash(attributes)
168
- end
157
+ # Calculates hash code according to all attributes.
158
+ # @return [Integer] Hash code
159
+ def hash
160
+ [account_id, balances, mask, name, type, subtype, owners].hash
161
+ end
162
+
163
+ # Builds the object from hash
164
+ # @param [Hash] attributes Model attributes in the form of hash
165
+ # @return [Object] Returns the model itself
166
+ def self.build_from_hash(attributes)
167
+ new.build_from_hash(attributes)
168
+ end
169
169
 
170
- # Builds the object from hash
171
- # @param [Hash] attributes Model attributes in the form of hash
172
- # @return [Object] Returns the model itself
173
- def build_from_hash(attributes)
174
- return nil unless attributes.is_a?(Hash)
175
-
176
- self.class.openapi_types.each_pair do |key, type|
177
- if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
178
- send("#{key}=", nil)
179
- elsif type =~ /\AArray<(.*)>/i
180
- # check to ensure the input is an array given that the attribute
181
- # is documented as an array but the input is not
182
- if attributes[self.class.attribute_map[key]].is_a?(Array)
183
- send("#{key}=", attributes[self.class.attribute_map[key]].map do |v|
184
- _deserialize(::Regexp.last_match(1), v)
185
- end)
170
+ # Builds the object from hash
171
+ # @param [Hash] attributes Model attributes in the form of hash
172
+ # @return [Object] Returns the model itself
173
+ def build_from_hash(attributes)
174
+ return nil unless attributes.is_a?(Hash)
175
+
176
+ self.class.openapi_types.each_pair do |key, type|
177
+ if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
178
+ send("#{key}=", nil)
179
+ elsif type =~ /\AArray<(.*)>/i
180
+ # check to ensure the input is an array given that the attribute
181
+ # is documented as an array but the input is not
182
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
183
+ send("#{key}=", attributes[self.class.attribute_map[key]].map do |v|
184
+ _deserialize(::Regexp.last_match(1), v)
185
+ end)
186
+ end
187
+ elsif !attributes[self.class.attribute_map[key]].nil?
188
+ send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
186
189
  end
187
- elsif !attributes[self.class.attribute_map[key]].nil?
188
- send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
189
190
  end
190
- end
191
191
 
192
- self
193
- end
192
+ self
193
+ end
194
194
 
195
- # Deserializes the data based on type
196
- # @param string type Data type
197
- # @param string value Value to be deserialized
198
- # @return [Object] Deserialized data
199
- def _deserialize(type, value)
200
- case type.to_sym
201
- when :Time
202
- Time.parse(value)
203
- when :Date
204
- Date.parse(value)
205
- when :String
206
- value.to_s
207
- when :Integer
208
- value.to_i
209
- when :Float
210
- value.to_f
211
- when :Boolean
212
- if value.to_s =~ /\A(true|t|yes|y|1)\z/i
213
- true
214
- else
215
- false
216
- end
217
- when :Object
218
- # generic object (usually a Hash), return directly
219
- value
220
- when /\AArray<(?<inner_type>.+)>\z/
221
- inner_type = Regexp.last_match[:inner_type]
222
- value.map { |v| _deserialize(inner_type, v) }
223
- when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
224
- k_type = Regexp.last_match[:k_type]
225
- v_type = Regexp.last_match[:v_type]
226
- {}.tap do |hash|
227
- value.each do |k, v|
228
- hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
195
+ # Deserializes the data based on type
196
+ # @param string type Data type
197
+ # @param string value Value to be deserialized
198
+ # @return [Object] Deserialized data
199
+ def _deserialize(type, value)
200
+ case type.to_sym
201
+ when :Time
202
+ Time.parse(value)
203
+ when :Date
204
+ Date.parse(value)
205
+ when :String
206
+ value.to_s
207
+ when :Integer
208
+ value.to_i
209
+ when :Float
210
+ value.to_f
211
+ when :Boolean
212
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
213
+ true
214
+ else
215
+ false
229
216
  end
217
+ when :Object
218
+ # generic object (usually a Hash), return directly
219
+ value
220
+ when /\AArray<(?<inner_type>.+)>\z/
221
+ inner_type = Regexp.last_match[:inner_type]
222
+ value.map { |v| _deserialize(inner_type, v) }
223
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
224
+ k_type = Regexp.last_match[:k_type]
225
+ v_type = Regexp.last_match[:v_type]
226
+ {}.tap do |hash|
227
+ value.each do |k, v|
228
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
229
+ end
230
+ end
231
+ else # model
232
+ # models (e.g. Pet) or oneOf
233
+ klass = MoneyKit::PlaidCompatible.const_get(type)
234
+ klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
230
235
  end
231
- else # model
232
- # models (e.g. Pet) or oneOf
233
- klass = MoneyKit::PlaidCompatible.const_get(type)
234
- klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
235
236
  end
236
- end
237
237
 
238
- # Returns the string representation of the object
239
- # @return [String] String presentation of the object
240
- def to_s
241
- to_hash.to_s
242
- end
238
+ # Returns the string representation of the object
239
+ # @return [String] String presentation of the object
240
+ def to_s
241
+ to_hash.to_s
242
+ end
243
243
 
244
- # to_body is an alias to to_hash (backward compatibility)
245
- # @return [Hash] Returns the object in the form of hash
246
- def to_body
247
- to_hash
248
- end
244
+ # to_body is an alias to to_hash (backward compatibility)
245
+ # @return [Hash] Returns the object in the form of hash
246
+ def to_body
247
+ to_hash
248
+ end
249
249
 
250
- # Returns the object in the form of hash
251
- # @return [Hash] Returns the object in the form of hash
252
- def to_hash
253
- hash = {}
254
- self.class.attribute_map.each_pair do |attr, param|
255
- value = send(attr)
256
- if value.nil?
257
- is_nullable = self.class.openapi_nullable.include?(attr)
258
- next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
259
- end
250
+ # Returns the object in the form of hash
251
+ # @return [Hash] Returns the object in the form of hash
252
+ def to_hash
253
+ hash = {}
254
+ self.class.attribute_map.each_pair do |attr, param|
255
+ value = send(attr)
256
+ if value.nil?
257
+ is_nullable = self.class.openapi_nullable.include?(attr)
258
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
259
+ end
260
260
 
261
- hash[param] = _to_hash(value)
261
+ hash[param] = _to_hash(value)
262
+ end
263
+ hash
262
264
  end
263
- hash
264
- end
265
265
 
266
- # Outputs non-array value in the form of hash
267
- # For object, use to_hash. Otherwise, just return the value
268
- # @param [Object] value Any valid value
269
- # @return [Hash] Returns the value in the form of hash
270
- def _to_hash(value)
271
- if value.is_a?(Array)
272
- value.compact.map { |v| _to_hash(v) }
273
- elsif value.is_a?(Hash)
274
- {}.tap do |hash|
275
- value.each { |k, v| hash[k] = _to_hash(v) }
266
+ # Outputs non-array value in the form of hash
267
+ # For object, use to_hash. Otherwise, just return the value
268
+ # @param [Object] value Any valid value
269
+ # @return [Hash] Returns the value in the form of hash
270
+ def _to_hash(value)
271
+ if value.is_a?(Array)
272
+ value.compact.map { |v| _to_hash(v) }
273
+ elsif value.is_a?(Hash)
274
+ {}.tap do |hash|
275
+ value.each { |k, v| hash[k] = _to_hash(v) }
276
+ end
277
+ elsif value.respond_to? :to_hash
278
+ value.to_hash
279
+ else
280
+ value
276
281
  end
277
- elsif value.respond_to? :to_hash
278
- value.to_hash
279
- else
280
- value
281
282
  end
282
283
  end
283
284
  end
284
- end
285
285
  end