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,285 @@
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
+ # The `inflow_model` allows you to model a test account that receives regular income or make regular payments on a loan. Any transactions generated by the `inflow_model` will appear in addition to randomly generated test data or transactions specified by `override_accounts`.
18
+ class InflowModel
19
+ # Inflow model. One of the following: `none`: No income `monthly-income`: Income occurs once per month `monthly-balance-payment`: Pays off the balance on a liability account at the given statement day of month `monthly-interest-only-payment`: Makes an interest-only payment on a liability account at the given statement day of month. Note that account types supported by Liabilities will accrue interest in the Sandbox. The types are account type `credit` with subtype `credit` or `paypal`, and account type `loan` with subtype `student` or `mortgage`.
20
+ attr_accessor :type
21
+
22
+ # Amount of income per month. This value is required if `type` is `monthly-income`.
23
+ attr_accessor :income_amount
24
+
25
+ # Number between 1 and 28, or `last` meaning the last day of the month. The day of the month on which the income transaction will appear. The name of the income transaction. This field is required if `type` is `monthly-income`, `monthly-balance-payment` or `monthly-interest-only-payment`.
26
+ attr_accessor :payment_day_of_month
27
+
28
+ # The name of the income transaction. This field is required if `type` is `monthly-income`, `monthly-balance-payment` or `monthly-interest-only-payment`.
29
+ attr_accessor :transaction_name
30
+
31
+ # Number between 1 and 28, or `last` meaning the last day of the month. The day of the month on which the balance is calculated for the next payment. The name of the income transaction. This field is required if `type` is `monthly-balance-payment` or `monthly-interest-only-payment`.
32
+ attr_accessor :statement_day_of_month
33
+
34
+ # Attribute mapping from ruby-style variable name to JSON key.
35
+ def self.attribute_map
36
+ {
37
+ :'type' => :'type',
38
+ :'income_amount' => :'income_amount',
39
+ :'payment_day_of_month' => :'payment_day_of_month',
40
+ :'transaction_name' => :'transaction_name',
41
+ :'statement_day_of_month' => :'statement_day_of_month'
42
+ }
43
+ end
44
+
45
+ # Returns all the JSON keys this model knows about
46
+ def self.acceptable_attributes
47
+ attribute_map.values
48
+ end
49
+
50
+ # Attribute type mapping.
51
+ def self.openapi_types
52
+ {
53
+ :'type' => :'String',
54
+ :'income_amount' => :'Float',
55
+ :'payment_day_of_month' => :'Float',
56
+ :'transaction_name' => :'String',
57
+ :'statement_day_of_month' => :'String'
58
+ }
59
+ end
60
+
61
+ # List of attributes with nullable: true
62
+ def self.openapi_nullable
63
+ Set.new([
64
+ ])
65
+ end
66
+
67
+ # Initializes the object
68
+ # @param [Hash] attributes Model attributes in the form of hash
69
+ def initialize(attributes = {})
70
+ if (!attributes.is_a?(Hash))
71
+ fail ArgumentError, "The input argument (attributes) must be a hash in `Plaid::InflowModel` initialize method"
72
+ end
73
+
74
+ # check to see if the attribute exists and convert string to symbol for hash key
75
+ attributes = attributes.each_with_object({}) { |(k, v), h|
76
+ if (!self.class.attribute_map.key?(k.to_sym))
77
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Plaid::InflowModel`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
78
+ end
79
+ h[k.to_sym] = v
80
+ }
81
+
82
+ if attributes.key?(:'type')
83
+ self.type = attributes[:'type']
84
+ end
85
+
86
+ if attributes.key?(:'income_amount')
87
+ self.income_amount = attributes[:'income_amount']
88
+ end
89
+
90
+ if attributes.key?(:'payment_day_of_month')
91
+ self.payment_day_of_month = attributes[:'payment_day_of_month']
92
+ end
93
+
94
+ if attributes.key?(:'transaction_name')
95
+ self.transaction_name = attributes[:'transaction_name']
96
+ end
97
+
98
+ if attributes.key?(:'statement_day_of_month')
99
+ self.statement_day_of_month = attributes[:'statement_day_of_month']
100
+ end
101
+ end
102
+
103
+ # Show invalid properties with the reasons. Usually used together with valid?
104
+ # @return Array for valid properties with the reasons
105
+ def list_invalid_properties
106
+ invalid_properties = Array.new
107
+ if @type.nil?
108
+ invalid_properties.push('invalid value for "type", type cannot be nil.')
109
+ end
110
+
111
+ if @income_amount.nil?
112
+ invalid_properties.push('invalid value for "income_amount", income_amount cannot be nil.')
113
+ end
114
+
115
+ if @payment_day_of_month.nil?
116
+ invalid_properties.push('invalid value for "payment_day_of_month", payment_day_of_month cannot be nil.')
117
+ end
118
+
119
+ if @transaction_name.nil?
120
+ invalid_properties.push('invalid value for "transaction_name", transaction_name cannot be nil.')
121
+ end
122
+
123
+ if @statement_day_of_month.nil?
124
+ invalid_properties.push('invalid value for "statement_day_of_month", statement_day_of_month cannot be nil.')
125
+ end
126
+
127
+ invalid_properties
128
+ end
129
+
130
+ # Check to see if the all the properties in the model are valid
131
+ # @return true if the model is valid
132
+ def valid?
133
+ return false if @type.nil?
134
+ return false if @income_amount.nil?
135
+ return false if @payment_day_of_month.nil?
136
+ return false if @transaction_name.nil?
137
+ return false if @statement_day_of_month.nil?
138
+ true
139
+ end
140
+
141
+ # Checks equality by comparing each attribute.
142
+ # @param [Object] Object to be compared
143
+ def ==(o)
144
+ return true if self.equal?(o)
145
+ self.class == o.class &&
146
+ type == o.type &&
147
+ income_amount == o.income_amount &&
148
+ payment_day_of_month == o.payment_day_of_month &&
149
+ transaction_name == o.transaction_name &&
150
+ statement_day_of_month == o.statement_day_of_month
151
+ end
152
+
153
+ # @see the `==` method
154
+ # @param [Object] Object to be compared
155
+ def eql?(o)
156
+ self == o
157
+ end
158
+
159
+ # Calculates hash code according to all attributes.
160
+ # @return [Integer] Hash code
161
+ def hash
162
+ [type, income_amount, payment_day_of_month, transaction_name, statement_day_of_month].hash
163
+ end
164
+
165
+ # Builds the object from hash
166
+ # @param [Hash] attributes Model attributes in the form of hash
167
+ # @return [Object] Returns the model itself
168
+ def self.build_from_hash(attributes)
169
+ new.build_from_hash(attributes)
170
+ end
171
+
172
+ # Builds the object from hash
173
+ # @param [Hash] attributes Model attributes in the form of hash
174
+ # @return [Object] Returns the model itself
175
+ def build_from_hash(attributes)
176
+ return nil unless attributes.is_a?(Hash)
177
+ self.class.openapi_types.each_pair do |key, type|
178
+ if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
179
+ self.send("#{key}=", nil)
180
+ elsif type =~ /\AArray<(.*)>/i
181
+ # check to ensure the input is an array given that the attribute
182
+ # is documented as an array but the input is not
183
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
184
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
185
+ end
186
+ elsif !attributes[self.class.attribute_map[key]].nil?
187
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
188
+ end
189
+ end
190
+
191
+ self
192
+ end
193
+
194
+ # Deserializes the data based on type
195
+ # @param string type Data type
196
+ # @param string value Value to be deserialized
197
+ # @return [Object] Deserialized data
198
+ def _deserialize(type, value)
199
+ case type.to_sym
200
+ when :Time
201
+ Time.parse(value)
202
+ when :Date
203
+ Date.parse(value)
204
+ when :String
205
+ value.to_s
206
+ when :Integer
207
+ value.to_i
208
+ when :Float
209
+ value.to_f
210
+ when :Boolean
211
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
212
+ true
213
+ else
214
+ false
215
+ end
216
+ when :Object
217
+ # generic object (usually a Hash), return directly
218
+ value
219
+ when /\AArray<(?<inner_type>.+)>\z/
220
+ inner_type = Regexp.last_match[:inner_type]
221
+ value.map { |v| _deserialize(inner_type, v) }
222
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
223
+ k_type = Regexp.last_match[:k_type]
224
+ v_type = Regexp.last_match[:v_type]
225
+ {}.tap do |hash|
226
+ value.each do |k, v|
227
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
228
+ end
229
+ end
230
+ else # model
231
+ # models (e.g. Pet) or oneOf
232
+ klass = Plaid.const_get(type)
233
+ klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
234
+ end
235
+ end
236
+
237
+ # Returns the string representation of the object
238
+ # @return [String] String presentation of the object
239
+ def to_s
240
+ to_hash.to_s
241
+ end
242
+
243
+ # to_body is an alias to to_hash (backward compatibility)
244
+ # @return [Hash] Returns the object in the form of hash
245
+ def to_body
246
+ to_hash
247
+ end
248
+
249
+ # Returns the object in the form of hash
250
+ # @return [Hash] Returns the object in the form of hash
251
+ def to_hash
252
+ hash = {}
253
+ self.class.attribute_map.each_pair do |attr, param|
254
+ value = self.send(attr)
255
+ if value.nil?
256
+ is_nullable = self.class.openapi_nullable.include?(attr)
257
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
258
+ end
259
+
260
+ hash[param] = _to_hash(value)
261
+ end
262
+ hash
263
+ end
264
+
265
+ # Outputs non-array value in the form of hash
266
+ # For object, use to_hash. Otherwise, just return the value
267
+ # @param [Object] value Any valid value
268
+ # @return [Hash] Returns the value in the form of hash
269
+ def _to_hash(value)
270
+ if value.is_a?(Array)
271
+ value.compact.map { |v| _to_hash(v) }
272
+ elsif value.is_a?(Hash)
273
+ {}.tap do |hash|
274
+ value.each { |k, v| hash[k] = _to_hash(v) }
275
+ end
276
+ elsif value.respond_to? :to_hash
277
+ value.to_hash
278
+ else
279
+ value
280
+ end
281
+ end
282
+
283
+ end
284
+
285
+ end
@@ -0,0 +1,281 @@
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 an Item's initial transaction pull is completed. Once this webhook has been fired, transaction data for the most recent 30 days can be fetched for the Item.
18
+ class InitialUpdateWebhook
19
+ # `TRANSACTIONS`
20
+ attr_accessor :webhook_type
21
+
22
+ # `INITIAL_UPDATE`
23
+ attr_accessor :webhook_code
24
+
25
+ # The error code associated with the webhook.
26
+ attr_accessor :error
27
+
28
+ # The number of new, unfetched transactions available.
29
+ attr_accessor :new_transactions
30
+
31
+ # The `item_id` of the Item associated with this webhook, warning, or error
32
+ attr_accessor :item_id
33
+
34
+ # Attribute mapping from ruby-style variable name to JSON key.
35
+ def self.attribute_map
36
+ {
37
+ :'webhook_type' => :'webhook_type',
38
+ :'webhook_code' => :'webhook_code',
39
+ :'error' => :'error',
40
+ :'new_transactions' => :'new_transactions',
41
+ :'item_id' => :'item_id'
42
+ }
43
+ end
44
+
45
+ # Returns all the JSON keys this model knows about
46
+ def self.acceptable_attributes
47
+ attribute_map.values
48
+ end
49
+
50
+ # Attribute type mapping.
51
+ def self.openapi_types
52
+ {
53
+ :'webhook_type' => :'String',
54
+ :'webhook_code' => :'String',
55
+ :'error' => :'String',
56
+ :'new_transactions' => :'Float',
57
+ :'item_id' => :'String'
58
+ }
59
+ end
60
+
61
+ # List of attributes with nullable: true
62
+ def self.openapi_nullable
63
+ Set.new([
64
+ :'error',
65
+ ])
66
+ end
67
+
68
+ # Initializes the object
69
+ # @param [Hash] attributes Model attributes in the form of hash
70
+ def initialize(attributes = {})
71
+ if (!attributes.is_a?(Hash))
72
+ fail ArgumentError, "The input argument (attributes) must be a hash in `Plaid::InitialUpdateWebhook` initialize method"
73
+ end
74
+
75
+ # check to see if the attribute exists and convert string to symbol for hash key
76
+ attributes = attributes.each_with_object({}) { |(k, v), h|
77
+ if (!self.class.attribute_map.key?(k.to_sym))
78
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Plaid::InitialUpdateWebhook`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
79
+ end
80
+ h[k.to_sym] = v
81
+ }
82
+
83
+ if attributes.key?(:'webhook_type')
84
+ self.webhook_type = attributes[:'webhook_type']
85
+ end
86
+
87
+ if attributes.key?(:'webhook_code')
88
+ self.webhook_code = attributes[:'webhook_code']
89
+ end
90
+
91
+ if attributes.key?(:'error')
92
+ self.error = attributes[:'error']
93
+ end
94
+
95
+ if attributes.key?(:'new_transactions')
96
+ self.new_transactions = attributes[:'new_transactions']
97
+ end
98
+
99
+ if attributes.key?(:'item_id')
100
+ self.item_id = attributes[:'item_id']
101
+ end
102
+ end
103
+
104
+ # Show invalid properties with the reasons. Usually used together with valid?
105
+ # @return Array for valid properties with the reasons
106
+ def list_invalid_properties
107
+ invalid_properties = Array.new
108
+ if @webhook_type.nil?
109
+ invalid_properties.push('invalid value for "webhook_type", webhook_type cannot be nil.')
110
+ end
111
+
112
+ if @webhook_code.nil?
113
+ invalid_properties.push('invalid value for "webhook_code", webhook_code cannot be nil.')
114
+ end
115
+
116
+ if @new_transactions.nil?
117
+ invalid_properties.push('invalid value for "new_transactions", new_transactions cannot be nil.')
118
+ end
119
+
120
+ if @item_id.nil?
121
+ invalid_properties.push('invalid value for "item_id", item_id cannot be nil.')
122
+ end
123
+
124
+ invalid_properties
125
+ end
126
+
127
+ # Check to see if the all the properties in the model are valid
128
+ # @return true if the model is valid
129
+ def valid?
130
+ return false if @webhook_type.nil?
131
+ return false if @webhook_code.nil?
132
+ return false if @new_transactions.nil?
133
+ return false if @item_id.nil?
134
+ true
135
+ end
136
+
137
+ # Checks equality by comparing each attribute.
138
+ # @param [Object] Object to be compared
139
+ def ==(o)
140
+ return true if self.equal?(o)
141
+ self.class == o.class &&
142
+ webhook_type == o.webhook_type &&
143
+ webhook_code == o.webhook_code &&
144
+ error == o.error &&
145
+ new_transactions == o.new_transactions &&
146
+ item_id == o.item_id
147
+ end
148
+
149
+ # @see the `==` method
150
+ # @param [Object] Object to be compared
151
+ def eql?(o)
152
+ self == o
153
+ end
154
+
155
+ # Calculates hash code according to all attributes.
156
+ # @return [Integer] Hash code
157
+ def hash
158
+ [webhook_type, webhook_code, error, new_transactions, item_id].hash
159
+ end
160
+
161
+ # Builds the object from hash
162
+ # @param [Hash] attributes Model attributes in the form of hash
163
+ # @return [Object] Returns the model itself
164
+ def self.build_from_hash(attributes)
165
+ new.build_from_hash(attributes)
166
+ end
167
+
168
+ # Builds the object from hash
169
+ # @param [Hash] attributes Model attributes in the form of hash
170
+ # @return [Object] Returns the model itself
171
+ def build_from_hash(attributes)
172
+ return nil unless attributes.is_a?(Hash)
173
+ self.class.openapi_types.each_pair do |key, type|
174
+ if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
175
+ self.send("#{key}=", nil)
176
+ elsif type =~ /\AArray<(.*)>/i
177
+ # check to ensure the input is an array given that the attribute
178
+ # is documented as an array but the input is not
179
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
180
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
181
+ end
182
+ elsif !attributes[self.class.attribute_map[key]].nil?
183
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
184
+ end
185
+ end
186
+
187
+ self
188
+ end
189
+
190
+ # Deserializes the data based on type
191
+ # @param string type Data type
192
+ # @param string value Value to be deserialized
193
+ # @return [Object] Deserialized data
194
+ def _deserialize(type, value)
195
+ case type.to_sym
196
+ when :Time
197
+ Time.parse(value)
198
+ when :Date
199
+ Date.parse(value)
200
+ when :String
201
+ value.to_s
202
+ when :Integer
203
+ value.to_i
204
+ when :Float
205
+ value.to_f
206
+ when :Boolean
207
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
208
+ true
209
+ else
210
+ false
211
+ end
212
+ when :Object
213
+ # generic object (usually a Hash), return directly
214
+ value
215
+ when /\AArray<(?<inner_type>.+)>\z/
216
+ inner_type = Regexp.last_match[:inner_type]
217
+ value.map { |v| _deserialize(inner_type, v) }
218
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
219
+ k_type = Regexp.last_match[:k_type]
220
+ v_type = Regexp.last_match[:v_type]
221
+ {}.tap do |hash|
222
+ value.each do |k, v|
223
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
224
+ end
225
+ end
226
+ else # model
227
+ # models (e.g. Pet) or oneOf
228
+ klass = Plaid.const_get(type)
229
+ klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
230
+ end
231
+ end
232
+
233
+ # Returns the string representation of the object
234
+ # @return [String] String presentation of the object
235
+ def to_s
236
+ to_hash.to_s
237
+ end
238
+
239
+ # to_body is an alias to to_hash (backward compatibility)
240
+ # @return [Hash] Returns the object in the form of hash
241
+ def to_body
242
+ to_hash
243
+ end
244
+
245
+ # Returns the object in the form of hash
246
+ # @return [Hash] Returns the object in the form of hash
247
+ def to_hash
248
+ hash = {}
249
+ self.class.attribute_map.each_pair do |attr, param|
250
+ value = self.send(attr)
251
+ if value.nil?
252
+ is_nullable = self.class.openapi_nullable.include?(attr)
253
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
254
+ end
255
+
256
+ hash[param] = _to_hash(value)
257
+ end
258
+ hash
259
+ end
260
+
261
+ # Outputs non-array value in the form of hash
262
+ # For object, use to_hash. Otherwise, just return the value
263
+ # @param [Object] value Any valid value
264
+ # @return [Hash] Returns the value in the form of hash
265
+ def _to_hash(value)
266
+ if value.is_a?(Array)
267
+ value.compact.map { |v| _to_hash(v) }
268
+ elsif value.is_a?(Hash)
269
+ {}.tap do |hash|
270
+ value.each { |k, v| hash[k] = _to_hash(v) }
271
+ end
272
+ elsif value.respond_to? :to_hash
273
+ value.to_hash
274
+ else
275
+ value
276
+ end
277
+ end
278
+
279
+ end
280
+
281
+ end