transferzero-sdk 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (338) hide show
  1. checksums.yaml +7 -0
  2. data/Gemfile +9 -0
  3. data/LICENSE +7 -0
  4. data/README.md +286 -0
  5. data/Rakefile +10 -0
  6. data/docs/APILogsApi.md +141 -0
  7. data/docs/Account.md +19 -0
  8. data/docs/AccountDebitsApi.md +199 -0
  9. data/docs/AccountListResponse.md +19 -0
  10. data/docs/AccountMeta.md +17 -0
  11. data/docs/AccountResponse.md +19 -0
  12. data/docs/AccountValidationApi.md +70 -0
  13. data/docs/AccountValidationError.md +17 -0
  14. data/docs/AccountValidationRequest.md +25 -0
  15. data/docs/AccountValidationResponse.md +19 -0
  16. data/docs/AccountValidationResult.md +17 -0
  17. data/docs/AccountsApi.md +128 -0
  18. data/docs/ApiLog.md +33 -0
  19. data/docs/ApiLogListResponse.md +19 -0
  20. data/docs/ApiLogResponse.md +17 -0
  21. data/docs/Currency.md +35 -0
  22. data/docs/CurrencyExchange.md +37 -0
  23. data/docs/CurrencyExchangeListResponse.md +17 -0
  24. data/docs/CurrencyInfoApi.md +182 -0
  25. data/docs/CurrencyListResponse.md +17 -0
  26. data/docs/CurrencyOpposite.md +37 -0
  27. data/docs/Debit.md +35 -0
  28. data/docs/DebitListRequest.md +17 -0
  29. data/docs/DebitListResponse.md +19 -0
  30. data/docs/DebitRequest.md +17 -0
  31. data/docs/DebitRequestWrapper.md +17 -0
  32. data/docs/DebitResponse.md +17 -0
  33. data/docs/Document.md +35 -0
  34. data/docs/DocumentListResponse.md +19 -0
  35. data/docs/DocumentRequest.md +17 -0
  36. data/docs/DocumentResponse.md +17 -0
  37. data/docs/DocumentWebhook.md +21 -0
  38. data/docs/DocumentsApi.md +199 -0
  39. data/docs/ErrorStatus.md +19 -0
  40. data/docs/FieldDescription.md +19 -0
  41. data/docs/FieldSelectValidation.md +19 -0
  42. data/docs/FieldValidation.md +21 -0
  43. data/docs/LogsApi.md +141 -0
  44. data/docs/Pagination.md +25 -0
  45. data/docs/PaginationMeta.md +17 -0
  46. data/docs/PayinMethod.md +25 -0
  47. data/docs/PayinMethodDetails.md +21 -0
  48. data/docs/PayinMethodDetailsMobile.md +19 -0
  49. data/docs/PayinMethodDetailsNGNBank.md +17 -0
  50. data/docs/PayinMethodRequest.md +17 -0
  51. data/docs/PaymentMethod.md +27 -0
  52. data/docs/PaymentMethodListResponse.md +17 -0
  53. data/docs/PaymentMethodOpposite.md +29 -0
  54. data/docs/PaymentMethodsApi.md +124 -0
  55. data/docs/PayoutMethod.md +27 -0
  56. data/docs/PayoutMethodBankAccountTypeEnum.md +16 -0
  57. data/docs/PayoutMethodDetails.md +53 -0
  58. data/docs/PayoutMethodDetailsBalance.md +17 -0
  59. data/docs/PayoutMethodDetailsGHSBank.md +23 -0
  60. data/docs/PayoutMethodDetailsIBAN.md +25 -0
  61. data/docs/PayoutMethodDetailsMADCash.md +37 -0
  62. data/docs/PayoutMethodDetailsMobile.md +21 -0
  63. data/docs/PayoutMethodDetailsNGNBank.md +25 -0
  64. data/docs/PayoutMethodDetailsXOFMobile.md +23 -0
  65. data/docs/PayoutMethodGenderEnum.md +16 -0
  66. data/docs/PayoutMethodIdentityCardTypeEnum.md +16 -0
  67. data/docs/PayoutMethodListResponse.md +19 -0
  68. data/docs/PayoutMethodMobileProviderEnum.md +16 -0
  69. data/docs/PayoutMethodRequest.md +17 -0
  70. data/docs/PayoutMethodResponse.md +17 -0
  71. data/docs/PayoutMethodWebhook.md +21 -0
  72. data/docs/PayoutMethodsApi.md +334 -0
  73. data/docs/Recipient.md +55 -0
  74. data/docs/RecipientListResponse.md +19 -0
  75. data/docs/RecipientRequest.md +17 -0
  76. data/docs/RecipientResponse.md +17 -0
  77. data/docs/RecipientState.md +16 -0
  78. data/docs/RecipientWebhook.md +21 -0
  79. data/docs/RecipientsApi.md +212 -0
  80. data/docs/Sender.md +67 -0
  81. data/docs/SenderListResponse.md +19 -0
  82. data/docs/SenderRequest.md +17 -0
  83. data/docs/SenderResponse.md +19 -0
  84. data/docs/SenderResponseExisting.md +17 -0
  85. data/docs/SenderResponseMeta.md +17 -0
  86. data/docs/SenderState.md +16 -0
  87. data/docs/SenderWebhook.md +21 -0
  88. data/docs/SendersApi.md +330 -0
  89. data/docs/Transaction.md +47 -0
  90. data/docs/TransactionListResponse.md +19 -0
  91. data/docs/TransactionRequest.md +17 -0
  92. data/docs/TransactionResponse.md +19 -0
  93. data/docs/TransactionResponseExisting.md +19 -0
  94. data/docs/TransactionResponseMeta.md +17 -0
  95. data/docs/TransactionState.md +16 -0
  96. data/docs/TransactionTraits.md +19 -0
  97. data/docs/TransactionWebhook.md +21 -0
  98. data/docs/TransactionsApi.md +450 -0
  99. data/docs/ValidationErrorDescription.md +17 -0
  100. data/docs/Webhook.md +21 -0
  101. data/docs/WebhookDefinition.md +25 -0
  102. data/docs/WebhookDefinitionEventListResponse.md +17 -0
  103. data/docs/WebhookDefinitionListResponse.md +19 -0
  104. data/docs/WebhookDefinitionRequest.md +17 -0
  105. data/docs/WebhookDefinitionResponse.md +17 -0
  106. data/docs/WebhookLog.md +27 -0
  107. data/docs/WebhookLogListResponse.md +19 -0
  108. data/docs/WebhookLogMetadata.md +35 -0
  109. data/docs/WebhookLogMetadataRequest.md +21 -0
  110. data/docs/WebhookLogMetadataResponse.md +21 -0
  111. data/docs/WebhookLogResponse.md +17 -0
  112. data/docs/WebhooksApi.md +319 -0
  113. data/example/client.rb +473 -0
  114. data/git_push.sh +55 -0
  115. data/lib/transferzero-sdk.rb +146 -0
  116. data/lib/transferzero-sdk/api/account_debits_api.rb +187 -0
  117. data/lib/transferzero-sdk/api/account_validation_api.rb +79 -0
  118. data/lib/transferzero-sdk/api/accounts_api.rb +135 -0
  119. data/lib/transferzero-sdk/api/api_logs_api.rb +137 -0
  120. data/lib/transferzero-sdk/api/currency_info_api.rb +167 -0
  121. data/lib/transferzero-sdk/api/documents_api.rb +197 -0
  122. data/lib/transferzero-sdk/api/logs_api.rb +137 -0
  123. data/lib/transferzero-sdk/api/payment_methods_api.rb +119 -0
  124. data/lib/transferzero-sdk/api/payout_methods_api.rb +321 -0
  125. data/lib/transferzero-sdk/api/recipients_api.rb +221 -0
  126. data/lib/transferzero-sdk/api/senders_api.rb +322 -0
  127. data/lib/transferzero-sdk/api/transactions_api.rb +428 -0
  128. data/lib/transferzero-sdk/api/webhooks_api.rb +299 -0
  129. data/lib/transferzero-sdk/api_client.rb +455 -0
  130. data/lib/transferzero-sdk/api_error.rb +61 -0
  131. data/lib/transferzero-sdk/configuration.rb +166 -0
  132. data/lib/transferzero-sdk/models/account.rb +212 -0
  133. data/lib/transferzero-sdk/models/account_list_response.rb +212 -0
  134. data/lib/transferzero-sdk/models/account_meta.rb +202 -0
  135. data/lib/transferzero-sdk/models/account_response.rb +210 -0
  136. data/lib/transferzero-sdk/models/account_validation_error.rb +202 -0
  137. data/lib/transferzero-sdk/models/account_validation_request.rb +325 -0
  138. data/lib/transferzero-sdk/models/account_validation_response.rb +210 -0
  139. data/lib/transferzero-sdk/models/account_validation_result.rb +202 -0
  140. data/lib/transferzero-sdk/models/api_log.rb +287 -0
  141. data/lib/transferzero-sdk/models/api_log_list_response.rb +213 -0
  142. data/lib/transferzero-sdk/models/api_log_response.rb +201 -0
  143. data/lib/transferzero-sdk/models/currency.rb +292 -0
  144. data/lib/transferzero-sdk/models/currency_exchange.rb +311 -0
  145. data/lib/transferzero-sdk/models/currency_exchange_list_response.rb +204 -0
  146. data/lib/transferzero-sdk/models/currency_list_response.rb +204 -0
  147. data/lib/transferzero-sdk/models/currency_opposite.rb +309 -0
  148. data/lib/transferzero-sdk/models/debit.rb +309 -0
  149. data/lib/transferzero-sdk/models/debit_list_request.rb +203 -0
  150. data/lib/transferzero-sdk/models/debit_list_response.rb +212 -0
  151. data/lib/transferzero-sdk/models/debit_request.rb +201 -0
  152. data/lib/transferzero-sdk/models/debit_request_wrapper.rb +227 -0
  153. data/lib/transferzero-sdk/models/debit_response.rb +201 -0
  154. data/lib/transferzero-sdk/models/document.rb +335 -0
  155. data/lib/transferzero-sdk/models/document_list_response.rb +212 -0
  156. data/lib/transferzero-sdk/models/document_request.rb +201 -0
  157. data/lib/transferzero-sdk/models/document_response.rb +201 -0
  158. data/lib/transferzero-sdk/models/document_webhook.rb +243 -0
  159. data/lib/transferzero-sdk/models/error_status.rb +210 -0
  160. data/lib/transferzero-sdk/models/field_description.rb +245 -0
  161. data/lib/transferzero-sdk/models/field_select_validation.rb +212 -0
  162. data/lib/transferzero-sdk/models/field_validation.rb +221 -0
  163. data/lib/transferzero-sdk/models/pagination.rb +242 -0
  164. data/lib/transferzero-sdk/models/pagination_meta.rb +201 -0
  165. data/lib/transferzero-sdk/models/payin_method.rb +242 -0
  166. data/lib/transferzero-sdk/models/payin_method_details.rb +257 -0
  167. data/lib/transferzero-sdk/models/payin_method_details_mobile.rb +218 -0
  168. data/lib/transferzero-sdk/models/payin_method_details_ngn_bank.rb +208 -0
  169. data/lib/transferzero-sdk/models/payin_method_request.rb +201 -0
  170. data/lib/transferzero-sdk/models/payment_method.rb +257 -0
  171. data/lib/transferzero-sdk/models/payment_method_list_response.rb +203 -0
  172. data/lib/transferzero-sdk/models/payment_method_opposite.rb +275 -0
  173. data/lib/transferzero-sdk/models/payout_method.rb +255 -0
  174. data/lib/transferzero-sdk/models/payout_method_bank_account_type_enum.rb +36 -0
  175. data/lib/transferzero-sdk/models/payout_method_details.rb +462 -0
  176. data/lib/transferzero-sdk/models/payout_method_details_balance.rb +202 -0
  177. data/lib/transferzero-sdk/models/payout_method_details_ghs_bank.rb +249 -0
  178. data/lib/transferzero-sdk/models/payout_method_details_iban.rb +258 -0
  179. data/lib/transferzero-sdk/models/payout_method_details_mad_cash.rb +332 -0
  180. data/lib/transferzero-sdk/models/payout_method_details_mobile.rb +235 -0
  181. data/lib/transferzero-sdk/models/payout_method_details_ngn_bank.rb +263 -0
  182. data/lib/transferzero-sdk/models/payout_method_details_xof_mobile.rb +249 -0
  183. data/lib/transferzero-sdk/models/payout_method_gender_enum.rb +36 -0
  184. data/lib/transferzero-sdk/models/payout_method_identity_card_type_enum.rb +37 -0
  185. data/lib/transferzero-sdk/models/payout_method_list_response.rb +212 -0
  186. data/lib/transferzero-sdk/models/payout_method_mobile_provider_enum.rb +36 -0
  187. data/lib/transferzero-sdk/models/payout_method_request.rb +201 -0
  188. data/lib/transferzero-sdk/models/payout_method_response.rb +201 -0
  189. data/lib/transferzero-sdk/models/payout_method_webhook.rb +243 -0
  190. data/lib/transferzero-sdk/models/recipient.rb +406 -0
  191. data/lib/transferzero-sdk/models/recipient_list_response.rb +212 -0
  192. data/lib/transferzero-sdk/models/recipient_request.rb +201 -0
  193. data/lib/transferzero-sdk/models/recipient_response.rb +201 -0
  194. data/lib/transferzero-sdk/models/recipient_state.rb +44 -0
  195. data/lib/transferzero-sdk/models/recipient_webhook.rb +243 -0
  196. data/lib/transferzero-sdk/models/sender.rb +529 -0
  197. data/lib/transferzero-sdk/models/sender_list_response.rb +212 -0
  198. data/lib/transferzero-sdk/models/sender_request.rb +201 -0
  199. data/lib/transferzero-sdk/models/sender_response.rb +210 -0
  200. data/lib/transferzero-sdk/models/sender_response_existing.rb +201 -0
  201. data/lib/transferzero-sdk/models/sender_response_meta.rb +201 -0
  202. data/lib/transferzero-sdk/models/sender_state.rb +40 -0
  203. data/lib/transferzero-sdk/models/sender_webhook.rb +243 -0
  204. data/lib/transferzero-sdk/models/transaction.rb +370 -0
  205. data/lib/transferzero-sdk/models/transaction_list_response.rb +212 -0
  206. data/lib/transferzero-sdk/models/transaction_request.rb +201 -0
  207. data/lib/transferzero-sdk/models/transaction_response.rb +210 -0
  208. data/lib/transferzero-sdk/models/transaction_response_existing.rb +210 -0
  209. data/lib/transferzero-sdk/models/transaction_response_meta.rb +201 -0
  210. data/lib/transferzero-sdk/models/transaction_state.rb +44 -0
  211. data/lib/transferzero-sdk/models/transaction_traits.rb +213 -0
  212. data/lib/transferzero-sdk/models/transaction_webhook.rb +243 -0
  213. data/lib/transferzero-sdk/models/validation_error_description.rb +203 -0
  214. data/lib/transferzero-sdk/models/webhook.rb +238 -0
  215. data/lib/transferzero-sdk/models/webhook_definition.rb +256 -0
  216. data/lib/transferzero-sdk/models/webhook_definition_event_list_response.rb +203 -0
  217. data/lib/transferzero-sdk/models/webhook_definition_list_response.rb +212 -0
  218. data/lib/transferzero-sdk/models/webhook_definition_request.rb +201 -0
  219. data/lib/transferzero-sdk/models/webhook_definition_response.rb +201 -0
  220. data/lib/transferzero-sdk/models/webhook_log.rb +249 -0
  221. data/lib/transferzero-sdk/models/webhook_log_list_response.rb +213 -0
  222. data/lib/transferzero-sdk/models/webhook_log_metadata.rb +289 -0
  223. data/lib/transferzero-sdk/models/webhook_log_metadata_request.rb +224 -0
  224. data/lib/transferzero-sdk/models/webhook_log_metadata_response.rb +225 -0
  225. data/lib/transferzero-sdk/models/webhook_log_response.rb +201 -0
  226. data/lib/transferzero-sdk/version.rb +15 -0
  227. data/spec/api/account_debits_api_spec.rb +72 -0
  228. data/spec/api/account_validation_api_spec.rb +47 -0
  229. data/spec/api/accounts_api_spec.rb +58 -0
  230. data/spec/api/api_logs_api_spec.rb +62 -0
  231. data/spec/api/currency_info_api_spec.rb +68 -0
  232. data/spec/api/documents_api_spec.rb +72 -0
  233. data/spec/api/logs_api_spec.rb +62 -0
  234. data/spec/api/payment_methods_api_spec.rb +57 -0
  235. data/spec/api/payout_methods_api_spec.rb +102 -0
  236. data/spec/api/recipients_api_spec.rb +79 -0
  237. data/spec/api/senders_api_spec.rb +100 -0
  238. data/spec/api/transactions_api_spec.rb +122 -0
  239. data/spec/api/webhooks_api_spec.rb +95 -0
  240. data/spec/api_client_spec.rb +189 -0
  241. data/spec/configuration_spec.rb +42 -0
  242. data/spec/models/account_list_response_spec.rb +47 -0
  243. data/spec/models/account_meta_spec.rb +41 -0
  244. data/spec/models/account_response_spec.rb +47 -0
  245. data/spec/models/account_spec.rb +47 -0
  246. data/spec/models/account_validation_error_spec.rb +41 -0
  247. data/spec/models/account_validation_request_spec.rb +77 -0
  248. data/spec/models/account_validation_response_spec.rb +47 -0
  249. data/spec/models/account_validation_result_spec.rb +41 -0
  250. data/spec/models/api_log_list_response_spec.rb +47 -0
  251. data/spec/models/api_log_response_spec.rb +41 -0
  252. data/spec/models/api_log_spec.rb +89 -0
  253. data/spec/models/currency_exchange_list_response_spec.rb +41 -0
  254. data/spec/models/currency_exchange_spec.rb +101 -0
  255. data/spec/models/currency_list_response_spec.rb +41 -0
  256. data/spec/models/currency_opposite_spec.rb +101 -0
  257. data/spec/models/currency_spec.rb +95 -0
  258. data/spec/models/debit_list_request_spec.rb +41 -0
  259. data/spec/models/debit_list_response_spec.rb +47 -0
  260. data/spec/models/debit_request_spec.rb +41 -0
  261. data/spec/models/debit_request_wrapper_spec.rb +41 -0
  262. data/spec/models/debit_response_spec.rb +41 -0
  263. data/spec/models/debit_spec.rb +95 -0
  264. data/spec/models/document_list_response_spec.rb +47 -0
  265. data/spec/models/document_request_spec.rb +41 -0
  266. data/spec/models/document_response_spec.rb +41 -0
  267. data/spec/models/document_spec.rb +99 -0
  268. data/spec/models/document_webhook_spec.rb +53 -0
  269. data/spec/models/error_status_spec.rb +47 -0
  270. data/spec/models/field_description_spec.rb +51 -0
  271. data/spec/models/field_select_validation_spec.rb +47 -0
  272. data/spec/models/field_validation_spec.rb +53 -0
  273. data/spec/models/pagination_meta_spec.rb +41 -0
  274. data/spec/models/pagination_spec.rb +65 -0
  275. data/spec/models/payin_method_details_mobile_spec.rb +47 -0
  276. data/spec/models/payin_method_details_ngn_bank_spec.rb +41 -0
  277. data/spec/models/payin_method_details_spec.rb +53 -0
  278. data/spec/models/payin_method_request_spec.rb +41 -0
  279. data/spec/models/payin_method_spec.rb +65 -0
  280. data/spec/models/payment_method_list_response_spec.rb +41 -0
  281. data/spec/models/payment_method_opposite_spec.rb +77 -0
  282. data/spec/models/payment_method_spec.rb +71 -0
  283. data/spec/models/payout_method_bank_account_type_enum_spec.rb +35 -0
  284. data/spec/models/payout_method_details_balance_spec.rb +41 -0
  285. data/spec/models/payout_method_details_ghs_bank_spec.rb +59 -0
  286. data/spec/models/payout_method_details_iban_spec.rb +65 -0
  287. data/spec/models/payout_method_details_mad_cash_spec.rb +101 -0
  288. data/spec/models/payout_method_details_mobile_spec.rb +53 -0
  289. data/spec/models/payout_method_details_ngn_bank_spec.rb +65 -0
  290. data/spec/models/payout_method_details_spec.rb +149 -0
  291. data/spec/models/payout_method_details_xof_mobile_spec.rb +59 -0
  292. data/spec/models/payout_method_gender_enum_spec.rb +35 -0
  293. data/spec/models/payout_method_identity_card_type_enum_spec.rb +35 -0
  294. data/spec/models/payout_method_list_response_spec.rb +47 -0
  295. data/spec/models/payout_method_mobile_provider_enum_spec.rb +35 -0
  296. data/spec/models/payout_method_request_spec.rb +41 -0
  297. data/spec/models/payout_method_response_spec.rb +41 -0
  298. data/spec/models/payout_method_spec.rb +71 -0
  299. data/spec/models/payout_method_webhook_spec.rb +53 -0
  300. data/spec/models/recipient_list_response_spec.rb +47 -0
  301. data/spec/models/recipient_request_spec.rb +41 -0
  302. data/spec/models/recipient_response_spec.rb +41 -0
  303. data/spec/models/recipient_spec.rb +155 -0
  304. data/spec/models/recipient_state_spec.rb +35 -0
  305. data/spec/models/recipient_webhook_spec.rb +53 -0
  306. data/spec/models/sender_list_response_spec.rb +47 -0
  307. data/spec/models/sender_request_spec.rb +41 -0
  308. data/spec/models/sender_response_existing_spec.rb +41 -0
  309. data/spec/models/sender_response_meta_spec.rb +41 -0
  310. data/spec/models/sender_response_spec.rb +47 -0
  311. data/spec/models/sender_spec.rb +195 -0
  312. data/spec/models/sender_state_spec.rb +35 -0
  313. data/spec/models/sender_webhook_spec.rb +53 -0
  314. data/spec/models/transaction_list_response_spec.rb +47 -0
  315. data/spec/models/transaction_request_spec.rb +41 -0
  316. data/spec/models/transaction_response_existing_spec.rb +47 -0
  317. data/spec/models/transaction_response_meta_spec.rb +41 -0
  318. data/spec/models/transaction_response_spec.rb +47 -0
  319. data/spec/models/transaction_spec.rb +131 -0
  320. data/spec/models/transaction_state_spec.rb +35 -0
  321. data/spec/models/transaction_traits_spec.rb +47 -0
  322. data/spec/models/transaction_webhook_spec.rb +53 -0
  323. data/spec/models/validation_error_description_spec.rb +41 -0
  324. data/spec/models/webhook_definition_event_list_response_spec.rb +41 -0
  325. data/spec/models/webhook_definition_list_response_spec.rb +47 -0
  326. data/spec/models/webhook_definition_request_spec.rb +41 -0
  327. data/spec/models/webhook_definition_response_spec.rb +41 -0
  328. data/spec/models/webhook_definition_spec.rb +65 -0
  329. data/spec/models/webhook_log_list_response_spec.rb +47 -0
  330. data/spec/models/webhook_log_metadata_request_spec.rb +53 -0
  331. data/spec/models/webhook_log_metadata_response_spec.rb +53 -0
  332. data/spec/models/webhook_log_metadata_spec.rb +95 -0
  333. data/spec/models/webhook_log_response_spec.rb +41 -0
  334. data/spec/models/webhook_log_spec.rb +71 -0
  335. data/spec/models/webhook_spec.rb +53 -0
  336. data/spec/spec_helper.rb +111 -0
  337. data/transferzero-sdk.gemspec +46 -0
  338. metadata +684 -0
@@ -0,0 +1,204 @@
1
+ =begin
2
+ #TransferZero API
3
+
4
+ #Reference documentation for the TransferZero API V1
5
+
6
+ OpenAPI spec version: 1.0
7
+
8
+ Generated by: https://openapi-generator.tech
9
+ OpenAPI Generator version: 4.0.0-beta3
10
+
11
+ =end
12
+
13
+ require 'date'
14
+
15
+ module TransferZero
16
+ # List of possible currencies
17
+ class CurrencyListResponse
18
+ attr_accessor :object
19
+
20
+ # Attribute mapping from ruby-style variable name to JSON key.
21
+ def self.attribute_map
22
+ {
23
+ :'object' => :'object'
24
+ }
25
+ end
26
+
27
+ # Attribute type mapping.
28
+ def self.openapi_types
29
+ {
30
+ :'object' => :'Array<Currency>'
31
+ }
32
+ end
33
+
34
+ # Initializes the object
35
+ # @param [Hash] attributes Model attributes in the form of hash
36
+ def initialize(attributes = {})
37
+ if (!attributes.is_a?(Hash))
38
+ fail ArgumentError, "The input argument (attributes) must be a hash in `TransferZero::CurrencyListResponse` initialize method"
39
+ end
40
+
41
+ # check to see if the attribute exists and convert string to symbol for hash key
42
+ attributes = attributes.each_with_object({}) { |(k, v), h|
43
+ if (!self.class.attribute_map.key?(k.to_sym))
44
+ fail ArgumentError, "`#{k}` is not a valid attribute in `TransferZero::CurrencyListResponse`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
45
+ end
46
+ h[k.to_sym] = v
47
+ }
48
+
49
+ if attributes.key?(:'object')
50
+ if (value = attributes[:'object']).is_a?(Array)
51
+ self.object = value
52
+ end
53
+ end
54
+ end
55
+
56
+ # Show invalid properties with the reasons. Usually used together with valid?
57
+ # @return Array for valid properties with the reasons
58
+ def list_invalid_properties
59
+ invalid_properties = Array.new
60
+ invalid_properties
61
+ end
62
+
63
+ # Check to see if the all the properties in the model are valid
64
+ # @return true if the model is valid
65
+ def valid?
66
+ true
67
+ end
68
+
69
+ # Checks equality by comparing each attribute.
70
+ # @param [Object] Object to be compared
71
+ def ==(o)
72
+ return true if self.equal?(o)
73
+ self.class == o.class &&
74
+ object == o.object
75
+ end
76
+
77
+ # @see the `==` method
78
+ # @param [Object] Object to be compared
79
+ def eql?(o)
80
+ self == o
81
+ end
82
+
83
+ # Calculates hash code according to all attributes.
84
+ # @return [Integer] Hash code
85
+ def hash
86
+ [object].hash
87
+ end
88
+
89
+ require 'active_support/core_ext/hash'
90
+ require 'active_support/hash_with_indifferent_access.rb'
91
+ # Builds the object from hash
92
+ # @param [Hash] attributes Model attributes in the form of hash
93
+ # @return [Object] Returns the model itself
94
+ def build_from_hash(attributes)
95
+ return nil unless attributes.is_a?(Hash)
96
+ self.class.openapi_types.each_pair do |key, type|
97
+ if type =~ /\AArray<(.*)>/i
98
+ # check to ensure the input is an array given that the the attribute
99
+ # is documented as an array but the input is not
100
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
101
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
102
+ end
103
+ elsif !attributes[self.class.attribute_map[key]].nil?
104
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
105
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
106
+ end
107
+
108
+ self
109
+ end
110
+
111
+ # Deserializes the data based on type
112
+ # @param string type Data type
113
+ # @param string value Value to be deserialized
114
+ # @return [Object] Deserialized data
115
+ def _deserialize(type, value)
116
+ case type.to_sym
117
+ when :DateTime
118
+ DateTime.parse(value)
119
+ when :Date
120
+ Date.parse(value)
121
+ when :String
122
+ value.to_s
123
+ when :Integer
124
+ value.to_i
125
+ when :Float
126
+ value.to_f
127
+ when :Boolean
128
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
129
+ true
130
+ else
131
+ false
132
+ end
133
+ when :Object
134
+ # generic object (usually a Hash), return directly
135
+ value
136
+ when /\AArray<(?<inner_type>.+)>\z/
137
+ inner_type = Regexp.last_match[:inner_type]
138
+ value.map { |v| _deserialize(inner_type, v) }
139
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
140
+ k_type = Regexp.last_match[:k_type]
141
+ v_type = Regexp.last_match[:v_type]
142
+ {}.tap do |hash|
143
+ value.each do |k, v|
144
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
145
+ end
146
+ end
147
+ else # model
148
+ temp_model = TransferZero.const_get(type).new
149
+ temp_model.build_from_hash(value)
150
+ end
151
+ end
152
+
153
+ # Returns the string representation of the object
154
+ # @return [String] String presentation of the object
155
+ def to_s
156
+ to_hash.to_s
157
+ end
158
+
159
+ # to_body is an alias to to_hash (backward compatibility)
160
+ # @return [Hash] Returns the object in the form of hash
161
+ def to_body
162
+ to_hash
163
+ end
164
+
165
+ # Returns the object in the form of hash
166
+ # @return [Hash] Returns the object in the form of hash
167
+ def to_hash
168
+ hash = {}
169
+ self.class.attribute_map.each_pair do |attr, param|
170
+ value = self.send(attr)
171
+ next if value.nil?
172
+ hash[param] = _to_hash(value)
173
+ end
174
+ ::ActiveSupport::HashWithIndifferentAccess.new(hash)
175
+ end
176
+
177
+ def [](key)
178
+ to_hash[key]
179
+ end
180
+
181
+ def dig(*args)
182
+ to_hash.dig(*args)
183
+ end
184
+
185
+ # Outputs non-array value in the form of hash
186
+ # For object, use to_hash. Otherwise, just return the value
187
+ # @param [Object] value Any valid value
188
+ # @return [Hash] Returns the value in the form of hash
189
+ def _to_hash(value)
190
+ if value.is_a?(Array)
191
+ value.compact.map { |v| _to_hash(v) }
192
+ elsif value.is_a?(Hash)
193
+ {}.tap do |hash|
194
+ value.each { |k, v| hash[k] = _to_hash(v) }
195
+ end
196
+ elsif value.respond_to? :to_hash
197
+ value.to_hash
198
+ else
199
+ value
200
+ end
201
+ end
202
+
203
+ end
204
+ end
@@ -0,0 +1,309 @@
1
+ =begin
2
+ #TransferZero API
3
+
4
+ #Reference documentation for the TransferZero API V1
5
+
6
+ OpenAPI spec version: 1.0
7
+
8
+ Generated by: https://openapi-generator.tech
9
+ OpenAPI Generator version: 4.0.0-beta3
10
+
11
+ =end
12
+
13
+ require 'date'
14
+
15
+ module TransferZero
16
+ class CurrencyOpposite
17
+ # The currency code in 3-character alpha ISO 4217 currency format
18
+ attr_accessor :code
19
+
20
+ # Name of currency
21
+ attr_accessor :name
22
+
23
+ # Symbol of currency
24
+ attr_accessor :symbol
25
+
26
+ # Number of decimal points
27
+ attr_accessor :decimals
28
+
29
+ # Subunits in Unit (eg. there are 100 cents in 1 US Dollar)
30
+ attr_accessor :subunit_to_unit
31
+
32
+ # Is this a primary currency?
33
+ attr_accessor :primary
34
+
35
+ # The minimum amount allowed in a transaction
36
+ attr_accessor :min
37
+
38
+ # The maximum amount allowed in a transaction
39
+ attr_accessor :max
40
+
41
+ # The margin set for transactions in this currency
42
+ attr_accessor :margin
43
+
44
+ # The equivalent of the currency to 1 USD
45
+ attr_accessor :usd_equivalent
46
+
47
+ # The rate of this particular currency with the base one
48
+ attr_accessor :rate
49
+
50
+ # Attribute mapping from ruby-style variable name to JSON key.
51
+ def self.attribute_map
52
+ {
53
+ :'code' => :'code',
54
+ :'name' => :'name',
55
+ :'symbol' => :'symbol',
56
+ :'decimals' => :'decimals',
57
+ :'subunit_to_unit' => :'subunit_to_unit',
58
+ :'primary' => :'primary',
59
+ :'min' => :'min',
60
+ :'max' => :'max',
61
+ :'margin' => :'margin',
62
+ :'usd_equivalent' => :'usd_equivalent',
63
+ :'rate' => :'rate'
64
+ }
65
+ end
66
+
67
+ # Attribute type mapping.
68
+ def self.openapi_types
69
+ {
70
+ :'code' => :'String',
71
+ :'name' => :'String',
72
+ :'symbol' => :'String',
73
+ :'decimals' => :'Float',
74
+ :'subunit_to_unit' => :'String',
75
+ :'primary' => :'Boolean',
76
+ :'min' => :'String',
77
+ :'max' => :'String',
78
+ :'margin' => :'String',
79
+ :'usd_equivalent' => :'String',
80
+ :'rate' => :'Float'
81
+ }
82
+ end
83
+
84
+ # List of class defined in allOf (OpenAPI v3)
85
+ def self.openapi_all_of
86
+ [
87
+ :'Currency'
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 `TransferZero::CurrencyOpposite` 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 `TransferZero::CurrencyOpposite`. 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?(:'code')
107
+ self.code = attributes[:'code']
108
+ end
109
+
110
+ if attributes.key?(:'name')
111
+ self.name = attributes[:'name']
112
+ end
113
+
114
+ if attributes.key?(:'symbol')
115
+ self.symbol = attributes[:'symbol']
116
+ end
117
+
118
+ if attributes.key?(:'decimals')
119
+ self.decimals = attributes[:'decimals']
120
+ end
121
+
122
+ if attributes.key?(:'subunit_to_unit')
123
+ self.subunit_to_unit = attributes[:'subunit_to_unit']
124
+ end
125
+
126
+ if attributes.key?(:'primary')
127
+ self.primary = attributes[:'primary']
128
+ end
129
+
130
+ if attributes.key?(:'min')
131
+ self.min = attributes[:'min']
132
+ end
133
+
134
+ if attributes.key?(:'max')
135
+ self.max = attributes[:'max']
136
+ end
137
+
138
+ if attributes.key?(:'margin')
139
+ self.margin = attributes[:'margin']
140
+ end
141
+
142
+ if attributes.key?(:'usd_equivalent')
143
+ self.usd_equivalent = attributes[:'usd_equivalent']
144
+ end
145
+
146
+ if attributes.key?(:'rate')
147
+ self.rate = attributes[:'rate']
148
+ end
149
+ end
150
+
151
+ # Show invalid properties with the reasons. Usually used together with valid?
152
+ # @return Array for valid properties with the reasons
153
+ def list_invalid_properties
154
+ invalid_properties = Array.new
155
+ invalid_properties
156
+ end
157
+
158
+ # Check to see if the all the properties in the model are valid
159
+ # @return true if the model is valid
160
+ def valid?
161
+ true
162
+ end
163
+
164
+ # Checks equality by comparing each attribute.
165
+ # @param [Object] Object to be compared
166
+ def ==(o)
167
+ return true if self.equal?(o)
168
+ self.class == o.class &&
169
+ code == o.code &&
170
+ name == o.name &&
171
+ symbol == o.symbol &&
172
+ decimals == o.decimals &&
173
+ subunit_to_unit == o.subunit_to_unit &&
174
+ primary == o.primary &&
175
+ min == o.min &&
176
+ max == o.max &&
177
+ margin == o.margin &&
178
+ usd_equivalent == o.usd_equivalent &&
179
+ rate == o.rate
180
+ end
181
+
182
+ # @see the `==` method
183
+ # @param [Object] Object to be compared
184
+ def eql?(o)
185
+ self == o
186
+ end
187
+
188
+ # Calculates hash code according to all attributes.
189
+ # @return [Integer] Hash code
190
+ def hash
191
+ [code, name, symbol, decimals, subunit_to_unit, primary, min, max, margin, usd_equivalent, rate].hash
192
+ end
193
+
194
+ require 'active_support/core_ext/hash'
195
+ require 'active_support/hash_with_indifferent_access.rb'
196
+ # Builds the object from hash
197
+ # @param [Hash] attributes Model attributes in the form of hash
198
+ # @return [Object] Returns the model itself
199
+ def build_from_hash(attributes)
200
+ return nil unless attributes.is_a?(Hash)
201
+ self.class.openapi_types.each_pair do |key, type|
202
+ if type =~ /\AArray<(.*)>/i
203
+ # check to ensure the input is an array given that the the attribute
204
+ # is documented as an array but the input is not
205
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
206
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
207
+ end
208
+ elsif !attributes[self.class.attribute_map[key]].nil?
209
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
210
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
211
+ end
212
+
213
+ self
214
+ end
215
+
216
+ # Deserializes the data based on type
217
+ # @param string type Data type
218
+ # @param string value Value to be deserialized
219
+ # @return [Object] Deserialized data
220
+ def _deserialize(type, value)
221
+ case type.to_sym
222
+ when :DateTime
223
+ DateTime.parse(value)
224
+ when :Date
225
+ Date.parse(value)
226
+ when :String
227
+ value.to_s
228
+ when :Integer
229
+ value.to_i
230
+ when :Float
231
+ value.to_f
232
+ when :Boolean
233
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
234
+ true
235
+ else
236
+ false
237
+ end
238
+ when :Object
239
+ # generic object (usually a Hash), return directly
240
+ value
241
+ when /\AArray<(?<inner_type>.+)>\z/
242
+ inner_type = Regexp.last_match[:inner_type]
243
+ value.map { |v| _deserialize(inner_type, v) }
244
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
245
+ k_type = Regexp.last_match[:k_type]
246
+ v_type = Regexp.last_match[:v_type]
247
+ {}.tap do |hash|
248
+ value.each do |k, v|
249
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
250
+ end
251
+ end
252
+ else # model
253
+ temp_model = TransferZero.const_get(type).new
254
+ temp_model.build_from_hash(value)
255
+ end
256
+ end
257
+
258
+ # Returns the string representation of the object
259
+ # @return [String] String presentation of the object
260
+ def to_s
261
+ to_hash.to_s
262
+ end
263
+
264
+ # to_body is an alias to to_hash (backward compatibility)
265
+ # @return [Hash] Returns the object in the form of hash
266
+ def to_body
267
+ to_hash
268
+ end
269
+
270
+ # Returns the object in the form of hash
271
+ # @return [Hash] Returns the object in the form of hash
272
+ def to_hash
273
+ hash = {}
274
+ self.class.attribute_map.each_pair do |attr, param|
275
+ value = self.send(attr)
276
+ next if value.nil?
277
+ hash[param] = _to_hash(value)
278
+ end
279
+ ::ActiveSupport::HashWithIndifferentAccess.new(hash)
280
+ end
281
+
282
+ def [](key)
283
+ to_hash[key]
284
+ end
285
+
286
+ def dig(*args)
287
+ to_hash.dig(*args)
288
+ end
289
+
290
+ # Outputs non-array value in the form of hash
291
+ # For object, use to_hash. Otherwise, just return the value
292
+ # @param [Object] value Any valid value
293
+ # @return [Hash] Returns the value in the form of hash
294
+ def _to_hash(value)
295
+ if value.is_a?(Array)
296
+ value.compact.map { |v| _to_hash(v) }
297
+ elsif value.is_a?(Hash)
298
+ {}.tap do |hash|
299
+ value.each { |k, v| hash[k] = _to_hash(v) }
300
+ end
301
+ elsif value.respond_to? :to_hash
302
+ value.to_hash
303
+ else
304
+ value
305
+ end
306
+ end
307
+
308
+ end
309
+ end