plaid 13.2.0 → 14.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (722) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +94 -1
  3. data/CONTRIBUTING.md +12 -60
  4. data/Dockerfile +12 -0
  5. data/Gemfile.lock +56 -37
  6. data/LICENSE.txt +1 -1
  7. data/Makefile +2 -0
  8. data/PUBLISH.md +6 -7
  9. data/README.md +101 -94
  10. data/Rakefile +8 -79
  11. data/UPGRADING.md +4 -0
  12. data/doc/rdoc/.DS_Store +0 -0
  13. data/doc/rdoc/apple-touch-icon.png +0 -0
  14. data/doc/rdoc/classes/Object.html +118 -0
  15. data/doc/rdoc/classes/Plaid/APIError.html +97 -0
  16. data/doc/rdoc/classes/Plaid/AccessToken/InvalidateResponse.html +110 -0
  17. data/doc/rdoc/classes/Plaid/AccessToken.html +211 -0
  18. data/doc/rdoc/classes/Plaid/Accounts.html +257 -0
  19. data/doc/rdoc/classes/Plaid/AccountsResponse.html +119 -0
  20. data/doc/rdoc/classes/Plaid/Apex/ProcessorToken.html +205 -0
  21. data/doc/rdoc/classes/Plaid/Apex.html +149 -0
  22. data/doc/rdoc/classes/Plaid/AssetReport.html +683 -0
  23. data/doc/rdoc/classes/Plaid/AssetReportCreateResponse.html +118 -0
  24. data/doc/rdoc/classes/Plaid/AssetReportFilterResponse.html +96 -0
  25. data/doc/rdoc/classes/Plaid/AssetReportGetResponse.html +118 -0
  26. data/doc/rdoc/classes/Plaid/AssetReportRefreshResponse.html +96 -0
  27. data/doc/rdoc/classes/Plaid/AssetReportRemoveResponse.html +110 -0
  28. data/doc/rdoc/classes/Plaid/AuditCopyCreateResponse.html +110 -0
  29. data/doc/rdoc/classes/Plaid/AuditCopyGetResponse.html +96 -0
  30. data/doc/rdoc/classes/Plaid/AuditCopyRemoveResponse.html +110 -0
  31. data/doc/rdoc/classes/Plaid/Auth.html +206 -0
  32. data/doc/rdoc/classes/Plaid/AuthResponse.html +127 -0
  33. data/doc/rdoc/classes/Plaid/Balance.html +206 -0
  34. data/doc/rdoc/classes/Plaid/BaseProduct.html +304 -0
  35. data/doc/rdoc/classes/Plaid/Categories.html +191 -0
  36. data/doc/rdoc/classes/Plaid/CategoriesResponse.html +111 -0
  37. data/doc/rdoc/classes/Plaid/Client.html +802 -0
  38. data/doc/rdoc/classes/Plaid/CreateResponse.html +118 -0
  39. data/doc/rdoc/classes/Plaid/CreditDetails.html +203 -0
  40. data/doc/rdoc/classes/Plaid/CreditDetailsResponse.html +128 -0
  41. data/doc/rdoc/classes/Plaid/DepositSwitch/CreateResponse.html +110 -0
  42. data/doc/rdoc/classes/Plaid/DepositSwitch/CreateTokenResponse.html +118 -0
  43. data/doc/rdoc/classes/Plaid/DepositSwitch/GetResponse.html +150 -0
  44. data/doc/rdoc/classes/Plaid/DepositSwitch.html +339 -0
  45. data/doc/rdoc/classes/Plaid/Dwolla/ProcessorToken.html +205 -0
  46. data/doc/rdoc/classes/Plaid/Dwolla.html +150 -0
  47. data/doc/rdoc/classes/Plaid/Error.html +214 -0
  48. data/doc/rdoc/classes/Plaid/GetResponse.html +134 -0
  49. data/doc/rdoc/classes/Plaid/Holdings/GetResponse.html +137 -0
  50. data/doc/rdoc/classes/Plaid/Holdings.html +218 -0
  51. data/doc/rdoc/classes/Plaid/Identity.html +199 -0
  52. data/doc/rdoc/classes/Plaid/IdentityResponse.html +119 -0
  53. data/doc/rdoc/classes/Plaid/Income.html +198 -0
  54. data/doc/rdoc/classes/Plaid/IncomeResponse.html +119 -0
  55. data/doc/rdoc/classes/Plaid/InstitutionError.html +96 -0
  56. data/doc/rdoc/classes/Plaid/Institutions.html +356 -0
  57. data/doc/rdoc/classes/Plaid/InvalidInputError.html +97 -0
  58. data/doc/rdoc/classes/Plaid/InvalidRequestError.html +96 -0
  59. data/doc/rdoc/classes/Plaid/InvestmentTransactions/GetResponse.html +145 -0
  60. data/doc/rdoc/classes/Plaid/InvestmentTransactions.html +240 -0
  61. data/doc/rdoc/classes/Plaid/Investments.html +204 -0
  62. data/doc/rdoc/classes/Plaid/Item/GetResponse.html +119 -0
  63. data/doc/rdoc/classes/Plaid/Item/ImportResponse.html +110 -0
  64. data/doc/rdoc/classes/Plaid/Item/RemoveResponse.html +110 -0
  65. data/doc/rdoc/classes/Plaid/Item.html +382 -0
  66. data/doc/rdoc/classes/Plaid/ItemError.html +98 -0
  67. data/doc/rdoc/classes/Plaid/Liabilities.html +202 -0
  68. data/doc/rdoc/classes/Plaid/LiabilitiesResponse.html +128 -0
  69. data/doc/rdoc/classes/Plaid/LinkToken.html +215 -0
  70. data/doc/rdoc/classes/Plaid/Middleware.html +225 -0
  71. data/doc/rdoc/classes/Plaid/Models/Account.html +166 -0
  72. data/doc/rdoc/classes/Plaid/Models/AccountWithOwners.html +110 -0
  73. data/doc/rdoc/classes/Plaid/Models/AssetReport.html +153 -0
  74. data/doc/rdoc/classes/Plaid/Models/AssetReportAccount.html +198 -0
  75. data/doc/rdoc/classes/Plaid/Models/AssetReportBalance.html +142 -0
  76. data/doc/rdoc/classes/Plaid/Models/AssetReportHistoricalBalance.html +142 -0
  77. data/doc/rdoc/classes/Plaid/Models/AssetReportItem.html +145 -0
  78. data/doc/rdoc/classes/Plaid/Models/AssetReportOwner.html +139 -0
  79. data/doc/rdoc/classes/Plaid/Models/AssetReportTransaction.html +187 -0
  80. data/doc/rdoc/classes/Plaid/Models/AssetReportUser.html +159 -0
  81. data/doc/rdoc/classes/Plaid/Models/Balances.html +142 -0
  82. data/doc/rdoc/classes/Plaid/Models/BaseError.html +140 -0
  83. data/doc/rdoc/classes/Plaid/Models/BaseModel.html +259 -0
  84. data/doc/rdoc/classes/Plaid/Models/BaseResponse.html +110 -0
  85. data/doc/rdoc/classes/Plaid/Models/Category.html +127 -0
  86. data/doc/rdoc/classes/Plaid/Models/Cause.html +110 -0
  87. data/doc/rdoc/classes/Plaid/Models/CreditCardLiability.html +175 -0
  88. data/doc/rdoc/classes/Plaid/Models/CreditCardLiabilityAPRs.html +137 -0
  89. data/doc/rdoc/classes/Plaid/Models/CreditDetails.html +166 -0
  90. data/doc/rdoc/classes/Plaid/Models/CreditDetailsAPR.html +126 -0
  91. data/doc/rdoc/classes/Plaid/Models/CreditDetailsAPRs.html +126 -0
  92. data/doc/rdoc/classes/Plaid/Models/Error.html +110 -0
  93. data/doc/rdoc/classes/Plaid/Models/Holding.html +181 -0
  94. data/doc/rdoc/classes/Plaid/Models/Identity.html +135 -0
  95. data/doc/rdoc/classes/Plaid/Models/IdentityAddress.html +118 -0
  96. data/doc/rdoc/classes/Plaid/Models/IdentityAddressData.html +142 -0
  97. data/doc/rdoc/classes/Plaid/Models/IdentityEmail.html +127 -0
  98. data/doc/rdoc/classes/Plaid/Models/IdentityPhoneNumber.html +126 -0
  99. data/doc/rdoc/classes/Plaid/Models/Income.html +173 -0
  100. data/doc/rdoc/classes/Plaid/Models/IncomeStream.html +136 -0
  101. data/doc/rdoc/classes/Plaid/Models/Institution.html +230 -0
  102. data/doc/rdoc/classes/Plaid/Models/InstitutionCredential.html +126 -0
  103. data/doc/rdoc/classes/Plaid/Models/InstitutionPaymentInitiationMetadata.html +136 -0
  104. data/doc/rdoc/classes/Plaid/Models/InstitutionStatus.html +111 -0
  105. data/doc/rdoc/classes/Plaid/Models/InstitutionStatusBreakdown.html +129 -0
  106. data/doc/rdoc/classes/Plaid/Models/InstitutionStatusItemLogins.html +127 -0
  107. data/doc/rdoc/classes/Plaid/Models/InvestmentTransaction.html +224 -0
  108. data/doc/rdoc/classes/Plaid/Models/Item.html +169 -0
  109. data/doc/rdoc/classes/Plaid/Models/ItemStatus.html +129 -0
  110. data/doc/rdoc/classes/Plaid/Models/ItemStatusInvestments.html +119 -0
  111. data/doc/rdoc/classes/Plaid/Models/ItemStatusLastWebhook.html +118 -0
  112. data/doc/rdoc/classes/Plaid/Models/ItemStatusTransactions.html +119 -0
  113. data/doc/rdoc/classes/Plaid/Models/Liabilities.html +130 -0
  114. data/doc/rdoc/classes/Plaid/Models/LinkTokenMetadata.html +158 -0
  115. data/doc/rdoc/classes/Plaid/Models/MFA/Device.html +110 -0
  116. data/doc/rdoc/classes/Plaid/Models/MFA/DeviceListElement.html +126 -0
  117. data/doc/rdoc/classes/Plaid/Models/MFA/Selection.html +118 -0
  118. data/doc/rdoc/classes/Plaid/Models/MFA.html +129 -0
  119. data/doc/rdoc/classes/Plaid/Models/NumberACH.html +134 -0
  120. data/doc/rdoc/classes/Plaid/Models/NumberBACS.html +126 -0
  121. data/doc/rdoc/classes/Plaid/Models/NumberEFT.html +134 -0
  122. data/doc/rdoc/classes/Plaid/Models/NumberInternational.html +127 -0
  123. data/doc/rdoc/classes/Plaid/Models/Numbers.html +135 -0
  124. data/doc/rdoc/classes/Plaid/Models/PSLFStatus.html +128 -0
  125. data/doc/rdoc/classes/Plaid/Models/Payment.html +191 -0
  126. data/doc/rdoc/classes/Plaid/Models/PaymentAmount.html +118 -0
  127. data/doc/rdoc/classes/Plaid/Models/PaymentRecipient.html +142 -0
  128. data/doc/rdoc/classes/Plaid/Models/PaymentRecipientAddress.html +134 -0
  129. data/doc/rdoc/classes/Plaid/Models/PaymentRecipientBACS.html +118 -0
  130. data/doc/rdoc/classes/Plaid/Models/PaymentSchedule.html +126 -0
  131. data/doc/rdoc/classes/Plaid/Models/Security.html +228 -0
  132. data/doc/rdoc/classes/Plaid/Models/StandingOrderMetadata.html +129 -0
  133. data/doc/rdoc/classes/Plaid/Models/StudentLoanLiability.html +305 -0
  134. data/doc/rdoc/classes/Plaid/Models/StudentLoanRepaymentPlan.html +118 -0
  135. data/doc/rdoc/classes/Plaid/Models/StudentLoanServicerAddress.html +142 -0
  136. data/doc/rdoc/classes/Plaid/Models/StudentLoanStatus.html +118 -0
  137. data/doc/rdoc/classes/Plaid/Models/Transaction.html +265 -0
  138. data/doc/rdoc/classes/Plaid/Models/TransactionLocation.html +166 -0
  139. data/doc/rdoc/classes/Plaid/Models/TransactionPaymentMeta.html +167 -0
  140. data/doc/rdoc/classes/Plaid/Models/Warning.html +126 -0
  141. data/doc/rdoc/classes/Plaid/Models/WebhookVerificationKey.html +174 -0
  142. data/doc/rdoc/classes/Plaid/Models.html +506 -0
  143. data/doc/rdoc/classes/Plaid/MultipleInstitutionsResponse.html +119 -0
  144. data/doc/rdoc/classes/Plaid/Ocrolus/ProcessorToken.html +205 -0
  145. data/doc/rdoc/classes/Plaid/Ocrolus.html +151 -0
  146. data/doc/rdoc/classes/Plaid/PaymentCreateResponse.html +118 -0
  147. data/doc/rdoc/classes/Plaid/PaymentGetResponse.html +191 -0
  148. data/doc/rdoc/classes/Plaid/PaymentInitiation.html +570 -0
  149. data/doc/rdoc/classes/Plaid/PaymentListResponse.html +119 -0
  150. data/doc/rdoc/classes/Plaid/PaymentRecipientCreateResponse.html +110 -0
  151. data/doc/rdoc/classes/Plaid/PaymentRecipientGetResponse.html +142 -0
  152. data/doc/rdoc/classes/Plaid/PaymentRecipientListResponse.html +110 -0
  153. data/doc/rdoc/classes/Plaid/PaymentTokenCreateResponse.html +118 -0
  154. data/doc/rdoc/classes/Plaid/PlaidAPIError.html +260 -0
  155. data/doc/rdoc/classes/Plaid/PlaidError.html +96 -0
  156. data/doc/rdoc/classes/Plaid/PlaidServerError.html +96 -0
  157. data/doc/rdoc/classes/Plaid/Processor.html +143 -0
  158. data/doc/rdoc/classes/Plaid/ProcessorToken.html +219 -0
  159. data/doc/rdoc/classes/Plaid/ProcessorTokenResponse.html +110 -0
  160. data/doc/rdoc/classes/Plaid/PublicToken/CreateResponse.html +118 -0
  161. data/doc/rdoc/classes/Plaid/PublicToken/ExchangeResponse.html +118 -0
  162. data/doc/rdoc/classes/Plaid/PublicToken.html +283 -0
  163. data/doc/rdoc/classes/Plaid/RateLimitExceededError.html +97 -0
  164. data/doc/rdoc/classes/Plaid/Sandbox.html +119 -0
  165. data/doc/rdoc/classes/Plaid/SandboxItem/FireWebhookResponse.html +110 -0
  166. data/doc/rdoc/classes/Plaid/SandboxItem/ResetLoginResponse.html +110 -0
  167. data/doc/rdoc/classes/Plaid/SandboxItem.html +351 -0
  168. data/doc/rdoc/classes/Plaid/SandboxPublicToken/SandboxCreateResponse.html +118 -0
  169. data/doc/rdoc/classes/Plaid/SandboxPublicToken.html +249 -0
  170. data/doc/rdoc/classes/Plaid/SingleInstitutionResponse.html +111 -0
  171. data/doc/rdoc/classes/Plaid/Stripe/BankAccountToken/CreateResponse.html +110 -0
  172. data/doc/rdoc/classes/Plaid/Stripe/BankAccountToken.html +215 -0
  173. data/doc/rdoc/classes/Plaid/Stripe.html +151 -0
  174. data/doc/rdoc/classes/Plaid/SubproductMixin.html +179 -0
  175. data/doc/rdoc/classes/Plaid/Transactions/GetResponse.html +144 -0
  176. data/doc/rdoc/classes/Plaid/Transactions.html +302 -0
  177. data/doc/rdoc/classes/Plaid/Webhook/UpdateResponse.html +110 -0
  178. data/doc/rdoc/classes/Plaid/Webhook.html +214 -0
  179. data/doc/rdoc/classes/Plaid/Webhooks/WebhookVerificationKeyGetResponse.html +110 -0
  180. data/doc/rdoc/classes/Plaid/Webhooks.html +207 -0
  181. data/doc/rdoc/classes/Plaid.html +772 -0
  182. data/doc/rdoc/created.rid +28 -0
  183. data/doc/rdoc/css/github.css +123 -0
  184. data/doc/rdoc/css/main.css +333 -0
  185. data/doc/rdoc/css/panel.css +383 -0
  186. data/doc/rdoc/css/reset.css +48 -0
  187. data/doc/rdoc/favicon.ico +0 -0
  188. data/doc/rdoc/files/LICENSE_txt.html +98 -0
  189. data/doc/rdoc/files/README_md.html +388 -0
  190. data/doc/rdoc/files/lib/plaid/client_rb.html +121 -0
  191. data/doc/rdoc/files/lib/plaid/errors_rb.html +132 -0
  192. data/doc/rdoc/files/lib/plaid/middleware_rb.html +99 -0
  193. data/doc/rdoc/files/lib/plaid/models_rb.html +450 -0
  194. data/doc/rdoc/files/lib/plaid/products/accounts_rb.html +102 -0
  195. data/doc/rdoc/files/lib/plaid/products/asset_report_rb.html +132 -0
  196. data/doc/rdoc/files/lib/plaid/products/auth_rb.html +97 -0
  197. data/doc/rdoc/files/lib/plaid/products/base_product_rb.html +92 -0
  198. data/doc/rdoc/files/lib/plaid/products/categories_rb.html +92 -0
  199. data/doc/rdoc/files/lib/plaid/products/credit_details_rb.html +97 -0
  200. data/doc/rdoc/files/lib/plaid/products/deposit_switch_rb.html +102 -0
  201. data/doc/rdoc/files/lib/plaid/products/identity_rb.html +97 -0
  202. data/doc/rdoc/files/lib/plaid/products/income_rb.html +97 -0
  203. data/doc/rdoc/files/lib/plaid/products/institutions_rb.html +102 -0
  204. data/doc/rdoc/files/lib/plaid/products/investments_rb.html +120 -0
  205. data/doc/rdoc/files/lib/plaid/products/item_rb.html +142 -0
  206. data/doc/rdoc/files/lib/plaid/products/liabilities_rb.html +97 -0
  207. data/doc/rdoc/files/lib/plaid/products/link_token_rb.html +102 -0
  208. data/doc/rdoc/files/lib/plaid/products/payment_initiation_rb.html +127 -0
  209. data/doc/rdoc/files/lib/plaid/products/processor_rb.html +142 -0
  210. data/doc/rdoc/files/lib/plaid/products/sandbox_rb.html +117 -0
  211. data/doc/rdoc/files/lib/plaid/products/transactions_rb.html +105 -0
  212. data/doc/rdoc/files/lib/plaid/products/webhooks_rb.html +97 -0
  213. data/doc/rdoc/files/lib/plaid/version_rb.html +82 -0
  214. data/doc/rdoc/files/lib/plaid_rb.html +120 -0
  215. data/doc/rdoc/i/arrows.png +0 -0
  216. data/doc/rdoc/i/results_bg.png +0 -0
  217. data/doc/rdoc/i/tree_bg.png +0 -0
  218. data/doc/rdoc/index.html +13 -0
  219. data/doc/rdoc/js/highlight.pack.js +1 -0
  220. data/doc/rdoc/js/jquery-1.3.2.min.js +19 -0
  221. data/doc/rdoc/js/main.js +29 -0
  222. data/doc/rdoc/js/navigation.js +142 -0
  223. data/doc/rdoc/js/navigation.js.gz +0 -0
  224. data/doc/rdoc/js/search_index.js +1 -0
  225. data/doc/rdoc/js/search_index.js.gz +0 -0
  226. data/doc/rdoc/js/searchdoc.js +468 -0
  227. data/doc/rdoc/js/searcher.js +229 -0
  228. data/doc/rdoc/js/searcher.js.gz +0 -0
  229. data/doc/rdoc/panel/index.html +74 -0
  230. data/doc/rdoc/panel/links.html +60 -0
  231. data/doc/rdoc/panel/tree.js +1 -0
  232. data/lib/plaid/.DS_Store +0 -0
  233. data/lib/plaid/api/plaid_api.rb +5868 -0
  234. data/lib/plaid/api_client.rb +384 -0
  235. data/lib/plaid/api_error.rb +57 -0
  236. data/lib/plaid/configuration.rb +297 -0
  237. data/lib/plaid/models/account_access.rb +238 -0
  238. data/lib/plaid/models/account_assets.rb +417 -0
  239. data/lib/plaid/models/account_assets_all_of.rb +275 -0
  240. data/lib/plaid/models/account_balance.rb +276 -0
  241. data/lib/plaid/models/account_base.rb +344 -0
  242. data/lib/plaid/models/account_filter.rb +258 -0
  243. data/lib/plaid/models/account_filters_response.rb +246 -0
  244. data/lib/plaid/models/account_identity.rb +368 -0
  245. data/lib/plaid/models/account_identity_all_of.rb +226 -0
  246. data/lib/plaid/models/account_selection_cardinality.rb +38 -0
  247. data/lib/plaid/models/account_subtype.rb +107 -0
  248. data/lib/plaid/models/account_type.rb +41 -0
  249. data/lib/plaid/models/accounts_balance_get_request.rb +254 -0
  250. data/lib/plaid/models/accounts_balance_get_request_options.rb +232 -0
  251. data/lib/plaid/models/accounts_get_request.rb +254 -0
  252. data/lib/plaid/models/accounts_get_request_options.rb +222 -0
  253. data/lib/plaid/models/accounts_get_response.rb +256 -0
  254. data/lib/plaid/models/ach_class.rb +50 -0
  255. data/lib/plaid/models/address.rb +234 -0
  256. data/lib/plaid/models/address_data.rb +273 -0
  257. data/lib/plaid/models/address_data_nullable.rb +279 -0
  258. data/lib/plaid/models/address_nullable.rb +240 -0
  259. data/lib/plaid/models/application.rb +288 -0
  260. data/lib/plaid/models/application_get_request.rb +255 -0
  261. data/lib/plaid/models/application_get_response.rb +239 -0
  262. data/lib/plaid/models/apr.rb +296 -0
  263. data/lib/plaid/models/asset_report.rb +301 -0
  264. data/lib/plaid/models/asset_report_audit_copy_create_request.rb +260 -0
  265. data/lib/plaid/models/asset_report_audit_copy_create_response.rb +240 -0
  266. data/lib/plaid/models/asset_report_audit_copy_get_request.rb +245 -0
  267. data/lib/plaid/models/asset_report_audit_copy_remove_request.rb +245 -0
  268. data/lib/plaid/models/asset_report_audit_copy_remove_response.rb +240 -0
  269. data/lib/plaid/models/asset_report_create_request.rb +323 -0
  270. data/lib/plaid/models/asset_report_create_request_options.rb +239 -0
  271. data/lib/plaid/models/asset_report_create_response.rb +255 -0
  272. data/lib/plaid/models/asset_report_filter_request.rb +262 -0
  273. data/lib/plaid/models/asset_report_filter_response.rb +255 -0
  274. data/lib/plaid/models/asset_report_get_request.rb +255 -0
  275. data/lib/plaid/models/asset_report_get_response.rb +256 -0
  276. data/lib/plaid/models/asset_report_item.rb +287 -0
  277. data/lib/plaid/models/asset_report_pdf_get_request.rb +245 -0
  278. data/lib/plaid/models/asset_report_refresh_request.rb +290 -0
  279. data/lib/plaid/models/asset_report_refresh_request_options.rb +239 -0
  280. data/lib/plaid/models/asset_report_refresh_response.rb +255 -0
  281. data/lib/plaid/models/asset_report_remove_request.rb +245 -0
  282. data/lib/plaid/models/asset_report_remove_response.rb +240 -0
  283. data/lib/plaid/models/asset_report_transaction.rb +454 -0
  284. data/lib/plaid/models/asset_report_transaction_all_of.rb +220 -0
  285. data/lib/plaid/models/asset_report_user.rb +287 -0
  286. data/lib/plaid/models/assets_error_webhook.rb +265 -0
  287. data/lib/plaid/models/assets_product_ready_webhook.rb +255 -0
  288. data/lib/plaid/models/auth_get_numbers.rb +278 -0
  289. data/lib/plaid/models/auth_get_request.rb +254 -0
  290. data/lib/plaid/models/auth_get_request_options.rb +222 -0
  291. data/lib/plaid/models/auth_get_response.rb +270 -0
  292. data/lib/plaid/models/automatically_verified_webhook.rb +270 -0
  293. data/lib/plaid/models/bank_initiated_return_risk.rb +300 -0
  294. data/lib/plaid/models/bank_transfer.rb +453 -0
  295. data/lib/plaid/models/bank_transfer_balance.rb +239 -0
  296. data/lib/plaid/models/bank_transfer_balance_get_request.rb +241 -0
  297. data/lib/plaid/models/bank_transfer_balance_get_response.rb +250 -0
  298. data/lib/plaid/models/bank_transfer_cancel_request.rb +245 -0
  299. data/lib/plaid/models/bank_transfer_cancel_response.rb +225 -0
  300. data/lib/plaid/models/bank_transfer_create_request.rb +474 -0
  301. data/lib/plaid/models/bank_transfer_create_response.rb +239 -0
  302. data/lib/plaid/models/bank_transfer_direction.rb +38 -0
  303. data/lib/plaid/models/bank_transfer_event.rb +390 -0
  304. data/lib/plaid/models/bank_transfer_event_list_request.rb +434 -0
  305. data/lib/plaid/models/bank_transfer_event_list_response.rb +241 -0
  306. data/lib/plaid/models/bank_transfer_event_sync_request.rb +305 -0
  307. data/lib/plaid/models/bank_transfer_event_sync_response.rb +241 -0
  308. data/lib/plaid/models/bank_transfer_event_type.rb +42 -0
  309. data/lib/plaid/models/bank_transfer_failure.rb +231 -0
  310. data/lib/plaid/models/bank_transfer_get_request.rb +245 -0
  311. data/lib/plaid/models/bank_transfer_get_response.rb +239 -0
  312. data/lib/plaid/models/bank_transfer_list_request.rb +340 -0
  313. data/lib/plaid/models/bank_transfer_list_response.rb +241 -0
  314. data/lib/plaid/models/bank_transfer_migrate_account_request.rb +275 -0
  315. data/lib/plaid/models/bank_transfer_migrate_account_response.rb +255 -0
  316. data/lib/plaid/models/bank_transfer_network.rb +38 -0
  317. data/lib/plaid/models/bank_transfer_receiver_details.rb +255 -0
  318. data/lib/plaid/models/bank_transfer_status.rb +40 -0
  319. data/lib/plaid/models/bank_transfer_sweep.rb +316 -0
  320. data/lib/plaid/models/bank_transfer_sweep_account.rb +238 -0
  321. data/lib/plaid/models/bank_transfer_sweep_get_request.rb +277 -0
  322. data/lib/plaid/models/bank_transfer_sweep_get_response.rb +239 -0
  323. data/lib/plaid/models/bank_transfer_type.rb +37 -0
  324. data/lib/plaid/models/bank_transfer_user.rb +246 -0
  325. data/lib/plaid/models/bank_transfers_events_update_webhook.rb +240 -0
  326. data/lib/plaid/models/categories_get_response.rb +242 -0
  327. data/lib/plaid/models/category.rb +257 -0
  328. data/lib/plaid/models/cause.rb +235 -0
  329. data/lib/plaid/models/connected_application.rb +357 -0
  330. data/lib/plaid/models/country_code.rb +42 -0
  331. data/lib/plaid/models/credit_card_liability.rb +320 -0
  332. data/lib/plaid/models/credit_filter.rb +227 -0
  333. data/lib/plaid/models/customer_initiated_return_risk.rb +300 -0
  334. data/lib/plaid/models/deductions.rb +232 -0
  335. data/lib/plaid/models/default_update_webhook.rb +280 -0
  336. data/lib/plaid/models/deposit_switch_address_data.rb +285 -0
  337. data/lib/plaid/models/deposit_switch_alt_create_request.rb +312 -0
  338. data/lib/plaid/models/deposit_switch_alt_create_response.rb +240 -0
  339. data/lib/plaid/models/deposit_switch_create_request.rb +314 -0
  340. data/lib/plaid/models/deposit_switch_create_request_options.rb +251 -0
  341. data/lib/plaid/models/deposit_switch_create_response.rb +240 -0
  342. data/lib/plaid/models/deposit_switch_get_request.rb +245 -0
  343. data/lib/plaid/models/deposit_switch_get_response.rb +448 -0
  344. data/lib/plaid/models/deposit_switch_state_update_webhook.rb +250 -0
  345. data/lib/plaid/models/deposit_switch_target_account.rb +303 -0
  346. data/lib/plaid/models/deposit_switch_target_user.rb +288 -0
  347. data/lib/plaid/models/deposit_switch_token_create_request.rb +245 -0
  348. data/lib/plaid/models/deposit_switch_token_create_response.rb +255 -0
  349. data/lib/plaid/models/depository_filter.rb +227 -0
  350. data/lib/plaid/models/distribution_details.rb +263 -0
  351. data/lib/plaid/models/document_metadata.rb +240 -0
  352. data/lib/plaid/models/earnings.rb +232 -0
  353. data/lib/plaid/models/earnings_total.rb +304 -0
  354. data/lib/plaid/models/email.rb +289 -0
  355. data/lib/plaid/models/employee.rb +255 -0
  356. data/lib/plaid/models/employee_income_summary_field_string.rb +245 -0
  357. data/lib/plaid/models/employer.rb +265 -0
  358. data/lib/plaid/models/employer_income_summary_field_string.rb +245 -0
  359. data/lib/plaid/models/employers_search_request.rb +262 -0
  360. data/lib/plaid/models/employers_search_response.rb +242 -0
  361. data/lib/plaid/models/employment_details.rb +230 -0
  362. data/lib/plaid/models/error.rb +353 -0
  363. data/lib/plaid/models/external_payment_options.rb +296 -0
  364. data/lib/plaid/models/external_payment_refund_details.rb +245 -0
  365. data/lib/plaid/models/external_payment_schedule_base.rb +261 -0
  366. data/lib/plaid/models/external_payment_schedule_get.rb +283 -0
  367. data/lib/plaid/models/external_payment_schedule_request.rb +283 -0
  368. data/lib/plaid/models/health_incident.rb +266 -0
  369. data/lib/plaid/models/historical_balance.rb +262 -0
  370. data/lib/plaid/models/historical_update_webhook.rb +280 -0
  371. data/lib/plaid/models/holding.rb +329 -0
  372. data/lib/plaid/models/holdings_default_update_webhook.rb +295 -0
  373. data/lib/plaid/models/holdings_override.rb +289 -0
  374. data/lib/plaid/models/identity_get_request.rb +254 -0
  375. data/lib/plaid/models/identity_get_request_options.rb +222 -0
  376. data/lib/plaid/models/identity_get_response.rb +256 -0
  377. data/lib/plaid/models/incident_update.rb +273 -0
  378. data/lib/plaid/models/income_breakdown.rb +288 -0
  379. data/lib/plaid/models/income_summary.rb +300 -0
  380. data/lib/plaid/models/income_summary_field_number.rb +238 -0
  381. data/lib/plaid/models/income_summary_field_string.rb +238 -0
  382. data/lib/plaid/models/income_verification_create_request.rb +245 -0
  383. data/lib/plaid/models/income_verification_create_response.rb +240 -0
  384. data/lib/plaid/models/income_verification_documents_download_request.rb +252 -0
  385. data/lib/plaid/models/income_verification_documents_download_response.rb +224 -0
  386. data/lib/plaid/models/income_verification_paystub_get_request.rb +252 -0
  387. data/lib/plaid/models/income_verification_paystubs_get_request.rb +252 -0
  388. data/lib/plaid/models/income_verification_paystubs_get_response.rb +262 -0
  389. data/lib/plaid/models/income_verification_refresh_request.rb +252 -0
  390. data/lib/plaid/models/income_verification_refresh_response.rb +239 -0
  391. data/lib/plaid/models/income_verification_status_webhook.rb +270 -0
  392. data/lib/plaid/models/income_verification_summary_get_request.rb +252 -0
  393. data/lib/plaid/models/income_verification_summary_get_response.rb +252 -0
  394. data/lib/plaid/models/income_verification_taxforms_get_request.rb +252 -0
  395. data/lib/plaid/models/income_verification_taxforms_get_response.rb +263 -0
  396. data/lib/plaid/models/income_verification_webhook_status.rb +223 -0
  397. data/lib/plaid/models/inflow_model.rb +285 -0
  398. data/lib/plaid/models/initial_update_webhook.rb +281 -0
  399. data/lib/plaid/models/institution.rb +354 -0
  400. data/lib/plaid/models/institution_status.rb +334 -0
  401. data/lib/plaid/models/institutions_get_by_id_request.rb +271 -0
  402. data/lib/plaid/models/institutions_get_by_id_request_options.rb +246 -0
  403. data/lib/plaid/models/institutions_get_by_id_response.rb +239 -0
  404. data/lib/plaid/models/institutions_get_request.rb +328 -0
  405. data/lib/plaid/models/institutions_get_request_options.rb +266 -0
  406. data/lib/plaid/models/institutions_get_response.rb +257 -0
  407. data/lib/plaid/models/institutions_search_account_filter.rb +253 -0
  408. data/lib/plaid/models/institutions_search_payment_initiation_options.rb +220 -0
  409. data/lib/plaid/models/institutions_search_request.rb +309 -0
  410. data/lib/plaid/models/institutions_search_request_options.rb +252 -0
  411. data/lib/plaid/models/institutions_search_response.rb +242 -0
  412. data/lib/plaid/models/investment_filter.rb +227 -0
  413. data/lib/plaid/models/investment_holdings_get_request_options.rb +222 -0
  414. data/lib/plaid/models/investment_transaction.rb +446 -0
  415. data/lib/plaid/models/investments_default_update_webhook.rb +295 -0
  416. data/lib/plaid/models/investments_holdings_get_request.rb +254 -0
  417. data/lib/plaid/models/investments_holdings_get_response.rb +290 -0
  418. data/lib/plaid/models/investments_transactions_get_request.rb +284 -0
  419. data/lib/plaid/models/investments_transactions_get_request_options.rb +289 -0
  420. data/lib/plaid/models/investments_transactions_get_response.rb +305 -0
  421. data/lib/plaid/models/investments_transactions_override.rb +319 -0
  422. data/lib/plaid/models/item.rb +351 -0
  423. data/lib/plaid/models/item_access_token_invalidate_request.rb +245 -0
  424. data/lib/plaid/models/item_access_token_invalidate_response.rb +240 -0
  425. data/lib/plaid/models/item_application_list_request.rb +241 -0
  426. data/lib/plaid/models/item_application_list_response.rb +237 -0
  427. data/lib/plaid/models/item_application_list_user_auth.rb +232 -0
  428. data/lib/plaid/models/item_application_scopes_update_request.rb +298 -0
  429. data/lib/plaid/models/item_application_scopes_update_response.rb +225 -0
  430. data/lib/plaid/models/item_error_webhook.rb +265 -0
  431. data/lib/plaid/models/item_get_request.rb +245 -0
  432. data/lib/plaid/models/item_get_response.rb +249 -0
  433. data/lib/plaid/models/item_import_request.rb +291 -0
  434. data/lib/plaid/models/item_import_request_options.rb +220 -0
  435. data/lib/plaid/models/item_import_request_user_auth.rb +240 -0
  436. data/lib/plaid/models/item_import_response.rb +240 -0
  437. data/lib/plaid/models/item_product_ready_webhook.rb +265 -0
  438. data/lib/plaid/models/item_public_token_create_request.rb +245 -0
  439. data/lib/plaid/models/item_public_token_create_response.rb +249 -0
  440. data/lib/plaid/models/item_public_token_exchange_request.rb +245 -0
  441. data/lib/plaid/models/item_public_token_exchange_response.rb +255 -0
  442. data/lib/plaid/models/item_remove_request.rb +245 -0
  443. data/lib/plaid/models/item_remove_response.rb +225 -0
  444. data/lib/plaid/models/item_status.rb +240 -0
  445. data/lib/plaid/models/item_status_investments.rb +232 -0
  446. data/lib/plaid/models/item_status_last_webhook.rb +232 -0
  447. data/lib/plaid/models/item_status_nullable.rb +246 -0
  448. data/lib/plaid/models/item_status_transactions.rb +232 -0
  449. data/lib/plaid/models/item_webhook_update_request.rb +260 -0
  450. data/lib/plaid/models/item_webhook_update_response.rb +239 -0
  451. data/lib/plaid/models/jwk_public_key.rb +341 -0
  452. data/lib/plaid/models/jwt_header.rb +224 -0
  453. data/lib/plaid/models/liabilities_default_update_webhook.rb +299 -0
  454. data/lib/plaid/models/liabilities_get_request.rb +254 -0
  455. data/lib/plaid/models/liabilities_get_request_options.rb +222 -0
  456. data/lib/plaid/models/liabilities_get_response.rb +270 -0
  457. data/lib/plaid/models/liabilities_object.rb +249 -0
  458. data/lib/plaid/models/liability_override.rb +566 -0
  459. data/lib/plaid/models/link_token_account_filters.rb +246 -0
  460. data/lib/plaid/models/link_token_create_request.rb +438 -0
  461. data/lib/plaid/models/link_token_create_request_account_subtypes.rb +258 -0
  462. data/lib/plaid/models/link_token_create_request_auth.rb +259 -0
  463. data/lib/plaid/models/link_token_create_request_deposit_switch.rb +225 -0
  464. data/lib/plaid/models/link_token_create_request_income_verification.rb +235 -0
  465. data/lib/plaid/models/link_token_create_request_payment_initiation.rb +246 -0
  466. data/lib/plaid/models/link_token_create_request_user.rb +295 -0
  467. data/lib/plaid/models/link_token_create_response.rb +255 -0
  468. data/lib/plaid/models/link_token_eu_config.rb +220 -0
  469. data/lib/plaid/models/link_token_get_metadata_response.rb +297 -0
  470. data/lib/plaid/models/link_token_get_request.rb +245 -0
  471. data/lib/plaid/models/link_token_get_response.rb +276 -0
  472. data/lib/plaid/models/loan_filter.rb +227 -0
  473. data/lib/plaid/models/location.rb +298 -0
  474. data/lib/plaid/models/meta.rb +255 -0
  475. data/lib/plaid/models/mfa.rb +285 -0
  476. data/lib/plaid/models/mortgage_interest_rate.rb +232 -0
  477. data/lib/plaid/models/mortgage_liability.rb +444 -0
  478. data/lib/plaid/models/mortgage_property_address.rb +265 -0
  479. data/lib/plaid/models/net_pay.rb +230 -0
  480. data/lib/plaid/models/numbers.rb +290 -0
  481. data/lib/plaid/models/numbers_ach.rb +266 -0
  482. data/lib/plaid/models/numbers_ach_nullable.rb +272 -0
  483. data/lib/plaid/models/numbers_bacs.rb +255 -0
  484. data/lib/plaid/models/numbers_bacs_nullable.rb +261 -0
  485. data/lib/plaid/models/numbers_eft.rb +270 -0
  486. data/lib/plaid/models/numbers_eft_nullable.rb +276 -0
  487. data/lib/plaid/models/numbers_international.rb +255 -0
  488. data/lib/plaid/models/numbers_international_nullable.rb +261 -0
  489. data/lib/plaid/models/override_account_type.rb +40 -0
  490. data/lib/plaid/models/override_accounts.rb +384 -0
  491. data/lib/plaid/models/owner.rb +278 -0
  492. data/lib/plaid/models/owner_override.rb +278 -0
  493. data/lib/plaid/models/pay.rb +258 -0
  494. data/lib/plaid/models/pay_frequency.rb +272 -0
  495. data/lib/plaid/models/pay_period_details.rb +265 -0
  496. data/lib/plaid/models/payment_amount.rb +285 -0
  497. data/lib/plaid/models/payment_initiation_address.rb +383 -0
  498. data/lib/plaid/models/payment_initiation_metadata.rb +267 -0
  499. data/lib/plaid/models/payment_initiation_optional_restriction_bacs.rb +288 -0
  500. data/lib/plaid/models/payment_initiation_payment.rb +413 -0
  501. data/lib/plaid/models/payment_initiation_payment_create_request.rb +344 -0
  502. data/lib/plaid/models/payment_initiation_payment_create_response.rb +289 -0
  503. data/lib/plaid/models/payment_initiation_payment_get_request.rb +266 -0
  504. data/lib/plaid/models/payment_initiation_payment_get_response.rb +436 -0
  505. data/lib/plaid/models/payment_initiation_payment_list_request.rb +280 -0
  506. data/lib/plaid/models/payment_initiation_payment_list_response.rb +253 -0
  507. data/lib/plaid/models/payment_initiation_payment_token_create_request.rb +266 -0
  508. data/lib/plaid/models/payment_initiation_payment_token_create_response.rb +255 -0
  509. data/lib/plaid/models/payment_initiation_recipient.rb +282 -0
  510. data/lib/plaid/models/payment_initiation_recipient_create_request.rb +323 -0
  511. data/lib/plaid/models/payment_initiation_recipient_create_response.rb +240 -0
  512. data/lib/plaid/models/payment_initiation_recipient_get_request.rb +266 -0
  513. data/lib/plaid/models/payment_initiation_recipient_get_response.rb +305 -0
  514. data/lib/plaid/models/payment_initiation_recipient_get_response_all_of.rb +219 -0
  515. data/lib/plaid/models/payment_initiation_recipient_list_request.rb +230 -0
  516. data/lib/plaid/models/payment_initiation_recipient_list_response.rb +242 -0
  517. data/lib/plaid/models/payment_initiation_standing_order_metadata.rb +257 -0
  518. data/lib/plaid/models/payment_meta.rb +298 -0
  519. data/lib/plaid/models/payment_schedule_interval.rb +37 -0
  520. data/lib/plaid/models/payment_status_update_webhook.rb +400 -0
  521. data/lib/plaid/models/paystub.rb +337 -0
  522. data/lib/plaid/models/paystub_address.rb +297 -0
  523. data/lib/plaid/models/paystub_deduction.rb +242 -0
  524. data/lib/plaid/models/paystub_details.rb +299 -0
  525. data/lib/plaid/models/paystub_employer.rb +229 -0
  526. data/lib/plaid/models/paystub_ytd_details.rb +232 -0
  527. data/lib/plaid/models/pending_expiration_webhook.rb +270 -0
  528. data/lib/plaid/models/phone_number.rb +289 -0
  529. data/lib/plaid/models/processor_apex_processor_token_create_request.rb +260 -0
  530. data/lib/plaid/models/processor_auth_get_request.rb +245 -0
  531. data/lib/plaid/models/processor_auth_get_response.rb +253 -0
  532. data/lib/plaid/models/processor_balance_get_request.rb +254 -0
  533. data/lib/plaid/models/processor_balance_get_request_options.rb +220 -0
  534. data/lib/plaid/models/processor_balance_get_response.rb +239 -0
  535. data/lib/plaid/models/processor_bank_transfer_create_request.rb +459 -0
  536. data/lib/plaid/models/processor_bank_transfer_create_response.rb +239 -0
  537. data/lib/plaid/models/processor_identity_get_request.rb +245 -0
  538. data/lib/plaid/models/processor_identity_get_response.rb +239 -0
  539. data/lib/plaid/models/processor_number.rb +250 -0
  540. data/lib/plaid/models/processor_stripe_bank_account_token_create_request.rb +260 -0
  541. data/lib/plaid/models/processor_stripe_bank_account_token_create_response.rb +240 -0
  542. data/lib/plaid/models/processor_token_create_request.rb +309 -0
  543. data/lib/plaid/models/processor_token_create_response.rb +240 -0
  544. data/lib/plaid/models/product_access.rb +262 -0
  545. data/lib/plaid/models/product_status.rb +288 -0
  546. data/lib/plaid/models/product_status_breakdown.rb +299 -0
  547. data/lib/plaid/models/products.rb +48 -0
  548. data/lib/plaid/models/projected_income_summary_field_number.rb +245 -0
  549. data/lib/plaid/models/pslf_status.rb +243 -0
  550. data/lib/plaid/models/recaptcha_required_error.rb +314 -0
  551. data/lib/plaid/models/recipient_bacs.rb +282 -0
  552. data/lib/plaid/models/recipient_bacs_nullable.rb +288 -0
  553. data/lib/plaid/models/requested_scopes.rb +261 -0
  554. data/lib/plaid/models/sandbox_bank_transfer_fire_webhook_request.rb +245 -0
  555. data/lib/plaid/models/sandbox_bank_transfer_fire_webhook_response.rb +225 -0
  556. data/lib/plaid/models/sandbox_bank_transfer_simulate_request.rb +270 -0
  557. data/lib/plaid/models/sandbox_bank_transfer_simulate_response.rb +225 -0
  558. data/lib/plaid/models/sandbox_income_fire_webhook_request.rb +309 -0
  559. data/lib/plaid/models/sandbox_income_fire_webhook_response.rb +225 -0
  560. data/lib/plaid/models/sandbox_item_fire_webhook_request.rb +294 -0
  561. data/lib/plaid/models/sandbox_item_fire_webhook_response.rb +240 -0
  562. data/lib/plaid/models/sandbox_item_reset_login_request.rb +245 -0
  563. data/lib/plaid/models/sandbox_item_reset_login_response.rb +240 -0
  564. data/lib/plaid/models/sandbox_item_set_verification_status_request.rb +309 -0
  565. data/lib/plaid/models/sandbox_item_set_verification_status_response.rb +225 -0
  566. data/lib/plaid/models/sandbox_oauth_select_accounts_request.rb +240 -0
  567. data/lib/plaid/models/sandbox_processor_token_create_request.rb +253 -0
  568. data/lib/plaid/models/sandbox_processor_token_create_request_options.rb +236 -0
  569. data/lib/plaid/models/sandbox_processor_token_create_response.rb +239 -0
  570. data/lib/plaid/models/sandbox_public_token_create_request.rb +292 -0
  571. data/lib/plaid/models/sandbox_public_token_create_request_options.rb +255 -0
  572. data/lib/plaid/models/sandbox_public_token_create_request_options_transactions.rb +230 -0
  573. data/lib/plaid/models/sandbox_public_token_create_response.rb +240 -0
  574. data/lib/plaid/models/sandbox_transfer_simulate_request.rb +270 -0
  575. data/lib/plaid/models/sandbox_transfer_simulate_response.rb +225 -0
  576. data/lib/plaid/models/scopes.rb +243 -0
  577. data/lib/plaid/models/scopes_context.rb +37 -0
  578. data/lib/plaid/models/scopes_nullable.rb +249 -0
  579. data/lib/plaid/models/security.rb +379 -0
  580. data/lib/plaid/models/security_override.rb +270 -0
  581. data/lib/plaid/models/sender_bacs_nullable.rb +288 -0
  582. data/lib/plaid/models/servicer_address_data.rb +265 -0
  583. data/lib/plaid/models/signal_address_data.rb +263 -0
  584. data/lib/plaid/models/signal_decision_report_request.rb +259 -0
  585. data/lib/plaid/models/signal_decision_report_response.rb +224 -0
  586. data/lib/plaid/models/signal_device.rb +232 -0
  587. data/lib/plaid/models/signal_evaluate_core_attributes.rb +584 -0
  588. data/lib/plaid/models/signal_evaluate_request.rb +355 -0
  589. data/lib/plaid/models/signal_evaluate_response.rb +252 -0
  590. data/lib/plaid/models/signal_person_name.rb +265 -0
  591. data/lib/plaid/models/signal_return_report_request.rb +259 -0
  592. data/lib/plaid/models/signal_return_report_response.rb +224 -0
  593. data/lib/plaid/models/signal_scores.rb +227 -0
  594. data/lib/plaid/models/signal_user.rb +252 -0
  595. data/lib/plaid/models/standalone_account_type.rb +285 -0
  596. data/lib/plaid/models/standalone_currency_code_list.rb +240 -0
  597. data/lib/plaid/models/standalone_investment_transaction_type.rb +300 -0
  598. data/lib/plaid/models/student_loan.rb +492 -0
  599. data/lib/plaid/models/student_loan_repayment_model.rb +255 -0
  600. data/lib/plaid/models/student_loan_status.rb +266 -0
  601. data/lib/plaid/models/student_repayment_plan.rb +266 -0
  602. data/lib/plaid/models/taxform.rb +233 -0
  603. data/lib/plaid/models/taxpayer_id.rb +257 -0
  604. data/lib/plaid/models/total.rb +284 -0
  605. data/lib/plaid/models/transaction.rb +551 -0
  606. data/lib/plaid/models/transaction_all_of.rb +323 -0
  607. data/lib/plaid/models/transaction_base.rb +436 -0
  608. data/lib/plaid/models/transaction_code.rb +48 -0
  609. data/lib/plaid/models/transaction_data.rb +285 -0
  610. data/lib/plaid/models/transaction_override.rb +280 -0
  611. data/lib/plaid/models/transactions_get_request.rb +284 -0
  612. data/lib/plaid/models/transactions_get_request_options.rb +302 -0
  613. data/lib/plaid/models/transactions_get_response.rb +288 -0
  614. data/lib/plaid/models/transactions_refresh_request.rb +245 -0
  615. data/lib/plaid/models/transactions_refresh_response.rb +225 -0
  616. data/lib/plaid/models/transactions_removed_webhook.rb +282 -0
  617. data/lib/plaid/models/transfer.rb +453 -0
  618. data/lib/plaid/models/transfer_authorization.rb +313 -0
  619. data/lib/plaid/models/transfer_authorization_create_request.rb +401 -0
  620. data/lib/plaid/models/transfer_authorization_create_response.rb +239 -0
  621. data/lib/plaid/models/transfer_authorization_decision_rationale.rb +274 -0
  622. data/lib/plaid/models/transfer_authorization_device.rb +230 -0
  623. data/lib/plaid/models/transfer_authorization_proposed_transfer.rb +342 -0
  624. data/lib/plaid/models/transfer_cancel_request.rb +245 -0
  625. data/lib/plaid/models/transfer_cancel_response.rb +225 -0
  626. data/lib/plaid/models/transfer_create_request.rb +489 -0
  627. data/lib/plaid/models/transfer_create_response.rb +239 -0
  628. data/lib/plaid/models/transfer_direction.rb +38 -0
  629. data/lib/plaid/models/transfer_event.rb +390 -0
  630. data/lib/plaid/models/transfer_event_list_request.rb +434 -0
  631. data/lib/plaid/models/transfer_event_list_response.rb +241 -0
  632. data/lib/plaid/models/transfer_event_sync_request.rb +305 -0
  633. data/lib/plaid/models/transfer_event_sync_response.rb +241 -0
  634. data/lib/plaid/models/transfer_event_type.rb +42 -0
  635. data/lib/plaid/models/transfer_failure.rb +231 -0
  636. data/lib/plaid/models/transfer_get_request.rb +245 -0
  637. data/lib/plaid/models/transfer_get_response.rb +239 -0
  638. data/lib/plaid/models/transfer_list_request.rb +340 -0
  639. data/lib/plaid/models/transfer_list_response.rb +241 -0
  640. data/lib/plaid/models/transfer_network.rb +37 -0
  641. data/lib/plaid/models/transfer_receiver_details.rb +255 -0
  642. data/lib/plaid/models/transfer_status.rb +40 -0
  643. data/lib/plaid/models/transfer_type.rb +37 -0
  644. data/lib/plaid/models/transfer_user_address_in_request.rb +260 -0
  645. data/lib/plaid/models/transfer_user_address_in_response.rb +265 -0
  646. data/lib/plaid/models/transfer_user_in_request.rb +254 -0
  647. data/lib/plaid/models/transfer_user_in_response.rb +257 -0
  648. data/lib/plaid/models/user_custom_password.rb +297 -0
  649. data/lib/plaid/models/user_permission_revoked_webhook.rb +265 -0
  650. data/lib/plaid/models/verification_expired_webhook.rb +270 -0
  651. data/lib/plaid/models/verification_refresh_status.rb +36 -0
  652. data/lib/plaid/models/verification_status.rb +40 -0
  653. data/lib/plaid/models/w2.rb +437 -0
  654. data/lib/plaid/models/w2_box12.rb +231 -0
  655. data/lib/plaid/models/w2_state_and_local_wages.rb +286 -0
  656. data/lib/plaid/models/warning.rb +288 -0
  657. data/lib/plaid/models/webhook_update_acknowledged_webhook.rb +280 -0
  658. data/lib/plaid/models/webhook_verification_key_get_request.rb +245 -0
  659. data/lib/plaid/models/webhook_verification_key_get_response.rb +239 -0
  660. data/lib/plaid/models/ytd_gross_income_summary_field_number.rb +245 -0
  661. data/lib/plaid/models/ytd_net_income_summary_field_number.rb +245 -0
  662. data/lib/plaid/version.rb +13 -2
  663. data/lib/plaid.rb +458 -61
  664. data/pkg/plaid-13.2.0.gem +0 -0
  665. data/pkg/plaid-14.0.0.beta.3.gem +0 -0
  666. data/pkg/plaid-14.0.0.beta.5.gem +0 -0
  667. data/pkg/plaid-14.0.0.gem +0 -0
  668. data/pkg/plaid-14.1.0.gem +0 -0
  669. data/plaid.gemspec +44 -49
  670. data/templates/ruby/api_client.mustache +268 -0
  671. data/templates/ruby/api_client_faraday_partial.mustache +120 -0
  672. data/templates/ruby/configuration.mustache +353 -0
  673. data/templates/ruby/gemspec.mustache +41 -0
  674. data/templates/ruby/partial_model_generic.mustache +362 -0
  675. data/test/test_accounts.rb +103 -0
  676. data/test/test_asset_report.rb +147 -0
  677. data/test/test_auth.rb +61 -0
  678. data/test/test_bank_transfers.rb +219 -0
  679. data/test/test_categories.rb +10 -0
  680. data/test/test_configuration.rb +26 -0
  681. data/test/test_deposit_switch.rb +73 -0
  682. data/test/test_helper.rb +109 -0
  683. data/test/test_identity.rb +38 -0
  684. data/test/test_institutions.rb +159 -0
  685. data/test/test_investments.rb +208 -0
  686. data/test/test_item.rb +276 -0
  687. data/test/test_liabilities.rb +45 -0
  688. data/test/test_link_token.rb +97 -0
  689. data/test/test_payment_initiation.rb +94 -0
  690. data/test/test_processor.rb +52 -0
  691. data/test/test_transactions.rb +168 -0
  692. data/test/test_webhooks.rb +22 -0
  693. metadata +715 -95
  694. data/.circleci/config.yml +0 -21
  695. data/.env.sample +0 -3
  696. data/.github/workflows/add_to_project.yml +0 -21
  697. data/.rubocop.yml +0 -18
  698. data/bin/console +0 -14
  699. data/bin/setup +0 -8
  700. data/lib/plaid/client.rb +0 -190
  701. data/lib/plaid/errors.rb +0 -89
  702. data/lib/plaid/middleware.rb +0 -31
  703. data/lib/plaid/models.rb +0 -2221
  704. data/lib/plaid/products/accounts.rb +0 -63
  705. data/lib/plaid/products/asset_report.rb +0 -199
  706. data/lib/plaid/products/auth.rb +0 -42
  707. data/lib/plaid/products/base_product.rb +0 -64
  708. data/lib/plaid/products/categories.rb +0 -21
  709. data/lib/plaid/products/credit_details.rb +0 -40
  710. data/lib/plaid/products/deposit_switch.rb +0 -99
  711. data/lib/plaid/products/identity.rb +0 -31
  712. data/lib/plaid/products/income.rb +0 -31
  713. data/lib/plaid/products/institutions.rb +0 -91
  714. data/lib/plaid/products/investments.rb +0 -127
  715. data/lib/plaid/products/item.rb +0 -209
  716. data/lib/plaid/products/liabilities.rb +0 -39
  717. data/lib/plaid/products/link_token.rb +0 -74
  718. data/lib/plaid/products/payment_initiation.rb +0 -251
  719. data/lib/plaid/products/processor.rb +0 -190
  720. data/lib/plaid/products/sandbox.rb +0 -148
  721. data/lib/plaid/products/transactions.rb +0 -81
  722. data/lib/plaid/products/webhooks.rb +0 -23
@@ -0,0 +1,329 @@
1
+ =begin
2
+ #The Plaid API
3
+
4
+ #The Plaid REST API. Please see https://plaid.com/docs/api for more details.
5
+
6
+ The version of the OpenAPI document: 2020-09-14_1.26.1
7
+
8
+ Generated by: https://openapi-generator.tech
9
+ OpenAPI Generator version: 5.1.0
10
+
11
+ =end
12
+
13
+ require 'date'
14
+ require 'time'
15
+
16
+ module Plaid
17
+ # A securities holding at an institution.
18
+ class Holding
19
+ # The Plaid `account_id` associated with the holding.
20
+ attr_accessor :account_id
21
+
22
+ # The Plaid `security_id` associated with the holding.
23
+ attr_accessor :security_id
24
+
25
+ # The last price given by the institution for this security.
26
+ attr_accessor :institution_price
27
+
28
+ # The date at which `institution_price` was current.
29
+ attr_accessor :institution_price_as_of
30
+
31
+ # The value of the holding, as reported by the institution.
32
+ attr_accessor :institution_value
33
+
34
+ # The cost basis of the holding.
35
+ attr_accessor :cost_basis
36
+
37
+ # The total quantity of the asset held, as reported by the financial institution. If the security is an option, `quantity` will reflect the total number of options (typically the number of contracts multiplied by 100), not the number of contracts.
38
+ attr_accessor :quantity
39
+
40
+ # The ISO-4217 currency code of the holding. Always `null` if `unofficial_currency_code` is non-`null`.
41
+ attr_accessor :iso_currency_code
42
+
43
+ # The unofficial currency code associated with the holding. Always `null` if `iso_currency_code` is non-`null`. Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries. See the [currency code schema](https://plaid.com/docs/api/accounts#currency-code-schema) for a full listing of supported `iso_currency_code`s.
44
+ attr_accessor :unofficial_currency_code
45
+
46
+ # Attribute mapping from ruby-style variable name to JSON key.
47
+ def self.attribute_map
48
+ {
49
+ :'account_id' => :'account_id',
50
+ :'security_id' => :'security_id',
51
+ :'institution_price' => :'institution_price',
52
+ :'institution_price_as_of' => :'institution_price_as_of',
53
+ :'institution_value' => :'institution_value',
54
+ :'cost_basis' => :'cost_basis',
55
+ :'quantity' => :'quantity',
56
+ :'iso_currency_code' => :'iso_currency_code',
57
+ :'unofficial_currency_code' => :'unofficial_currency_code'
58
+ }
59
+ end
60
+
61
+ # Returns all the JSON keys this model knows about
62
+ def self.acceptable_attributes
63
+ attribute_map.values
64
+ end
65
+
66
+ # Attribute type mapping.
67
+ def self.openapi_types
68
+ {
69
+ :'account_id' => :'String',
70
+ :'security_id' => :'String',
71
+ :'institution_price' => :'Float',
72
+ :'institution_price_as_of' => :'Date',
73
+ :'institution_value' => :'Float',
74
+ :'cost_basis' => :'Float',
75
+ :'quantity' => :'Float',
76
+ :'iso_currency_code' => :'String',
77
+ :'unofficial_currency_code' => :'String'
78
+ }
79
+ end
80
+
81
+ # List of attributes with nullable: true
82
+ def self.openapi_nullable
83
+ Set.new([
84
+ :'institution_price_as_of',
85
+ :'cost_basis',
86
+ :'iso_currency_code',
87
+ :'unofficial_currency_code'
88
+ ])
89
+ end
90
+
91
+ # Initializes the object
92
+ # @param [Hash] attributes Model attributes in the form of hash
93
+ def initialize(attributes = {})
94
+ if (!attributes.is_a?(Hash))
95
+ fail ArgumentError, "The input argument (attributes) must be a hash in `Plaid::Holding` initialize method"
96
+ end
97
+
98
+ # check to see if the attribute exists and convert string to symbol for hash key
99
+ attributes = attributes.each_with_object({}) { |(k, v), h|
100
+ if (!self.class.attribute_map.key?(k.to_sym))
101
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Plaid::Holding`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
102
+ end
103
+ h[k.to_sym] = v
104
+ }
105
+
106
+ if attributes.key?(:'account_id')
107
+ self.account_id = attributes[:'account_id']
108
+ end
109
+
110
+ if attributes.key?(:'security_id')
111
+ self.security_id = attributes[:'security_id']
112
+ end
113
+
114
+ if attributes.key?(:'institution_price')
115
+ self.institution_price = attributes[:'institution_price']
116
+ end
117
+
118
+ if attributes.key?(:'institution_price_as_of')
119
+ self.institution_price_as_of = attributes[:'institution_price_as_of']
120
+ end
121
+
122
+ if attributes.key?(:'institution_value')
123
+ self.institution_value = attributes[:'institution_value']
124
+ end
125
+
126
+ if attributes.key?(:'cost_basis')
127
+ self.cost_basis = attributes[:'cost_basis']
128
+ end
129
+
130
+ if attributes.key?(:'quantity')
131
+ self.quantity = attributes[:'quantity']
132
+ end
133
+
134
+ if attributes.key?(:'iso_currency_code')
135
+ self.iso_currency_code = attributes[:'iso_currency_code']
136
+ end
137
+
138
+ if attributes.key?(:'unofficial_currency_code')
139
+ self.unofficial_currency_code = attributes[:'unofficial_currency_code']
140
+ end
141
+ end
142
+
143
+ # Show invalid properties with the reasons. Usually used together with valid?
144
+ # @return Array for valid properties with the reasons
145
+ def list_invalid_properties
146
+ invalid_properties = Array.new
147
+ if @account_id.nil?
148
+ invalid_properties.push('invalid value for "account_id", account_id cannot be nil.')
149
+ end
150
+
151
+ if @security_id.nil?
152
+ invalid_properties.push('invalid value for "security_id", security_id cannot be nil.')
153
+ end
154
+
155
+ if @institution_price.nil?
156
+ invalid_properties.push('invalid value for "institution_price", institution_price cannot be nil.')
157
+ end
158
+
159
+ if @institution_value.nil?
160
+ invalid_properties.push('invalid value for "institution_value", institution_value cannot be nil.')
161
+ end
162
+
163
+ if @quantity.nil?
164
+ invalid_properties.push('invalid value for "quantity", quantity cannot be nil.')
165
+ end
166
+
167
+ invalid_properties
168
+ end
169
+
170
+ # Check to see if the all the properties in the model are valid
171
+ # @return true if the model is valid
172
+ def valid?
173
+ return false if @account_id.nil?
174
+ return false if @security_id.nil?
175
+ return false if @institution_price.nil?
176
+ return false if @institution_value.nil?
177
+ return false if @quantity.nil?
178
+ true
179
+ end
180
+
181
+ # Checks equality by comparing each attribute.
182
+ # @param [Object] Object to be compared
183
+ def ==(o)
184
+ return true if self.equal?(o)
185
+ self.class == o.class &&
186
+ account_id == o.account_id &&
187
+ security_id == o.security_id &&
188
+ institution_price == o.institution_price &&
189
+ institution_price_as_of == o.institution_price_as_of &&
190
+ institution_value == o.institution_value &&
191
+ cost_basis == o.cost_basis &&
192
+ quantity == o.quantity &&
193
+ iso_currency_code == o.iso_currency_code &&
194
+ unofficial_currency_code == o.unofficial_currency_code
195
+ end
196
+
197
+ # @see the `==` method
198
+ # @param [Object] Object to be compared
199
+ def eql?(o)
200
+ self == o
201
+ end
202
+
203
+ # Calculates hash code according to all attributes.
204
+ # @return [Integer] Hash code
205
+ def hash
206
+ [account_id, security_id, institution_price, institution_price_as_of, institution_value, cost_basis, quantity, iso_currency_code, unofficial_currency_code].hash
207
+ end
208
+
209
+ # Builds the object from hash
210
+ # @param [Hash] attributes Model attributes in the form of hash
211
+ # @return [Object] Returns the model itself
212
+ def self.build_from_hash(attributes)
213
+ new.build_from_hash(attributes)
214
+ end
215
+
216
+ # Builds the object from hash
217
+ # @param [Hash] attributes Model attributes in the form of hash
218
+ # @return [Object] Returns the model itself
219
+ def build_from_hash(attributes)
220
+ return nil unless attributes.is_a?(Hash)
221
+ self.class.openapi_types.each_pair do |key, type|
222
+ if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
223
+ self.send("#{key}=", nil)
224
+ elsif type =~ /\AArray<(.*)>/i
225
+ # check to ensure the input is an array given that the attribute
226
+ # is documented as an array but the input is not
227
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
228
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
229
+ end
230
+ elsif !attributes[self.class.attribute_map[key]].nil?
231
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
232
+ end
233
+ end
234
+
235
+ self
236
+ end
237
+
238
+ # Deserializes the data based on type
239
+ # @param string type Data type
240
+ # @param string value Value to be deserialized
241
+ # @return [Object] Deserialized data
242
+ def _deserialize(type, value)
243
+ case type.to_sym
244
+ when :Time
245
+ Time.parse(value)
246
+ when :Date
247
+ Date.parse(value)
248
+ when :String
249
+ value.to_s
250
+ when :Integer
251
+ value.to_i
252
+ when :Float
253
+ value.to_f
254
+ when :Boolean
255
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
256
+ true
257
+ else
258
+ false
259
+ end
260
+ when :Object
261
+ # generic object (usually a Hash), return directly
262
+ value
263
+ when /\AArray<(?<inner_type>.+)>\z/
264
+ inner_type = Regexp.last_match[:inner_type]
265
+ value.map { |v| _deserialize(inner_type, v) }
266
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
267
+ k_type = Regexp.last_match[:k_type]
268
+ v_type = Regexp.last_match[:v_type]
269
+ {}.tap do |hash|
270
+ value.each do |k, v|
271
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
272
+ end
273
+ end
274
+ else # model
275
+ # models (e.g. Pet) or oneOf
276
+ klass = Plaid.const_get(type)
277
+ klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
278
+ end
279
+ end
280
+
281
+ # Returns the string representation of the object
282
+ # @return [String] String presentation of the object
283
+ def to_s
284
+ to_hash.to_s
285
+ end
286
+
287
+ # to_body is an alias to to_hash (backward compatibility)
288
+ # @return [Hash] Returns the object in the form of hash
289
+ def to_body
290
+ to_hash
291
+ end
292
+
293
+ # Returns the object in the form of hash
294
+ # @return [Hash] Returns the object in the form of hash
295
+ def to_hash
296
+ hash = {}
297
+ self.class.attribute_map.each_pair do |attr, param|
298
+ value = self.send(attr)
299
+ if value.nil?
300
+ is_nullable = self.class.openapi_nullable.include?(attr)
301
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
302
+ end
303
+
304
+ hash[param] = _to_hash(value)
305
+ end
306
+ hash
307
+ end
308
+
309
+ # Outputs non-array value in the form of hash
310
+ # For object, use to_hash. Otherwise, just return the value
311
+ # @param [Object] value Any valid value
312
+ # @return [Hash] Returns the value in the form of hash
313
+ def _to_hash(value)
314
+ if value.is_a?(Array)
315
+ value.compact.map { |v| _to_hash(v) }
316
+ elsif value.is_a?(Hash)
317
+ {}.tap do |hash|
318
+ value.each { |k, v| hash[k] = _to_hash(v) }
319
+ end
320
+ elsif value.respond_to? :to_hash
321
+ value.to_hash
322
+ else
323
+ value
324
+ end
325
+ end
326
+
327
+ end
328
+
329
+ end
@@ -0,0 +1,295 @@
1
+ =begin
2
+ #The Plaid API
3
+
4
+ #The Plaid REST API. Please see https://plaid.com/docs/api for more details.
5
+
6
+ The version of the OpenAPI document: 2020-09-14_1.26.1
7
+
8
+ Generated by: https://openapi-generator.tech
9
+ OpenAPI Generator version: 5.1.0
10
+
11
+ =end
12
+
13
+ require 'date'
14
+ require 'time'
15
+
16
+ module Plaid
17
+ # Fired when new or updated holdings have been detected on an investment account. The webhook typically fires once per day, after market close, in response to any newly added holdings or price changes to existing holdings.
18
+ class HoldingsDefaultUpdateWebhook
19
+ # `HOLDINGS`
20
+ attr_accessor :webhook_type
21
+
22
+ # `DEFAULT_UPDATE`
23
+ attr_accessor :webhook_code
24
+
25
+ # The `item_id` of the Item associated with this webhook, warning, or error
26
+ attr_accessor :item_id
27
+
28
+ attr_accessor :error
29
+
30
+ # The number of new holdings reported since the last time this webhook was fired.
31
+ attr_accessor :new_holdings
32
+
33
+ # The number of updated holdings reported since the last time this webhook was fired.
34
+ attr_accessor :updated_holdings
35
+
36
+ # Attribute mapping from ruby-style variable name to JSON key.
37
+ def self.attribute_map
38
+ {
39
+ :'webhook_type' => :'webhook_type',
40
+ :'webhook_code' => :'webhook_code',
41
+ :'item_id' => :'item_id',
42
+ :'error' => :'error',
43
+ :'new_holdings' => :'new_holdings',
44
+ :'updated_holdings' => :'updated_holdings'
45
+ }
46
+ end
47
+
48
+ # Returns all the JSON keys this model knows about
49
+ def self.acceptable_attributes
50
+ attribute_map.values
51
+ end
52
+
53
+ # Attribute type mapping.
54
+ def self.openapi_types
55
+ {
56
+ :'webhook_type' => :'String',
57
+ :'webhook_code' => :'String',
58
+ :'item_id' => :'String',
59
+ :'error' => :'Error',
60
+ :'new_holdings' => :'Float',
61
+ :'updated_holdings' => :'Float'
62
+ }
63
+ end
64
+
65
+ # List of attributes with nullable: true
66
+ def self.openapi_nullable
67
+ Set.new([
68
+ :'error',
69
+ ])
70
+ end
71
+
72
+ # Initializes the object
73
+ # @param [Hash] attributes Model attributes in the form of hash
74
+ def initialize(attributes = {})
75
+ if (!attributes.is_a?(Hash))
76
+ fail ArgumentError, "The input argument (attributes) must be a hash in `Plaid::HoldingsDefaultUpdateWebhook` initialize method"
77
+ end
78
+
79
+ # check to see if the attribute exists and convert string to symbol for hash key
80
+ attributes = attributes.each_with_object({}) { |(k, v), h|
81
+ if (!self.class.attribute_map.key?(k.to_sym))
82
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Plaid::HoldingsDefaultUpdateWebhook`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
83
+ end
84
+ h[k.to_sym] = v
85
+ }
86
+
87
+ if attributes.key?(:'webhook_type')
88
+ self.webhook_type = attributes[:'webhook_type']
89
+ end
90
+
91
+ if attributes.key?(:'webhook_code')
92
+ self.webhook_code = attributes[:'webhook_code']
93
+ end
94
+
95
+ if attributes.key?(:'item_id')
96
+ self.item_id = attributes[:'item_id']
97
+ end
98
+
99
+ if attributes.key?(:'error')
100
+ self.error = attributes[:'error']
101
+ end
102
+
103
+ if attributes.key?(:'new_holdings')
104
+ self.new_holdings = attributes[:'new_holdings']
105
+ end
106
+
107
+ if attributes.key?(:'updated_holdings')
108
+ self.updated_holdings = attributes[:'updated_holdings']
109
+ end
110
+ end
111
+
112
+ # Show invalid properties with the reasons. Usually used together with valid?
113
+ # @return Array for valid properties with the reasons
114
+ def list_invalid_properties
115
+ invalid_properties = Array.new
116
+ if @webhook_type.nil?
117
+ invalid_properties.push('invalid value for "webhook_type", webhook_type cannot be nil.')
118
+ end
119
+
120
+ if @webhook_code.nil?
121
+ invalid_properties.push('invalid value for "webhook_code", webhook_code cannot be nil.')
122
+ end
123
+
124
+ if @item_id.nil?
125
+ invalid_properties.push('invalid value for "item_id", item_id cannot be nil.')
126
+ end
127
+
128
+ if @new_holdings.nil?
129
+ invalid_properties.push('invalid value for "new_holdings", new_holdings cannot be nil.')
130
+ end
131
+
132
+ if @updated_holdings.nil?
133
+ invalid_properties.push('invalid value for "updated_holdings", updated_holdings cannot be nil.')
134
+ end
135
+
136
+ invalid_properties
137
+ end
138
+
139
+ # Check to see if the all the properties in the model are valid
140
+ # @return true if the model is valid
141
+ def valid?
142
+ return false if @webhook_type.nil?
143
+ return false if @webhook_code.nil?
144
+ return false if @item_id.nil?
145
+ return false if @new_holdings.nil?
146
+ return false if @updated_holdings.nil?
147
+ true
148
+ end
149
+
150
+ # Checks equality by comparing each attribute.
151
+ # @param [Object] Object to be compared
152
+ def ==(o)
153
+ return true if self.equal?(o)
154
+ self.class == o.class &&
155
+ webhook_type == o.webhook_type &&
156
+ webhook_code == o.webhook_code &&
157
+ item_id == o.item_id &&
158
+ error == o.error &&
159
+ new_holdings == o.new_holdings &&
160
+ updated_holdings == o.updated_holdings
161
+ end
162
+
163
+ # @see the `==` method
164
+ # @param [Object] Object to be compared
165
+ def eql?(o)
166
+ self == o
167
+ end
168
+
169
+ # Calculates hash code according to all attributes.
170
+ # @return [Integer] Hash code
171
+ def hash
172
+ [webhook_type, webhook_code, item_id, error, new_holdings, updated_holdings].hash
173
+ end
174
+
175
+ # Builds the object from hash
176
+ # @param [Hash] attributes Model attributes in the form of hash
177
+ # @return [Object] Returns the model itself
178
+ def self.build_from_hash(attributes)
179
+ new.build_from_hash(attributes)
180
+ end
181
+
182
+ # Builds the object from hash
183
+ # @param [Hash] attributes Model attributes in the form of hash
184
+ # @return [Object] Returns the model itself
185
+ def build_from_hash(attributes)
186
+ return nil unless attributes.is_a?(Hash)
187
+ self.class.openapi_types.each_pair do |key, type|
188
+ if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
189
+ self.send("#{key}=", nil)
190
+ elsif type =~ /\AArray<(.*)>/i
191
+ # check to ensure the input is an array given that the attribute
192
+ # is documented as an array but the input is not
193
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
194
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
195
+ end
196
+ elsif !attributes[self.class.attribute_map[key]].nil?
197
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
198
+ end
199
+ end
200
+
201
+ self
202
+ end
203
+
204
+ # Deserializes the data based on type
205
+ # @param string type Data type
206
+ # @param string value Value to be deserialized
207
+ # @return [Object] Deserialized data
208
+ def _deserialize(type, value)
209
+ case type.to_sym
210
+ when :Time
211
+ Time.parse(value)
212
+ when :Date
213
+ Date.parse(value)
214
+ when :String
215
+ value.to_s
216
+ when :Integer
217
+ value.to_i
218
+ when :Float
219
+ value.to_f
220
+ when :Boolean
221
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
222
+ true
223
+ else
224
+ false
225
+ end
226
+ when :Object
227
+ # generic object (usually a Hash), return directly
228
+ value
229
+ when /\AArray<(?<inner_type>.+)>\z/
230
+ inner_type = Regexp.last_match[:inner_type]
231
+ value.map { |v| _deserialize(inner_type, v) }
232
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
233
+ k_type = Regexp.last_match[:k_type]
234
+ v_type = Regexp.last_match[:v_type]
235
+ {}.tap do |hash|
236
+ value.each do |k, v|
237
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
238
+ end
239
+ end
240
+ else # model
241
+ # models (e.g. Pet) or oneOf
242
+ klass = Plaid.const_get(type)
243
+ klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
244
+ end
245
+ end
246
+
247
+ # Returns the string representation of the object
248
+ # @return [String] String presentation of the object
249
+ def to_s
250
+ to_hash.to_s
251
+ end
252
+
253
+ # to_body is an alias to to_hash (backward compatibility)
254
+ # @return [Hash] Returns the object in the form of hash
255
+ def to_body
256
+ to_hash
257
+ end
258
+
259
+ # Returns the object in the form of hash
260
+ # @return [Hash] Returns the object in the form of hash
261
+ def to_hash
262
+ hash = {}
263
+ self.class.attribute_map.each_pair do |attr, param|
264
+ value = self.send(attr)
265
+ if value.nil?
266
+ is_nullable = self.class.openapi_nullable.include?(attr)
267
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
268
+ end
269
+
270
+ hash[param] = _to_hash(value)
271
+ end
272
+ hash
273
+ end
274
+
275
+ # Outputs non-array value in the form of hash
276
+ # For object, use to_hash. Otherwise, just return the value
277
+ # @param [Object] value Any valid value
278
+ # @return [Hash] Returns the value in the form of hash
279
+ def _to_hash(value)
280
+ if value.is_a?(Array)
281
+ value.compact.map { |v| _to_hash(v) }
282
+ elsif value.is_a?(Hash)
283
+ {}.tap do |hash|
284
+ value.each { |k, v| hash[k] = _to_hash(v) }
285
+ end
286
+ elsif value.respond_to? :to_hash
287
+ value.to_hash
288
+ else
289
+ value
290
+ end
291
+ end
292
+
293
+ end
294
+
295
+ end