moneykit 0.0.3 → 0.0.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (192) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +2 -2
  3. data/lib/moneykit/api/access_token_api.rb +9 -9
  4. data/lib/moneykit/api/account_numbers_api.rb +6 -6
  5. data/lib/moneykit/api/accounts_api.rb +15 -15
  6. data/lib/moneykit/api/identity_api.rb +6 -6
  7. data/lib/moneykit/api/institutions_api.rb +7 -7
  8. data/lib/moneykit/api/link_session_api.rb +7 -7
  9. data/lib/moneykit/api/links_api.rb +76 -13
  10. data/lib/moneykit/api/products_api.rb +6 -6
  11. data/lib/moneykit/api/transactions_api.rb +28 -28
  12. data/lib/moneykit/api/users_api.rb +14 -14
  13. data/lib/moneykit/api/webhooks_api.rb +97 -0
  14. data/lib/moneykit/api_client.rb +40 -36
  15. data/lib/moneykit/api_error.rb +1 -1
  16. data/lib/moneykit/configuration.rb +20 -30
  17. data/lib/moneykit/models/account.rb +27 -54
  18. data/lib/moneykit/models/account_balances.rb +18 -27
  19. data/lib/moneykit/models/account_group.rb +23 -26
  20. data/lib/moneykit/models/account_identity.rb +34 -59
  21. data/lib/moneykit/models/account_numbers.rb +75 -51
  22. data/lib/moneykit/models/account_numbers_link_product.rb +18 -28
  23. data/lib/moneykit/models/account_numbers_product_settings.rb +16 -21
  24. data/lib/moneykit/models/account_with_account_numbers.rb +29 -56
  25. data/lib/moneykit/models/accounts_link_product.rb +17 -25
  26. data/lib/moneykit/models/ach_number.rb +19 -26
  27. data/lib/moneykit/models/address.rb +17 -28
  28. data/lib/moneykit/models/api_error_auth_expired_access_token_response.rb +17 -24
  29. data/lib/moneykit/models/api_error_auth_unauthorized_response.rb +18 -25
  30. data/lib/moneykit/models/api_error_rate_limit_exceeded_response.rb +17 -24
  31. data/lib/moneykit/models/bacs_number.rb +18 -25
  32. data/lib/moneykit/models/basic_account_details.rb +20 -29
  33. data/lib/moneykit/models/country.rb +1 -1
  34. data/lib/moneykit/models/create_link_session_request.rb +48 -45
  35. data/lib/moneykit/models/create_link_session_response.rb +17 -24
  36. data/lib/moneykit/models/currency.rb +1 -1
  37. data/lib/moneykit/models/cursor_pagination.rb +17 -24
  38. data/lib/moneykit/models/customer_app.rb +18 -25
  39. data/lib/moneykit/models/eft_number.rb +19 -26
  40. data/lib/moneykit/models/email.rb +17 -22
  41. data/lib/moneykit/models/exchange_token_request.rb +17 -24
  42. data/lib/moneykit/models/exchange_token_response.rb +19 -26
  43. data/lib/moneykit/models/generate_access_token_response.rb +19 -26
  44. data/lib/moneykit/models/get_account_numbers_response.rb +23 -26
  45. data/lib/moneykit/models/get_account_response.rb +19 -26
  46. data/lib/moneykit/models/get_accounts_response.rb +25 -31
  47. data/lib/moneykit/models/get_institutions_response.rb +25 -31
  48. data/lib/moneykit/models/get_transactions_response.rb +34 -39
  49. data/lib/moneykit/models/get_user_accounts_response.rb +24 -32
  50. data/lib/moneykit/models/get_user_links_response.rb +24 -32
  51. data/lib/moneykit/models/get_user_transactions_response.rb +32 -34
  52. data/lib/moneykit/models/http_validation_error.rb +24 -28
  53. data/lib/moneykit/models/identity_link_product.rb +18 -28
  54. data/lib/moneykit/models/identity_product_settings.rb +16 -21
  55. data/lib/moneykit/models/identity_response.rb +24 -30
  56. data/lib/moneykit/models/institution.rb +29 -38
  57. data/lib/moneykit/models/institution_error_not_found_response.rb +17 -24
  58. data/lib/moneykit/models/international_number.rb +18 -25
  59. data/lib/moneykit/models/introspect_client_response.rb +22 -29
  60. data/lib/moneykit/models/jwk_set.rb +23 -26
  61. data/lib/moneykit/models/link_common.rb +25 -39
  62. data/lib/moneykit/models/link_error_bad_config_response.rb +269 -0
  63. data/lib/moneykit/models/link_error_bad_state_response.rb +19 -28
  64. data/lib/moneykit/models/link_error_deleted_response.rb +17 -24
  65. data/lib/moneykit/models/link_error_forbidden_action_response.rb +18 -25
  66. data/lib/moneykit/models/link_error_not_found_response.rb +17 -24
  67. data/lib/moneykit/models/link_error_unauthorized_access_response.rb +17 -24
  68. data/lib/moneykit/models/link_permission_scope.rb +1 -1
  69. data/lib/moneykit/models/link_permissions.rb +23 -33
  70. data/lib/moneykit/models/link_products.rb +16 -21
  71. data/lib/moneykit/models/link_response.rb +26 -39
  72. data/lib/moneykit/models/link_session_customer_user.rb +20 -28
  73. data/lib/moneykit/models/link_session_customer_user_email.rb +18 -25
  74. data/lib/moneykit/models/link_session_customer_user_phone.rb +18 -26
  75. data/lib/moneykit/models/link_session_error_forbidden_config_response.rb +18 -25
  76. data/lib/moneykit/models/link_session_error_invalid_token_exchange.rb +18 -25
  77. data/lib/moneykit/models/link_session_setting_overrides.rb +19 -43
  78. data/lib/moneykit/models/link_state.rb +1 -1
  79. data/lib/moneykit/models/link_state_changed_webhook.rb +28 -31
  80. data/lib/moneykit/models/money_link_features.rb +27 -32
  81. data/lib/moneykit/models/owner.rb +42 -42
  82. data/lib/moneykit/models/phone_number.rb +18 -25
  83. data/lib/moneykit/models/phone_number_type.rb +1 -1
  84. data/lib/moneykit/models/product.rb +1 -1
  85. data/lib/moneykit/models/products_settings.rb +19 -24
  86. data/lib/moneykit/models/provider.rb +4 -2
  87. data/lib/moneykit/models/public_link_error.rb +43 -0
  88. data/lib/moneykit/models/refresh_products_request.rb +23 -34
  89. data/lib/moneykit/models/requested_link_permission.rb +19 -26
  90. data/lib/moneykit/models/response401_disconnect_links_id_delete.rb +75 -269
  91. data/lib/moneykit/models/response401_exchange_token_link_session_exchange_token_post.rb +74 -267
  92. data/lib/moneykit/models/response401_get_account_links_id_accounts_account_id_get.rb +75 -269
  93. data/lib/moneykit/models/response401_get_account_numbers_links_id_accounts_numbers_get.rb +75 -269
  94. data/lib/moneykit/models/response401_get_accounts_links_id_accounts_get.rb +75 -269
  95. data/lib/moneykit/models/response401_get_identities_links_id_identity_get.rb +75 -269
  96. data/lib/moneykit/models/response401_get_institution_institutions_institution_id_get.rb +74 -267
  97. data/lib/moneykit/models/response401_get_institutions_institutions_get.rb +74 -267
  98. data/lib/moneykit/models/response401_get_link_links_id_get.rb +75 -269
  99. data/lib/moneykit/models/response401_get_transactions_diff_links_id_transactions_sync_get.rb +75 -269
  100. data/lib/moneykit/models/response401_get_transactions_links_id_transactions_get.rb +75 -269
  101. data/lib/moneykit/models/response401_get_user_accounts_users_id_accounts_get.rb +74 -267
  102. data/lib/moneykit/models/response401_get_user_links_users_id_links_get.rb +74 -267
  103. data/lib/moneykit/models/response401_get_user_transactions_users_id_transactions_get.rb +74 -267
  104. data/lib/moneykit/models/response401_get_well_known_jwks_well_known_jwks_json_get.rb +74 -267
  105. data/lib/moneykit/models/response401_instrospect_client_auth_introspect_get.rb +74 -267
  106. data/lib/moneykit/models/response401_refresh_products_links_id_products_post.rb +75 -269
  107. data/lib/moneykit/models/response401_reset_login_links_id_reset_post.rb +102 -0
  108. data/lib/moneykit/models/response401_trigger_test_link_webhook_event_webhooks_test_link_id_post.rb +102 -0
  109. data/lib/moneykit/models/response401_update_link_links_id_patch.rb +75 -269
  110. data/lib/moneykit/models/transaction.rb +35 -35
  111. data/lib/moneykit/models/transaction_diff.rb +36 -37
  112. data/lib/moneykit/models/transaction_sync_response.rb +23 -30
  113. data/lib/moneykit/models/transaction_type.rb +1 -1
  114. data/lib/moneykit/models/transaction_type_filter.rb +1 -1
  115. data/lib/moneykit/models/transactions_link_product.rb +18 -28
  116. data/lib/moneykit/models/transactions_product_settings.rb +16 -21
  117. data/lib/moneykit/models/update_link_request.rb +21 -28
  118. data/lib/moneykit/models/validation_error.rb +25 -28
  119. data/lib/moneykit/models/validation_error_location_inner.rb +101 -0
  120. data/lib/moneykit/models/webhook_link_test_event.rb +40 -0
  121. data/lib/moneykit/models/webhook_test_link_request.rb +252 -0
  122. data/lib/moneykit/models/webhook_test_link_response.rb +220 -0
  123. data/lib/moneykit/version.rb +2 -2
  124. data/lib/moneykit.rb +10 -29
  125. data/lib/plaid_compatible/money_kit_plaid_compatible/api/plaid_api.rb +684 -679
  126. data/lib/plaid_compatible/money_kit_plaid_compatible/api_client.rb +330 -330
  127. data/lib/plaid_compatible/money_kit_plaid_compatible/api_error.rb +33 -33
  128. data/lib/plaid_compatible/money_kit_plaid_compatible/configuration.rb +245 -245
  129. data/lib/plaid_compatible/money_kit_plaid_compatible/models/account_balance.rb +198 -198
  130. data/lib/plaid_compatible/money_kit_plaid_compatible/models/account_base.rb +213 -213
  131. data/lib/plaid_compatible/money_kit_plaid_compatible/models/account_identity.rb +223 -223
  132. data/lib/plaid_compatible/money_kit_plaid_compatible/models/account_subtype.rb +89 -89
  133. data/lib/plaid_compatible/money_kit_plaid_compatible/models/account_type.rb +22 -22
  134. data/lib/plaid_compatible/money_kit_plaid_compatible/models/accounts_get_request.rb +198 -198
  135. data/lib/plaid_compatible/money_kit_plaid_compatible/models/accounts_get_request_options.rb +175 -175
  136. data/lib/plaid_compatible/money_kit_plaid_compatible/models/accounts_get_response.rb +194 -194
  137. data/lib/plaid_compatible/money_kit_plaid_compatible/models/address.rb +183 -183
  138. data/lib/plaid_compatible/money_kit_plaid_compatible/models/address_data.rb +209 -209
  139. data/lib/plaid_compatible/money_kit_plaid_compatible/models/auth_get_numbers.rb +211 -209
  140. data/lib/plaid_compatible/money_kit_plaid_compatible/models/auth_get_request.rb +198 -198
  141. data/lib/plaid_compatible/money_kit_plaid_compatible/models/auth_get_request_options.rb +175 -175
  142. data/lib/plaid_compatible/money_kit_plaid_compatible/models/auth_get_response.rb +200 -200
  143. data/lib/plaid_compatible/money_kit_plaid_compatible/models/country_code.rb +19 -19
  144. data/lib/plaid_compatible/money_kit_plaid_compatible/models/email.rb +184 -184
  145. data/lib/plaid_compatible/money_kit_plaid_compatible/models/http_validation_error.rb +171 -171
  146. data/lib/plaid_compatible/money_kit_plaid_compatible/models/identity_get_request.rb +198 -198
  147. data/lib/plaid_compatible/money_kit_plaid_compatible/models/identity_get_request_options.rb +175 -175
  148. data/lib/plaid_compatible/money_kit_plaid_compatible/models/identity_get_response.rb +194 -194
  149. data/lib/plaid_compatible/money_kit_plaid_compatible/models/institution.rb +216 -214
  150. data/lib/plaid_compatible/money_kit_plaid_compatible/models/institutions_get_by_id_request.rb +202 -202
  151. data/lib/plaid_compatible/money_kit_plaid_compatible/models/institutions_get_by_id_response.rb +183 -183
  152. data/lib/plaid_compatible/money_kit_plaid_compatible/models/item.rb +246 -245
  153. data/lib/plaid_compatible/money_kit_plaid_compatible/models/item_error_webhook.rb +208 -208
  154. data/lib/plaid_compatible/money_kit_plaid_compatible/models/item_get_request.rb +192 -192
  155. data/lib/plaid_compatible/money_kit_plaid_compatible/models/item_get_response.rb +189 -189
  156. data/lib/plaid_compatible/money_kit_plaid_compatible/models/item_public_token_exchange_request.rb +192 -192
  157. data/lib/plaid_compatible/money_kit_plaid_compatible/models/item_public_token_exchange_response.rb +193 -193
  158. data/lib/plaid_compatible/money_kit_plaid_compatible/models/item_remove_request.rb +192 -192
  159. data/lib/plaid_compatible/money_kit_plaid_compatible/models/item_remove_response.rb +175 -175
  160. data/lib/plaid_compatible/money_kit_plaid_compatible/models/item_status_investments.rb +182 -182
  161. data/lib/plaid_compatible/money_kit_plaid_compatible/models/item_status_last_webhook.rb +182 -182
  162. data/lib/plaid_compatible/money_kit_plaid_compatible/models/item_status_nullable.rb +183 -183
  163. data/lib/plaid_compatible/money_kit_plaid_compatible/models/item_status_transactions.rb +182 -182
  164. data/lib/plaid_compatible/money_kit_plaid_compatible/models/link_token_create_request.rb +268 -266
  165. data/lib/plaid_compatible/money_kit_plaid_compatible/models/link_token_create_request_user.rb +212 -212
  166. data/lib/plaid_compatible/money_kit_plaid_compatible/models/link_token_create_response.rb +193 -193
  167. data/lib/plaid_compatible/money_kit_plaid_compatible/models/numbers_ach.rb +202 -202
  168. data/lib/plaid_compatible/money_kit_plaid_compatible/models/numbers_bacs.rb +193 -193
  169. data/lib/plaid_compatible/money_kit_plaid_compatible/models/numbers_eft.rb +202 -202
  170. data/lib/plaid_compatible/money_kit_plaid_compatible/models/numbers_international.rb +193 -193
  171. data/lib/plaid_compatible/money_kit_plaid_compatible/models/owner.rb +211 -209
  172. data/lib/plaid_compatible/money_kit_plaid_compatible/models/personal_finance_category.rb +184 -184
  173. data/lib/plaid_compatible/money_kit_plaid_compatible/models/phone_number.rb +193 -193
  174. data/lib/plaid_compatible/money_kit_plaid_compatible/models/plaid_error.rb +247 -245
  175. data/lib/plaid_compatible/money_kit_plaid_compatible/models/plaid_error_type.rb +30 -30
  176. data/lib/plaid_compatible/money_kit_plaid_compatible/models/products.rb +20 -20
  177. data/lib/plaid_compatible/money_kit_plaid_compatible/models/removed_transaction.rb +174 -174
  178. data/lib/plaid_compatible/money_kit_plaid_compatible/models/transaction.rb +283 -283
  179. data/lib/plaid_compatible/money_kit_plaid_compatible/models/transactions_get_request.rb +217 -217
  180. data/lib/plaid_compatible/money_kit_plaid_compatible/models/transactions_get_request_options.rb +211 -211
  181. data/lib/plaid_compatible/money_kit_plaid_compatible/models/transactions_get_response.rb +217 -217
  182. data/lib/plaid_compatible/money_kit_plaid_compatible/models/transactions_refresh_request.rb +192 -192
  183. data/lib/plaid_compatible/money_kit_plaid_compatible/models/transactions_refresh_response.rb +175 -175
  184. data/lib/plaid_compatible/money_kit_plaid_compatible/models/transactions_sync_request.rb +215 -215
  185. data/lib/plaid_compatible/money_kit_plaid_compatible/models/transactions_sync_request_options.rb +184 -184
  186. data/lib/plaid_compatible/money_kit_plaid_compatible/models/transactions_sync_response.rb +228 -228
  187. data/lib/plaid_compatible/money_kit_plaid_compatible/models/validation_error.rb +187 -187
  188. data/lib/plaid_compatible/money_kit_plaid_compatible/models/webhook_environment_values.rb +19 -19
  189. data/lib/plaid_compatible/money_kit_plaid_compatible/version.rb +1 -1
  190. data/lib/plaid_compatible/money_kit_plaid_compatible.rb +13 -13
  191. data/moneykit.gemspec +2 -1
  192. metadata +14 -5
@@ -5,7 +5,7 @@
5
5
  # The version of the OpenAPI document: 0.1.0
6
6
  #
7
7
  # Generated by: https://openapi-generator.tech
8
- # OpenAPI Generator version: 6.5.0
8
+ # OpenAPI Generator version: 7.1.0
9
9
  #
10
10
 
11
11
  require 'date'
@@ -13,7 +13,6 @@ require 'time'
13
13
 
14
14
  module MoneyKit
15
15
  class JWKSet
16
- # JWKs used for validating MoneyKit-issued tokens.
17
16
  attr_accessor :keys
18
17
 
19
18
  # Attribute mapping from ruby-style variable name to JSON key.
@@ -57,15 +56,19 @@ module MoneyKit
57
56
  h[k.to_sym] = v
58
57
  end
59
58
 
60
- return unless attributes.key?(:keys)
61
- return unless (value = attributes[:keys]).is_a?(Array)
62
-
63
- self.keys = value
59
+ if attributes.key?(:keys)
60
+ if (value = attributes[:keys]).is_a?(Array)
61
+ self.keys = value
62
+ end
63
+ else
64
+ self.keys = nil
65
+ end
64
66
  end
65
67
 
66
68
  # Show invalid properties with the reasons. Usually used together with valid?
67
69
  # @return Array for valid properties with the reasons
68
70
  def list_invalid_properties
71
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
69
72
  invalid_properties = []
70
73
  invalid_properties.push('invalid value for "keys", keys cannot be nil.') if @keys.nil?
71
74
 
@@ -75,6 +78,7 @@ module MoneyKit
75
78
  # Check to see if the all the properties in the model are valid
76
79
  # @return true if the model is valid
77
80
  def valid?
81
+ warn '[DEPRECATED] the `valid?` method is obsolete'
78
82
  return false if @keys.nil?
79
83
 
80
84
  true
@@ -105,40 +109,33 @@ module MoneyKit
105
109
  # @param [Hash] attributes Model attributes in the form of hash
106
110
  # @return [Object] Returns the model itself
107
111
  def self.build_from_hash(attributes)
108
- new.build_from_hash(attributes)
109
- end
110
-
111
- # Builds the object from hash
112
- # @param [Hash] attributes Model attributes in the form of hash
113
- # @return [Object] Returns the model itself
114
- def build_from_hash(attributes)
115
112
  return nil unless attributes.is_a?(Hash)
116
113
 
117
114
  attributes = attributes.transform_keys(&:to_sym)
118
- self.class.openapi_types.each_pair do |key, type|
119
- if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
120
- send("#{key}=", nil)
115
+ transformed_hash = {}
116
+ openapi_types.each_pair do |key, type|
117
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
118
+ transformed_hash["#{key}"] = nil
121
119
  elsif type =~ /\AArray<(.*)>/i
122
120
  # check to ensure the input is an array given that the attribute
123
121
  # is documented as an array but the input is not
124
- if attributes[self.class.attribute_map[key]].is_a?(Array)
125
- send("#{key}=", attributes[self.class.attribute_map[key]].map do |v|
126
- _deserialize(::Regexp.last_match(1), v)
127
- end)
122
+ if attributes[attribute_map[key]].is_a?(Array)
123
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map do |v|
124
+ _deserialize(::Regexp.last_match(1), v)
125
+ end
128
126
  end
129
- elsif !attributes[self.class.attribute_map[key]].nil?
130
- send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
127
+ elsif !attributes[attribute_map[key]].nil?
128
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
131
129
  end
132
130
  end
133
-
134
- self
131
+ new(transformed_hash)
135
132
  end
136
133
 
137
134
  # Deserializes the data based on type
138
135
  # @param string type Data type
139
136
  # @param string value Value to be deserialized
140
137
  # @return [Object] Deserialized data
141
- def _deserialize(type, value)
138
+ def self._deserialize(type, value)
142
139
  case type.to_sym
143
140
  when :Time
144
141
  Time.parse(value)
@@ -173,7 +170,7 @@ module MoneyKit
173
170
  else # model
174
171
  # models (e.g. Pet) or oneOf
175
172
  klass = MoneyKit.const_get(type)
176
- klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
173
+ klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
177
174
  end
178
175
  end
179
176
 
@@ -5,7 +5,7 @@
5
5
  # The version of the OpenAPI document: 0.1.0
6
6
  #
7
7
  # Generated by: https://openapi-generator.tech
8
- # OpenAPI Generator version: 6.5.0
8
+ # OpenAPI Generator version: 7.1.0
9
9
  #
10
10
 
11
11
  require 'date'
@@ -22,14 +22,11 @@ module MoneyKit
22
22
  # The institution name this link is connected to.
23
23
  attr_accessor :institution_name
24
24
 
25
- attr_accessor :state, :error_code, :products
25
+ attr_accessor :state, :error_code, :tags, :products
26
26
 
27
27
  # An ISO-8601 timestamp indicating the last time that the account was updated.
28
28
  attr_accessor :last_synced_at
29
29
 
30
- # Arbitrary strings used to describe this link.
31
- attr_accessor :tags
32
-
33
30
  class EnumAttributeValidator
34
31
  attr_reader :datatype, :allowable_values
35
32
 
@@ -77,20 +74,16 @@ module MoneyKit
77
74
  'institution_id': :String,
78
75
  'institution_name': :String,
79
76
  'state': :LinkState,
80
- 'error_code': :LinkError,
77
+ 'error_code': :PublicLinkError,
81
78
  'last_synced_at': :Time,
82
79
  'tags': :'Array<String>',
83
- 'products': :Products
80
+ 'products': :LinkProducts
84
81
  }
85
82
  end
86
83
 
87
84
  # List of attributes with nullable: true
88
85
  def self.openapi_nullable
89
- Set.new(%i[
90
- error_code
91
- last_synced_at
92
- tags
93
- ])
86
+ Set.new([])
94
87
  end
95
88
 
96
89
  # Initializes the object
@@ -111,13 +104,13 @@ module MoneyKit
111
104
  h[k.to_sym] = v
112
105
  end
113
106
 
114
- self.link_id = attributes[:link_id] if attributes.key?(:link_id)
107
+ self.link_id = (attributes[:link_id] if attributes.key?(:link_id))
115
108
 
116
- self.institution_id = attributes[:institution_id] if attributes.key?(:institution_id)
109
+ self.institution_id = (attributes[:institution_id] if attributes.key?(:institution_id))
117
110
 
118
- self.institution_name = attributes[:institution_name] if attributes.key?(:institution_name)
111
+ self.institution_name = (attributes[:institution_name] if attributes.key?(:institution_name))
119
112
 
120
- self.state = attributes[:state] if attributes.key?(:state)
113
+ self.state = (attributes[:state] if attributes.key?(:state))
121
114
 
122
115
  self.error_code = attributes[:error_code] if attributes.key?(:error_code)
123
116
 
@@ -127,14 +120,13 @@ module MoneyKit
127
120
  self.tags = value
128
121
  end
129
122
 
130
- return unless attributes.key?(:products)
131
-
132
- self.products = attributes[:products]
123
+ self.products = (attributes[:products] if attributes.key?(:products))
133
124
  end
134
125
 
135
126
  # Show invalid properties with the reasons. Usually used together with valid?
136
127
  # @return Array for valid properties with the reasons
137
128
  def list_invalid_properties
129
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
138
130
  invalid_properties = []
139
131
  invalid_properties.push('invalid value for "link_id", link_id cannot be nil.') if @link_id.nil?
140
132
 
@@ -156,6 +148,7 @@ module MoneyKit
156
148
  # Check to see if the all the properties in the model are valid
157
149
  # @return true if the model is valid
158
150
  def valid?
151
+ warn '[DEPRECATED] the `valid?` method is obsolete'
159
152
  return false if @link_id.nil?
160
153
  return false if @institution_id.nil?
161
154
  return false if @institution_name.nil?
@@ -197,40 +190,33 @@ module MoneyKit
197
190
  # @param [Hash] attributes Model attributes in the form of hash
198
191
  # @return [Object] Returns the model itself
199
192
  def self.build_from_hash(attributes)
200
- new.build_from_hash(attributes)
201
- end
202
-
203
- # Builds the object from hash
204
- # @param [Hash] attributes Model attributes in the form of hash
205
- # @return [Object] Returns the model itself
206
- def build_from_hash(attributes)
207
193
  return nil unless attributes.is_a?(Hash)
208
194
 
209
195
  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
- send("#{key}=", nil)
196
+ transformed_hash = {}
197
+ openapi_types.each_pair do |key, type|
198
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
199
+ transformed_hash["#{key}"] = nil
213
200
  elsif type =~ /\AArray<(.*)>/i
214
201
  # check to ensure the input is an array given that the attribute
215
202
  # is documented as an array but the input is not
216
- if attributes[self.class.attribute_map[key]].is_a?(Array)
217
- send("#{key}=", attributes[self.class.attribute_map[key]].map do |v|
218
- _deserialize(::Regexp.last_match(1), v)
219
- end)
203
+ if attributes[attribute_map[key]].is_a?(Array)
204
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map do |v|
205
+ _deserialize(::Regexp.last_match(1), v)
206
+ end
220
207
  end
221
- elsif !attributes[self.class.attribute_map[key]].nil?
222
- send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
208
+ elsif !attributes[attribute_map[key]].nil?
209
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
223
210
  end
224
211
  end
225
-
226
- self
212
+ new(transformed_hash)
227
213
  end
228
214
 
229
215
  # Deserializes the data based on type
230
216
  # @param string type Data type
231
217
  # @param string value Value to be deserialized
232
218
  # @return [Object] Deserialized data
233
- def _deserialize(type, value)
219
+ def self._deserialize(type, value)
234
220
  case type.to_sym
235
221
  when :Time
236
222
  Time.parse(value)
@@ -265,7 +251,7 @@ module MoneyKit
265
251
  else # model
266
252
  # models (e.g. Pet) or oneOf
267
253
  klass = MoneyKit.const_get(type)
268
- klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
254
+ klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
269
255
  end
270
256
  end
271
257
 
@@ -0,0 +1,269 @@
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
+ # Bad link configuration.
16
+ class LinkErrorBadConfigResponse
17
+ attr_accessor :error_code, :error_message, :documentation_url
18
+
19
+ class EnumAttributeValidator
20
+ attr_reader :datatype, :allowable_values
21
+
22
+ def initialize(datatype, allowable_values)
23
+ @allowable_values = allowable_values.map do |value|
24
+ case datatype.to_s
25
+ when /Integer/i
26
+ value.to_i
27
+ when /Float/i
28
+ value.to_f
29
+ else
30
+ value
31
+ end
32
+ end
33
+ end
34
+
35
+ def valid?(value)
36
+ !value || allowable_values.include?(value)
37
+ end
38
+ end
39
+
40
+ # Attribute mapping from ruby-style variable name to JSON key.
41
+ def self.attribute_map
42
+ {
43
+ 'error_code': :error_code,
44
+ 'error_message': :error_message,
45
+ 'documentation_url': :documentation_url
46
+ }
47
+ end
48
+
49
+ # Returns all the JSON keys this model knows about
50
+ def self.acceptable_attributes
51
+ attribute_map.values
52
+ end
53
+
54
+ # Attribute type mapping.
55
+ def self.openapi_types
56
+ {
57
+ 'error_code': :String,
58
+ 'error_message': :String,
59
+ 'documentation_url': :String
60
+ }
61
+ end
62
+
63
+ # List of attributes with nullable: true
64
+ def self.openapi_nullable
65
+ Set.new([])
66
+ end
67
+
68
+ # Initializes the object
69
+ # @param [Hash] attributes Model attributes in the form of hash
70
+ def initialize(attributes = {})
71
+ unless attributes.is_a?(Hash)
72
+ raise ArgumentError,
73
+ 'The input argument (attributes) must be a hash in `MoneyKit::LinkErrorBadConfigResponse` initialize method'
74
+ end
75
+
76
+ # check to see if the attribute exists and convert string to symbol for hash key
77
+ attributes = attributes.each_with_object({}) do |(k, v), h|
78
+ unless self.class.attribute_map.key?(k.to_sym)
79
+ raise ArgumentError,
80
+ "`#{k}` is not a valid attribute in `MoneyKit::LinkErrorBadConfigResponse`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
81
+ end
82
+
83
+ h[k.to_sym] = v
84
+ end
85
+
86
+ self.error_code = if attributes.key?(:error_code)
87
+ attributes[:error_code]
88
+ else
89
+ 'link_error.bad_config'
90
+ end
91
+
92
+ self.error_message = (attributes[:error_message] if attributes.key?(:error_message))
93
+
94
+ return unless attributes.key?(:documentation_url)
95
+
96
+ self.documentation_url = attributes[:documentation_url]
97
+ end
98
+
99
+ # Show invalid properties with the reasons. Usually used together with valid?
100
+ # @return Array for valid properties with the reasons
101
+ def list_invalid_properties
102
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
103
+ invalid_properties = []
104
+ invalid_properties.push('invalid value for "error_message", error_message cannot be nil.') if @error_message.nil?
105
+
106
+ invalid_properties
107
+ end
108
+
109
+ # Check to see if the all the properties in the model are valid
110
+ # @return true if the model is valid
111
+ def valid?
112
+ warn '[DEPRECATED] the `valid?` method is obsolete'
113
+ error_code_validator = EnumAttributeValidator.new('String', ['link_error.bad_config'])
114
+ return false unless error_code_validator.valid?(@error_code)
115
+ return false if @error_message.nil?
116
+
117
+ true
118
+ end
119
+
120
+ # Custom attribute writer method checking allowed values (enum).
121
+ # @param [Object] error_code Object to be assigned
122
+ def error_code=(error_code)
123
+ validator = EnumAttributeValidator.new('String', ['link_error.bad_config'])
124
+ unless validator.valid?(error_code)
125
+ raise ArgumentError, "invalid value for \"error_code\", must be one of #{validator.allowable_values}."
126
+ end
127
+
128
+ @error_code = error_code
129
+ end
130
+
131
+ # Checks equality by comparing each attribute.
132
+ # @param [Object] Object to be compared
133
+ def ==(other)
134
+ return true if equal?(other)
135
+
136
+ self.class == other.class &&
137
+ error_code == other.error_code &&
138
+ error_message == other.error_message &&
139
+ documentation_url == other.documentation_url
140
+ end
141
+
142
+ # @see the `==` method
143
+ # @param [Object] Object to be compared
144
+ def eql?(other)
145
+ self == other
146
+ end
147
+
148
+ # Calculates hash code according to all attributes.
149
+ # @return [Integer] Hash code
150
+ def hash
151
+ [error_code, error_message, documentation_url].hash
152
+ end
153
+
154
+ # Builds the object from hash
155
+ # @param [Hash] attributes Model attributes in the form of hash
156
+ # @return [Object] Returns the model itself
157
+ def self.build_from_hash(attributes)
158
+ return nil unless attributes.is_a?(Hash)
159
+
160
+ attributes = attributes.transform_keys(&:to_sym)
161
+ transformed_hash = {}
162
+ openapi_types.each_pair do |key, type|
163
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
164
+ transformed_hash["#{key}"] = nil
165
+ elsif type =~ /\AArray<(.*)>/i
166
+ # check to ensure the input is an array given that the attribute
167
+ # is documented as an array but the input is not
168
+ if attributes[attribute_map[key]].is_a?(Array)
169
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map do |v|
170
+ _deserialize(::Regexp.last_match(1), v)
171
+ end
172
+ end
173
+ elsif !attributes[attribute_map[key]].nil?
174
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
175
+ end
176
+ end
177
+ new(transformed_hash)
178
+ end
179
+
180
+ # Deserializes the data based on type
181
+ # @param string type Data type
182
+ # @param string value Value to be deserialized
183
+ # @return [Object] Deserialized data
184
+ def self._deserialize(type, value)
185
+ case type.to_sym
186
+ when :Time
187
+ Time.parse(value)
188
+ when :Date
189
+ Date.parse(value)
190
+ when :String
191
+ value.to_s
192
+ when :Integer
193
+ value.to_i
194
+ when :Float
195
+ value.to_f
196
+ when :Boolean
197
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
198
+ true
199
+ else
200
+ false
201
+ end
202
+ when :Object
203
+ # generic object (usually a Hash), return directly
204
+ value
205
+ when /\AArray<(?<inner_type>.+)>\z/
206
+ inner_type = Regexp.last_match[:inner_type]
207
+ value.map { |v| _deserialize(inner_type, v) }
208
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
209
+ k_type = Regexp.last_match[:k_type]
210
+ v_type = Regexp.last_match[:v_type]
211
+ {}.tap do |hash|
212
+ value.each do |k, v|
213
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
214
+ end
215
+ end
216
+ else # model
217
+ # models (e.g. Pet) or oneOf
218
+ klass = MoneyKit.const_get(type)
219
+ klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
220
+ end
221
+ end
222
+
223
+ # Returns the string representation of the object
224
+ # @return [String] String presentation of the object
225
+ def to_s
226
+ to_hash.to_s
227
+ end
228
+
229
+ # to_body is an alias to to_hash (backward compatibility)
230
+ # @return [Hash] Returns the object in the form of hash
231
+ def to_body
232
+ to_hash
233
+ end
234
+
235
+ # Returns the object in the form of hash
236
+ # @return [Hash] Returns the object in the form of hash
237
+ def to_hash
238
+ hash = {}
239
+ self.class.attribute_map.each_pair do |attr, param|
240
+ value = send(attr)
241
+ if value.nil?
242
+ is_nullable = self.class.openapi_nullable.include?(attr)
243
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
244
+ end
245
+
246
+ hash[param] = _to_hash(value)
247
+ end
248
+ hash
249
+ end
250
+
251
+ # Outputs non-array value in the form of hash
252
+ # For object, use to_hash. Otherwise, just return the value
253
+ # @param [Object] value Any valid value
254
+ # @return [Hash] Returns the value in the form of hash
255
+ def _to_hash(value)
256
+ if value.is_a?(Array)
257
+ value.compact.map { |v| _to_hash(v) }
258
+ elsif value.is_a?(Hash)
259
+ {}.tap do |hash|
260
+ value.each { |k, v| hash[k] = _to_hash(v) }
261
+ end
262
+ elsif value.respond_to? :to_hash
263
+ value.to_hash
264
+ else
265
+ value
266
+ end
267
+ end
268
+ end
269
+ end
@@ -5,7 +5,7 @@
5
5
  # The version of the OpenAPI document: 0.1.0
6
6
  #
7
7
  # Generated by: https://openapi-generator.tech
8
- # OpenAPI Generator version: 6.5.0
8
+ # OpenAPI Generator version: 7.1.0
9
9
  #
10
10
 
11
11
  require 'date'
@@ -64,9 +64,7 @@ module MoneyKit
64
64
 
65
65
  # List of attributes with nullable: true
66
66
  def self.openapi_nullable
67
- Set.new([
68
- :documentation_url
69
- ])
67
+ Set.new([])
70
68
  end
71
69
 
72
70
  # Initializes the object
@@ -93,18 +91,17 @@ module MoneyKit
93
91
  'link_error.bad_state'
94
92
  end
95
93
 
96
- self.error_message = attributes[:error_message] if attributes.key?(:error_message)
94
+ self.error_message = (attributes[:error_message] if attributes.key?(:error_message))
97
95
 
98
96
  self.documentation_url = attributes[:documentation_url] if attributes.key?(:documentation_url)
99
97
 
100
- return unless attributes.key?(:link_error_code)
101
-
102
- self.link_error_code = attributes[:link_error_code]
98
+ self.link_error_code = (attributes[:link_error_code] if attributes.key?(:link_error_code))
103
99
  end
104
100
 
105
101
  # Show invalid properties with the reasons. Usually used together with valid?
106
102
  # @return Array for valid properties with the reasons
107
103
  def list_invalid_properties
104
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
108
105
  invalid_properties = []
109
106
  invalid_properties.push('invalid value for "error_message", error_message cannot be nil.') if @error_message.nil?
110
107
 
@@ -118,6 +115,7 @@ module MoneyKit
118
115
  # Check to see if the all the properties in the model are valid
119
116
  # @return true if the model is valid
120
117
  def valid?
118
+ warn '[DEPRECATED] the `valid?` method is obsolete'
121
119
  error_code_validator = EnumAttributeValidator.new('String', ['link_error.bad_state'])
122
120
  return false unless error_code_validator.valid?(@error_code)
123
121
  return false if @error_message.nil?
@@ -165,40 +163,33 @@ module MoneyKit
165
163
  # @param [Hash] attributes Model attributes in the form of hash
166
164
  # @return [Object] Returns the model itself
167
165
  def self.build_from_hash(attributes)
168
- new.build_from_hash(attributes)
169
- end
170
-
171
- # Builds the object from hash
172
- # @param [Hash] attributes Model attributes in the form of hash
173
- # @return [Object] Returns the model itself
174
- def build_from_hash(attributes)
175
166
  return nil unless attributes.is_a?(Hash)
176
167
 
177
168
  attributes = attributes.transform_keys(&:to_sym)
178
- self.class.openapi_types.each_pair do |key, type|
179
- if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
180
- send("#{key}=", nil)
169
+ transformed_hash = {}
170
+ openapi_types.each_pair do |key, type|
171
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
172
+ transformed_hash["#{key}"] = nil
181
173
  elsif type =~ /\AArray<(.*)>/i
182
174
  # check to ensure the input is an array given that the attribute
183
175
  # is documented as an array but the input is not
184
- if attributes[self.class.attribute_map[key]].is_a?(Array)
185
- send("#{key}=", attributes[self.class.attribute_map[key]].map do |v|
186
- _deserialize(::Regexp.last_match(1), v)
187
- end)
176
+ if attributes[attribute_map[key]].is_a?(Array)
177
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map do |v|
178
+ _deserialize(::Regexp.last_match(1), v)
179
+ end
188
180
  end
189
- elsif !attributes[self.class.attribute_map[key]].nil?
190
- send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
181
+ elsif !attributes[attribute_map[key]].nil?
182
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
191
183
  end
192
184
  end
193
-
194
- self
185
+ new(transformed_hash)
195
186
  end
196
187
 
197
188
  # Deserializes the data based on type
198
189
  # @param string type Data type
199
190
  # @param string value Value to be deserialized
200
191
  # @return [Object] Deserialized data
201
- def _deserialize(type, value)
192
+ def self._deserialize(type, value)
202
193
  case type.to_sym
203
194
  when :Time
204
195
  Time.parse(value)
@@ -233,7 +224,7 @@ module MoneyKit
233
224
  else # model
234
225
  # models (e.g. Pet) or oneOf
235
226
  klass = MoneyKit.const_get(type)
236
- klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
227
+ klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
237
228
  end
238
229
  end
239
230