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,14 +1,12 @@
1
- =begin
2
- #MoneyKit API
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: 6.5.0
10
-
11
- =end
1
+ # #MoneyKit API
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: 7.1.0
9
+ #
12
10
 
13
11
  require 'date'
14
12
  require 'time'
@@ -23,8 +21,8 @@ module MoneyKit
23
21
  # Attribute mapping from ruby-style variable name to JSON key.
24
22
  def self.attribute_map
25
23
  {
26
- :'accounts' => :'accounts',
27
- :'last_synced_at' => :'last_synced_at'
24
+ 'accounts': :accounts,
25
+ 'last_synced_at': :last_synced_at
28
26
  }
29
27
  end
30
28
 
@@ -36,51 +34,53 @@ module MoneyKit
36
34
  # Attribute type mapping.
37
35
  def self.openapi_types
38
36
  {
39
- :'accounts' => :'Array<Account>',
40
- :'last_synced_at' => :'Time'
37
+ 'accounts': :'Array<Account>',
38
+ 'last_synced_at': :Time
41
39
  }
42
40
  end
43
41
 
44
42
  # List of attributes with nullable: true
45
43
  def self.openapi_nullable
46
- Set.new([
47
- :'last_synced_at'
48
- ])
44
+ Set.new([])
49
45
  end
50
46
 
51
47
  # Initializes the object
52
48
  # @param [Hash] attributes Model attributes in the form of hash
53
49
  def initialize(attributes = {})
54
- if (!attributes.is_a?(Hash))
55
- fail ArgumentError, "The input argument (attributes) must be a hash in `MoneyKit::AccountGroup` initialize method"
50
+ unless attributes.is_a?(Hash)
51
+ raise ArgumentError,
52
+ 'The input argument (attributes) must be a hash in `MoneyKit::AccountGroup` initialize method'
56
53
  end
57
54
 
58
55
  # check to see if the attribute exists and convert string to symbol for hash key
59
- attributes = attributes.each_with_object({}) { |(k, v), h|
60
- if (!self.class.attribute_map.key?(k.to_sym))
61
- fail ArgumentError, "`#{k}` is not a valid attribute in `MoneyKit::AccountGroup`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
56
+ attributes = attributes.each_with_object({}) do |(k, v), h|
57
+ unless self.class.attribute_map.key?(k.to_sym)
58
+ raise ArgumentError,
59
+ "`#{k}` is not a valid attribute in `MoneyKit::AccountGroup`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
62
60
  end
61
+
63
62
  h[k.to_sym] = v
64
- }
63
+ end
65
64
 
66
- if attributes.key?(:'accounts')
67
- if (value = attributes[:'accounts']).is_a?(Array)
65
+ if attributes.key?(:accounts)
66
+ if (value = attributes[:accounts]).is_a?(Array)
68
67
  self.accounts = value
69
68
  end
69
+ else
70
+ self.accounts = nil
70
71
  end
71
72
 
72
- if attributes.key?(:'last_synced_at')
73
- self.last_synced_at = attributes[:'last_synced_at']
74
- end
73
+ return unless attributes.key?(:last_synced_at)
74
+
75
+ self.last_synced_at = attributes[:last_synced_at]
75
76
  end
76
77
 
77
78
  # Show invalid properties with the reasons. Usually used together with valid?
78
79
  # @return Array for valid properties with the reasons
79
80
  def list_invalid_properties
80
- invalid_properties = Array.new
81
- if @accounts.nil?
82
- invalid_properties.push('invalid value for "accounts", accounts cannot be nil.')
83
- end
81
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
82
+ invalid_properties = []
83
+ invalid_properties.push('invalid value for "accounts", accounts cannot be nil.') if @accounts.nil?
84
84
 
85
85
  invalid_properties
86
86
  end
@@ -88,23 +88,26 @@ module MoneyKit
88
88
  # Check to see if the all the properties in the model are valid
89
89
  # @return true if the model is valid
90
90
  def valid?
91
+ warn '[DEPRECATED] the `valid?` method is obsolete'
91
92
  return false if @accounts.nil?
93
+
92
94
  true
93
95
  end
94
96
 
95
97
  # Checks equality by comparing each attribute.
96
98
  # @param [Object] Object to be compared
97
- def ==(o)
98
- return true if self.equal?(o)
99
- self.class == o.class &&
100
- accounts == o.accounts &&
101
- last_synced_at == o.last_synced_at
99
+ def ==(other)
100
+ return true if equal?(other)
101
+
102
+ self.class == other.class &&
103
+ accounts == other.accounts &&
104
+ last_synced_at == other.last_synced_at
102
105
  end
103
106
 
104
107
  # @see the `==` method
105
108
  # @param [Object] Object to be compared
106
- def eql?(o)
107
- self == o
109
+ def eql?(other)
110
+ self == other
108
111
  end
109
112
 
110
113
  # Calculates hash code according to all attributes.
@@ -117,37 +120,33 @@ module MoneyKit
117
120
  # @param [Hash] attributes Model attributes in the form of hash
118
121
  # @return [Object] Returns the model itself
119
122
  def self.build_from_hash(attributes)
120
- new.build_from_hash(attributes)
121
- end
122
-
123
- # Builds the object from hash
124
- # @param [Hash] attributes Model attributes in the form of hash
125
- # @return [Object] Returns the model itself
126
- def build_from_hash(attributes)
127
123
  return nil unless attributes.is_a?(Hash)
124
+
128
125
  attributes = attributes.transform_keys(&:to_sym)
129
- self.class.openapi_types.each_pair do |key, type|
130
- if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
131
- self.send("#{key}=", nil)
126
+ transformed_hash = {}
127
+ openapi_types.each_pair do |key, type|
128
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
129
+ transformed_hash["#{key}"] = nil
132
130
  elsif type =~ /\AArray<(.*)>/i
133
131
  # check to ensure the input is an array given that the attribute
134
132
  # is documented as an array but the input is not
135
- if attributes[self.class.attribute_map[key]].is_a?(Array)
136
- self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
133
+ if attributes[attribute_map[key]].is_a?(Array)
134
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map do |v|
135
+ _deserialize(::Regexp.last_match(1), v)
136
+ end
137
137
  end
138
- elsif !attributes[self.class.attribute_map[key]].nil?
139
- self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
138
+ elsif !attributes[attribute_map[key]].nil?
139
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
140
140
  end
141
141
  end
142
-
143
- self
142
+ new(transformed_hash)
144
143
  end
145
144
 
146
145
  # Deserializes the data based on type
147
146
  # @param string type Data type
148
147
  # @param string value Value to be deserialized
149
148
  # @return [Object] Deserialized data
150
- def _deserialize(type, value)
149
+ def self._deserialize(type, value)
151
150
  case type.to_sym
152
151
  when :Time
153
152
  Time.parse(value)
@@ -182,7 +181,7 @@ module MoneyKit
182
181
  else # model
183
182
  # models (e.g. Pet) or oneOf
184
183
  klass = MoneyKit.const_get(type)
185
- klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
184
+ klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
186
185
  end
187
186
  end
188
187
 
@@ -203,7 +202,7 @@ module MoneyKit
203
202
  def to_hash
204
203
  hash = {}
205
204
  self.class.attribute_map.each_pair do |attr, param|
206
- value = self.send(attr)
205
+ value = send(attr)
207
206
  if value.nil?
208
207
  is_nullable = self.class.openapi_nullable.include?(attr)
209
208
  next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
@@ -231,7 +230,5 @@ module MoneyKit
231
230
  value
232
231
  end
233
232
  end
234
-
235
233
  end
236
-
237
234
  end
@@ -1,14 +1,12 @@
1
- =begin
2
- #MoneyKit API
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: 6.5.0
10
-
11
- =end
1
+ # #MoneyKit API
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: 7.1.0
9
+ #
12
10
 
13
11
  require 'date'
14
12
  require 'time'
@@ -18,50 +16,26 @@ module MoneyKit
18
16
  # MoneyKit's unique ID for the account. <p>The `account_id` is distinct from the institution's account number. For accounts that may change account numbers from time to time, such as credit cards, MoneyKit attempts to keep the `account_id` constant. However, if MoneyKit can't reconcile the new account data with the old data, the `account_id` may change.
19
17
  attr_accessor :account_id
20
18
 
19
+ # See <a href=/pages/account_types>Account Types</a> for an explanation of account types. Account types are dot-prefixed with one of `depository`, `investment`, `liability`, or `other`; or the value is `unknown`. <p>**Balances for `liability` accounts are reversed:** negative balances (the amount owed) are reported as positive values. For all other types of accounts, a negative balance indicates the amount owed.
21
20
  attr_accessor :account_type
22
21
 
23
- # The account name, according to the institution. Note that some institutions allow the end user to nickname the account; in such cases this field may be the name assigned by the user
22
+ # The account name, according to the institution. Note that some institutions allow the end user to nickname the account; in such cases this field may be the name assigned by the user.
24
23
  attr_accessor :name
25
24
 
26
25
  # The last four characters (usually digits) of the account number. Note that this mask may be non-unique between accounts.
27
26
  attr_accessor :account_mask
28
27
 
29
- attr_accessor :balances
30
-
31
- # A list of owners associated with the account.
32
- attr_accessor :owners
33
-
34
- class EnumAttributeValidator
35
- attr_reader :datatype
36
- attr_reader :allowable_values
37
-
38
- def initialize(datatype, allowable_values)
39
- @allowable_values = allowable_values.map do |value|
40
- case datatype.to_s
41
- when /Integer/i
42
- value.to_i
43
- when /Float/i
44
- value.to_f
45
- else
46
- value
47
- end
48
- end
49
- end
50
-
51
- def valid?(value)
52
- !value || allowable_values.include?(value)
53
- end
54
- end
28
+ attr_accessor :balances, :owners
55
29
 
56
30
  # Attribute mapping from ruby-style variable name to JSON key.
57
31
  def self.attribute_map
58
32
  {
59
- :'account_id' => :'account_id',
60
- :'account_type' => :'account_type',
61
- :'name' => :'name',
62
- :'account_mask' => :'account_mask',
63
- :'balances' => :'balances',
64
- :'owners' => :'owners'
33
+ 'account_id': :account_id,
34
+ 'account_type': :account_type,
35
+ 'name': :name,
36
+ 'account_mask': :account_mask,
37
+ 'balances': :balances,
38
+ 'owners': :owners
65
39
  }
66
40
  end
67
41
 
@@ -73,87 +47,71 @@ module MoneyKit
73
47
  # Attribute type mapping.
74
48
  def self.openapi_types
75
49
  {
76
- :'account_id' => :'String',
77
- :'account_type' => :'AccountType',
78
- :'name' => :'String',
79
- :'account_mask' => :'String',
80
- :'balances' => :'Balances',
81
- :'owners' => :'Array<Owner>'
50
+ 'account_id': :String,
51
+ 'account_type': :String,
52
+ 'name': :String,
53
+ 'account_mask': :String,
54
+ 'balances': :AccountBalances,
55
+ 'owners': :'Array<Owner>'
82
56
  }
83
57
  end
84
58
 
85
59
  # List of attributes with nullable: true
86
60
  def self.openapi_nullable
87
- Set.new([
88
- :'account_mask',
89
- ])
61
+ Set.new([])
90
62
  end
91
63
 
92
64
  # Initializes the object
93
65
  # @param [Hash] attributes Model attributes in the form of hash
94
66
  def initialize(attributes = {})
95
- if (!attributes.is_a?(Hash))
96
- fail ArgumentError, "The input argument (attributes) must be a hash in `MoneyKit::AccountIdentity` initialize method"
67
+ unless attributes.is_a?(Hash)
68
+ raise ArgumentError,
69
+ 'The input argument (attributes) must be a hash in `MoneyKit::AccountIdentity` initialize method'
97
70
  end
98
71
 
99
72
  # 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::AccountIdentity`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
73
+ attributes = attributes.each_with_object({}) do |(k, v), h|
74
+ unless self.class.attribute_map.key?(k.to_sym)
75
+ raise ArgumentError,
76
+ "`#{k}` is not a valid attribute in `MoneyKit::AccountIdentity`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
103
77
  end
104
- h[k.to_sym] = v
105
- }
106
78
 
107
- if attributes.key?(:'account_id')
108
- self.account_id = attributes[:'account_id']
79
+ h[k.to_sym] = v
109
80
  end
110
81
 
111
- if attributes.key?(:'account_type')
112
- self.account_type = attributes[:'account_type']
113
- end
82
+ self.account_id = (attributes[:account_id] if attributes.key?(:account_id))
114
83
 
115
- if attributes.key?(:'name')
116
- self.name = attributes[:'name']
117
- end
84
+ self.account_type = (attributes[:account_type] if attributes.key?(:account_type))
118
85
 
119
- if attributes.key?(:'account_mask')
120
- self.account_mask = attributes[:'account_mask']
121
- end
86
+ self.name = (attributes[:name] if attributes.key?(:name))
122
87
 
123
- if attributes.key?(:'balances')
124
- self.balances = attributes[:'balances']
125
- end
88
+ self.account_mask = attributes[:account_mask] if attributes.key?(:account_mask)
89
+
90
+ self.balances = (attributes[:balances] if attributes.key?(:balances))
126
91
 
127
- if attributes.key?(:'owners')
128
- if (value = attributes[:'owners']).is_a?(Array)
92
+ if attributes.key?(:owners)
93
+ if (value = attributes[:owners]).is_a?(Array)
129
94
  self.owners = value
130
95
  end
96
+ else
97
+ self.owners = nil
131
98
  end
132
99
  end
133
100
 
134
101
  # Show invalid properties with the reasons. Usually used together with valid?
135
102
  # @return Array for valid properties with the reasons
136
103
  def list_invalid_properties
137
- invalid_properties = Array.new
138
- if @account_id.nil?
139
- invalid_properties.push('invalid value for "account_id", account_id cannot be nil.')
140
- end
104
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
105
+ invalid_properties = []
106
+ invalid_properties.push('invalid value for "account_id", account_id cannot be nil.') if @account_id.nil?
141
107
 
142
- if @account_type.nil?
143
- invalid_properties.push('invalid value for "account_type", account_type cannot be nil.')
144
- end
108
+ invalid_properties.push('invalid value for "account_type", account_type cannot be nil.') if @account_type.nil?
145
109
 
146
- if @name.nil?
147
- invalid_properties.push('invalid value for "name", name cannot be nil.')
148
- end
110
+ invalid_properties.push('invalid value for "name", name cannot be nil.') if @name.nil?
149
111
 
150
- if @balances.nil?
151
- invalid_properties.push('invalid value for "balances", balances cannot be nil.')
152
- end
112
+ invalid_properties.push('invalid value for "balances", balances cannot be nil.') if @balances.nil?
153
113
 
154
- if @owners.nil?
155
- invalid_properties.push('invalid value for "owners", owners cannot be nil.')
156
- end
114
+ invalid_properties.push('invalid value for "owners", owners cannot be nil.') if @owners.nil?
157
115
 
158
116
  invalid_properties
159
117
  end
@@ -161,31 +119,34 @@ module MoneyKit
161
119
  # Check to see if the all the properties in the model are valid
162
120
  # @return true if the model is valid
163
121
  def valid?
122
+ warn '[DEPRECATED] the `valid?` method is obsolete'
164
123
  return false if @account_id.nil?
165
124
  return false if @account_type.nil?
166
125
  return false if @name.nil?
167
126
  return false if @balances.nil?
168
127
  return false if @owners.nil?
128
+
169
129
  true
170
130
  end
171
131
 
172
132
  # Checks equality by comparing each attribute.
173
133
  # @param [Object] Object to be compared
174
- def ==(o)
175
- return true if self.equal?(o)
176
- self.class == o.class &&
177
- account_id == o.account_id &&
178
- account_type == o.account_type &&
179
- name == o.name &&
180
- account_mask == o.account_mask &&
181
- balances == o.balances &&
182
- owners == o.owners
134
+ def ==(other)
135
+ return true if equal?(other)
136
+
137
+ self.class == other.class &&
138
+ account_id == other.account_id &&
139
+ account_type == other.account_type &&
140
+ name == other.name &&
141
+ account_mask == other.account_mask &&
142
+ balances == other.balances &&
143
+ owners == other.owners
183
144
  end
184
145
 
185
146
  # @see the `==` method
186
147
  # @param [Object] Object to be compared
187
- def eql?(o)
188
- self == o
148
+ def eql?(other)
149
+ self == other
189
150
  end
190
151
 
191
152
  # Calculates hash code according to all attributes.
@@ -198,37 +159,33 @@ module MoneyKit
198
159
  # @param [Hash] attributes Model attributes in the form of hash
199
160
  # @return [Object] Returns the model itself
200
161
  def self.build_from_hash(attributes)
201
- new.build_from_hash(attributes)
202
- end
203
-
204
- # Builds the object from hash
205
- # @param [Hash] attributes Model attributes in the form of hash
206
- # @return [Object] Returns the model itself
207
- def build_from_hash(attributes)
208
162
  return nil unless attributes.is_a?(Hash)
163
+
209
164
  attributes = attributes.transform_keys(&:to_sym)
210
- self.class.openapi_types.each_pair do |key, type|
211
- if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
212
- self.send("#{key}=", nil)
165
+ transformed_hash = {}
166
+ openapi_types.each_pair do |key, type|
167
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
168
+ transformed_hash["#{key}"] = nil
213
169
  elsif type =~ /\AArray<(.*)>/i
214
170
  # check to ensure the input is an array given that the attribute
215
171
  # is documented as an array but the input is not
216
- if attributes[self.class.attribute_map[key]].is_a?(Array)
217
- self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
172
+ if attributes[attribute_map[key]].is_a?(Array)
173
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map do |v|
174
+ _deserialize(::Regexp.last_match(1), v)
175
+ end
218
176
  end
219
- elsif !attributes[self.class.attribute_map[key]].nil?
220
- self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
177
+ elsif !attributes[attribute_map[key]].nil?
178
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
221
179
  end
222
180
  end
223
-
224
- self
181
+ new(transformed_hash)
225
182
  end
226
183
 
227
184
  # Deserializes the data based on type
228
185
  # @param string type Data type
229
186
  # @param string value Value to be deserialized
230
187
  # @return [Object] Deserialized data
231
- def _deserialize(type, value)
188
+ def self._deserialize(type, value)
232
189
  case type.to_sym
233
190
  when :Time
234
191
  Time.parse(value)
@@ -263,7 +220,7 @@ module MoneyKit
263
220
  else # model
264
221
  # models (e.g. Pet) or oneOf
265
222
  klass = MoneyKit.const_get(type)
266
- klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
223
+ klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
267
224
  end
268
225
  end
269
226
 
@@ -284,7 +241,7 @@ module MoneyKit
284
241
  def to_hash
285
242
  hash = {}
286
243
  self.class.attribute_map.each_pair do |attr, param|
287
- value = self.send(attr)
244
+ value = send(attr)
288
245
  if value.nil?
289
246
  is_nullable = self.class.openapi_nullable.include?(attr)
290
247
  next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
@@ -312,7 +269,5 @@ module MoneyKit
312
269
  value
313
270
  end
314
271
  end
315
-
316
272
  end
317
-
318
273
  end