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: 6.5.0
9
+ #
12
10
 
13
11
  require 'date'
14
12
  require 'time'
@@ -20,7 +18,7 @@ module MoneyKit
20
18
  # Attribute mapping from ruby-style variable name to JSON key.
21
19
  def self.attribute_map
22
20
  {
23
- :'accounts' => :'accounts'
21
+ 'accounts': :accounts
24
22
  }
25
23
  end
26
24
 
@@ -32,43 +30,43 @@ module MoneyKit
32
30
  # Attribute type mapping.
33
31
  def self.openapi_types
34
32
  {
35
- :'accounts' => :'Hash<String, Object>'
33
+ 'accounts': :'Hash<String, Object>'
36
34
  }
37
35
  end
38
36
 
39
37
  # List of attributes with nullable: true
40
38
  def self.openapi_nullable
41
- Set.new([
42
- ])
39
+ Set.new([])
43
40
  end
44
41
 
45
42
  # Initializes the object
46
43
  # @param [Hash] attributes Model attributes in the form of hash
47
44
  def initialize(attributes = {})
48
- if (!attributes.is_a?(Hash))
49
- fail ArgumentError, "The input argument (attributes) must be a hash in `MoneyKit::UserTransactionsPagedResponse` initialize method"
45
+ unless attributes.is_a?(Hash)
46
+ raise ArgumentError,
47
+ 'The input argument (attributes) must be a hash in `MoneyKit::UserTransactionsPagedResponse` initialize method'
50
48
  end
51
49
 
52
50
  # check to see if the attribute exists and convert string to symbol for hash key
53
- attributes = attributes.each_with_object({}) { |(k, v), h|
54
- if (!self.class.attribute_map.key?(k.to_sym))
55
- fail ArgumentError, "`#{k}` is not a valid attribute in `MoneyKit::UserTransactionsPagedResponse`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
51
+ attributes = attributes.each_with_object({}) do |(k, v), h|
52
+ unless self.class.attribute_map.key?(k.to_sym)
53
+ raise ArgumentError,
54
+ "`#{k}` is not a valid attribute in `MoneyKit::UserTransactionsPagedResponse`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
56
55
  end
57
- h[k.to_sym] = v
58
- }
59
56
 
60
- if attributes.key?(:'accounts')
61
- if (value = attributes[:'accounts']).is_a?(Hash)
62
- self.accounts = value
63
- end
57
+ h[k.to_sym] = v
64
58
  end
59
+
60
+ return unless attributes.key?(:accounts)
61
+ return unless (value = attributes[:accounts]).is_a?(Hash)
62
+
63
+ self.accounts = value
65
64
  end
66
65
 
67
66
  # Show invalid properties with the reasons. Usually used together with valid?
68
67
  # @return Array for valid properties with the reasons
69
68
  def list_invalid_properties
70
- invalid_properties = Array.new
71
- invalid_properties
69
+ []
72
70
  end
73
71
 
74
72
  # Check to see if the all the properties in the model are valid
@@ -79,16 +77,17 @@ module MoneyKit
79
77
 
80
78
  # Checks equality by comparing each attribute.
81
79
  # @param [Object] Object to be compared
82
- def ==(o)
83
- return true if self.equal?(o)
84
- self.class == o.class &&
85
- accounts == o.accounts
80
+ def ==(other)
81
+ return true if equal?(other)
82
+
83
+ self.class == other.class &&
84
+ accounts == other.accounts
86
85
  end
87
86
 
88
87
  # @see the `==` method
89
88
  # @param [Object] Object to be compared
90
- def eql?(o)
91
- self == o
89
+ def eql?(other)
90
+ self == other
92
91
  end
93
92
 
94
93
  # Calculates hash code according to all attributes.
@@ -109,18 +108,21 @@ module MoneyKit
109
108
  # @return [Object] Returns the model itself
110
109
  def build_from_hash(attributes)
111
110
  return nil unless attributes.is_a?(Hash)
111
+
112
112
  attributes = attributes.transform_keys(&:to_sym)
113
113
  self.class.openapi_types.each_pair do |key, type|
114
114
  if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
115
- self.send("#{key}=", nil)
115
+ send("#{key}=", nil)
116
116
  elsif type =~ /\AArray<(.*)>/i
117
117
  # check to ensure the input is an array given that the attribute
118
118
  # is documented as an array but the input is not
119
119
  if attributes[self.class.attribute_map[key]].is_a?(Array)
120
- self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
120
+ send("#{key}=", attributes[self.class.attribute_map[key]].map do |v|
121
+ _deserialize(::Regexp.last_match(1), v)
122
+ end)
121
123
  end
122
124
  elsif !attributes[self.class.attribute_map[key]].nil?
123
- self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
125
+ send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
124
126
  end
125
127
  end
126
128
 
@@ -187,7 +189,7 @@ module MoneyKit
187
189
  def to_hash
188
190
  hash = {}
189
191
  self.class.attribute_map.each_pair do |attr, param|
190
- value = self.send(attr)
192
+ value = send(attr)
191
193
  if value.nil?
192
194
  is_nullable = self.class.openapi_nullable.include?(attr)
193
195
  next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
@@ -215,7 +217,5 @@ module MoneyKit
215
217
  value
216
218
  end
217
219
  end
218
-
219
220
  end
220
-
221
221
  end
@@ -1,32 +1,26 @@
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'
15
13
 
16
14
  module MoneyKit
17
15
  class ValidationError
18
- attr_accessor :location
19
-
20
- attr_accessor :message
21
-
22
- attr_accessor :type
16
+ attr_accessor :location, :message, :type
23
17
 
24
18
  # Attribute mapping from ruby-style variable name to JSON key.
25
19
  def self.attribute_map
26
20
  {
27
- :'location' => :'location',
28
- :'message' => :'message',
29
- :'type' => :'type'
21
+ 'location': :location,
22
+ 'message': :message,
23
+ 'type': :type
30
24
  }
31
25
  end
32
26
 
@@ -38,63 +32,58 @@ module MoneyKit
38
32
  # Attribute type mapping.
39
33
  def self.openapi_types
40
34
  {
41
- :'location' => :'Array<LocationInner>',
42
- :'message' => :'String',
43
- :'type' => :'String'
35
+ 'location': :'Array<ValidationErrorLocationInner>',
36
+ 'message': :String,
37
+ 'type': :String
44
38
  }
45
39
  end
46
40
 
47
41
  # List of attributes with nullable: true
48
42
  def self.openapi_nullable
49
- Set.new([
50
- ])
43
+ Set.new([])
51
44
  end
52
45
 
53
46
  # Initializes the object
54
47
  # @param [Hash] attributes Model attributes in the form of hash
55
48
  def initialize(attributes = {})
56
- if (!attributes.is_a?(Hash))
57
- fail ArgumentError, "The input argument (attributes) must be a hash in `MoneyKit::ValidationError` initialize method"
49
+ unless attributes.is_a?(Hash)
50
+ raise ArgumentError,
51
+ 'The input argument (attributes) must be a hash in `MoneyKit::ValidationError` initialize method'
58
52
  end
59
53
 
60
54
  # check to see if the attribute exists and convert string to symbol for hash key
61
- attributes = attributes.each_with_object({}) { |(k, v), h|
62
- if (!self.class.attribute_map.key?(k.to_sym))
63
- fail ArgumentError, "`#{k}` is not a valid attribute in `MoneyKit::ValidationError`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
55
+ attributes = attributes.each_with_object({}) do |(k, v), h|
56
+ unless self.class.attribute_map.key?(k.to_sym)
57
+ raise ArgumentError,
58
+ "`#{k}` is not a valid attribute in `MoneyKit::ValidationError`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
64
59
  end
60
+
65
61
  h[k.to_sym] = v
66
- }
62
+ end
67
63
 
68
- if attributes.key?(:'location')
69
- if (value = attributes[:'location']).is_a?(Array)
64
+ if attributes.key?(:location)
65
+ if (value = attributes[:location]).is_a?(Array)
70
66
  self.location = value
71
67
  end
68
+ else
69
+ self.location = nil
72
70
  end
73
71
 
74
- if attributes.key?(:'message')
75
- self.message = attributes[:'message']
76
- end
72
+ self.message = (attributes[:message] if attributes.key?(:message))
77
73
 
78
- if attributes.key?(:'type')
79
- self.type = attributes[:'type']
80
- end
74
+ self.type = (attributes[:type] if attributes.key?(:type))
81
75
  end
82
76
 
83
77
  # Show invalid properties with the reasons. Usually used together with valid?
84
78
  # @return Array for valid properties with the reasons
85
79
  def list_invalid_properties
86
- invalid_properties = Array.new
87
- if @location.nil?
88
- invalid_properties.push('invalid value for "location", location cannot be nil.')
89
- end
80
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
81
+ invalid_properties = []
82
+ invalid_properties.push('invalid value for "location", location cannot be nil.') if @location.nil?
90
83
 
91
- if @message.nil?
92
- invalid_properties.push('invalid value for "message", message cannot be nil.')
93
- end
84
+ invalid_properties.push('invalid value for "message", message cannot be nil.') if @message.nil?
94
85
 
95
- if @type.nil?
96
- invalid_properties.push('invalid value for "type", type cannot be nil.')
97
- end
86
+ invalid_properties.push('invalid value for "type", type cannot be nil.') if @type.nil?
98
87
 
99
88
  invalid_properties
100
89
  end
@@ -102,26 +91,29 @@ module MoneyKit
102
91
  # Check to see if the all the properties in the model are valid
103
92
  # @return true if the model is valid
104
93
  def valid?
94
+ warn '[DEPRECATED] the `valid?` method is obsolete'
105
95
  return false if @location.nil?
106
96
  return false if @message.nil?
107
97
  return false if @type.nil?
98
+
108
99
  true
109
100
  end
110
101
 
111
102
  # Checks equality by comparing each attribute.
112
103
  # @param [Object] Object to be compared
113
- def ==(o)
114
- return true if self.equal?(o)
115
- self.class == o.class &&
116
- location == o.location &&
117
- message == o.message &&
118
- type == o.type
104
+ def ==(other)
105
+ return true if equal?(other)
106
+
107
+ self.class == other.class &&
108
+ location == other.location &&
109
+ message == other.message &&
110
+ type == other.type
119
111
  end
120
112
 
121
113
  # @see the `==` method
122
114
  # @param [Object] Object to be compared
123
- def eql?(o)
124
- self == o
115
+ def eql?(other)
116
+ self == other
125
117
  end
126
118
 
127
119
  # Calculates hash code according to all attributes.
@@ -134,37 +126,33 @@ module MoneyKit
134
126
  # @param [Hash] attributes Model attributes in the form of hash
135
127
  # @return [Object] Returns the model itself
136
128
  def self.build_from_hash(attributes)
137
- new.build_from_hash(attributes)
138
- end
139
-
140
- # Builds the object from hash
141
- # @param [Hash] attributes Model attributes in the form of hash
142
- # @return [Object] Returns the model itself
143
- def build_from_hash(attributes)
144
129
  return nil unless attributes.is_a?(Hash)
130
+
145
131
  attributes = attributes.transform_keys(&:to_sym)
146
- self.class.openapi_types.each_pair do |key, type|
147
- if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
148
- self.send("#{key}=", nil)
132
+ transformed_hash = {}
133
+ openapi_types.each_pair do |key, type|
134
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
135
+ transformed_hash["#{key}"] = nil
149
136
  elsif type =~ /\AArray<(.*)>/i
150
137
  # check to ensure the input is an array given that the attribute
151
138
  # is documented as an array but the input is not
152
- if attributes[self.class.attribute_map[key]].is_a?(Array)
153
- self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
139
+ if attributes[attribute_map[key]].is_a?(Array)
140
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map do |v|
141
+ _deserialize(::Regexp.last_match(1), v)
142
+ end
154
143
  end
155
- elsif !attributes[self.class.attribute_map[key]].nil?
156
- self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
144
+ elsif !attributes[attribute_map[key]].nil?
145
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
157
146
  end
158
147
  end
159
-
160
- self
148
+ new(transformed_hash)
161
149
  end
162
150
 
163
151
  # Deserializes the data based on type
164
152
  # @param string type Data type
165
153
  # @param string value Value to be deserialized
166
154
  # @return [Object] Deserialized data
167
- def _deserialize(type, value)
155
+ def self._deserialize(type, value)
168
156
  case type.to_sym
169
157
  when :Time
170
158
  Time.parse(value)
@@ -199,7 +187,7 @@ module MoneyKit
199
187
  else # model
200
188
  # models (e.g. Pet) or oneOf
201
189
  klass = MoneyKit.const_get(type)
202
- klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
190
+ klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
203
191
  end
204
192
  end
205
193
 
@@ -220,7 +208,7 @@ module MoneyKit
220
208
  def to_hash
221
209
  hash = {}
222
210
  self.class.attribute_map.each_pair do |attr, param|
223
- value = self.send(attr)
211
+ value = send(attr)
224
212
  if value.nil?
225
213
  is_nullable = self.class.openapi_nullable.include?(attr)
226
214
  next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
@@ -248,7 +236,5 @@ module MoneyKit
248
236
  value
249
237
  end
250
238
  end
251
-
252
239
  end
253
-
254
240
  end
@@ -0,0 +1,101 @@
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
+ #
10
+
11
+ require 'date'
12
+ require 'time'
13
+
14
+ module MoneyKit
15
+ module ValidationErrorLocationInner
16
+ class << self
17
+ # List of class defined in anyOf (OpenAPI v3)
18
+ def openapi_any_of
19
+ %i[
20
+ Integer
21
+ String
22
+ ]
23
+ end
24
+
25
+ # Builds the object
26
+ # @param [Mixed] Data to be matched against the list of anyOf items
27
+ # @return [Object] Returns the model or the data itself
28
+ def build(data)
29
+ # Go through the list of anyOf items and attempt to identify the appropriate one.
30
+ # Note:
31
+ # - No advanced validation of types in some cases (e.g. "x: { type: string }" will happily match { x: 123 })
32
+ # due to the way the deserialization is made in the base_object template (it just casts without verifying).
33
+ # - TODO: scalar values are de facto behaving as if they were nullable.
34
+ # - TODO: logging when debugging is set.
35
+ openapi_any_of.each do |klass|
36
+ next if klass == :AnyType # "nullable: true"
37
+
38
+ typed_data = find_and_cast_into_type(klass, data)
39
+ return typed_data if typed_data
40
+ rescue StandardError # rescue all errors so we keep iterating even if the current item lookup raises
41
+ end
42
+
43
+ openapi_any_of.include?(:AnyType) ? data : nil
44
+ end
45
+
46
+ private
47
+
48
+ SchemaMismatchError = Class.new(StandardError)
49
+
50
+ # NOTE: 'File' is missing here because in the regular case we get the data _after_ a call to JSON.parse.
51
+ def find_and_cast_into_type(klass, data)
52
+ return if data.nil?
53
+
54
+ case klass.to_s
55
+ when 'Boolean'
56
+ return data if data.instance_of?(TrueClass) || data.instance_of?(FalseClass)
57
+ when 'Float'
58
+ return data if data.instance_of?(Float)
59
+ when 'Integer'
60
+ return data if data.instance_of?(Integer)
61
+ when 'Time'
62
+ return Time.parse(data)
63
+ when 'Date'
64
+ return Date.parse(data)
65
+ when 'String'
66
+ return data if data.instance_of?(String)
67
+ when 'Object' # "type: object"
68
+ return data if data.instance_of?(Hash)
69
+ when /\AArray<(?<sub_type>.+)>\z/ # "type: array"
70
+ if data.instance_of?(Array)
71
+ sub_type = Regexp.last_match[:sub_type]
72
+ return data.map { |item| find_and_cast_into_type(sub_type, item) }
73
+ end
74
+ when /\AHash<String, (?<sub_type>.+)>\z/ # "type: object" with "additionalProperties: { ... }"
75
+ if data.instance_of?(Hash) && data.keys.all? { |k| k.instance_of?(Symbol) || k.instance_of?(String) }
76
+ sub_type = Regexp.last_match[:sub_type]
77
+ return data.each_with_object({}) { |(k, v), hsh| hsh[k] = find_and_cast_into_type(sub_type, v) }
78
+ end
79
+ else # model
80
+ const = MoneyKit.const_get(klass)
81
+ if const
82
+ if const.respond_to?(:openapi_any_of) # nested anyOf model
83
+ model = const.build(data)
84
+ return model if model
85
+ else
86
+ # raise if data contains keys that are not known to the model
87
+ raise unless (data.keys - const.acceptable_attributes).empty?
88
+
89
+ model = const.build_from_hash(data)
90
+ return model if model
91
+ end
92
+ end
93
+ end
94
+
95
+ raise # if no match by now, raise
96
+ rescue StandardError
97
+ raise SchemaMismatchError, "#{data} doesn't match the #{klass} type"
98
+ end
99
+ end
100
+ end
101
+ end
@@ -0,0 +1,40 @@
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
+ #
10
+
11
+ require 'date'
12
+ require 'time'
13
+
14
+ module MoneyKit
15
+ class WebhookLinkTestEvent
16
+ LINK_STATE_CHANGED = 'link.state_changed'.freeze
17
+ LINK_PRODUCT_REFRESH = 'link.product_refresh'.freeze
18
+ TRANSACTIONS_UPDATES_AVAILABLE = 'transactions.updates_available'.freeze
19
+
20
+ def self.all_vars
21
+ @all_vars ||= [LINK_STATE_CHANGED, LINK_PRODUCT_REFRESH, TRANSACTIONS_UPDATES_AVAILABLE].freeze
22
+ end
23
+
24
+ # Builds the enum from string
25
+ # @param [String] The enum value in the form of the string
26
+ # @return [String] The enum value
27
+ def self.build_from_hash(value)
28
+ new.build_from_hash(value)
29
+ end
30
+
31
+ # Builds the enum from string
32
+ # @param [String] The enum value in the form of the string
33
+ # @return [String] The enum value
34
+ def build_from_hash(value)
35
+ return value if WebhookLinkTestEvent.all_vars.include?(value)
36
+
37
+ raise "Invalid ENUM value #{value} for class #WebhookLinkTestEvent"
38
+ end
39
+ end
40
+ end