cybersource_rest_client 0.0.86 → 0.0.87

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 (200) hide show
  1. checksums.yaml +4 -4
  2. data/lib/AuthenticationSDK/util/CertificateUtility.rb +14 -6
  3. data/lib/cybersource_rest_client/api/agent_capabilities_api.rb +24 -24
  4. data/lib/cybersource_rest_client/api/bin_lookup_api.rb +3 -3
  5. data/lib/cybersource_rest_client/api/create_new_webhooks_api.rb +6 -6
  6. data/lib/cybersource_rest_client/api/foreign_exchange_rates_api.rb +3 -3
  7. data/lib/cybersource_rest_client/api/manage_webhooks_api.rb +9 -9
  8. data/lib/cybersource_rest_client/api/merchant_boarding_api.rb +3 -3
  9. data/lib/cybersource_rest_client/api/offers_api.rb +3 -3
  10. data/lib/cybersource_rest_client/api/search_transactions_api.rb +2 -2
  11. data/lib/cybersource_rest_client/api/transaction_details_api.rb +1 -1
  12. data/lib/cybersource_rest_client/api/transaction_query_api.rb +3 -3
  13. data/lib/cybersource_rest_client/api/visa_protect_risk_insights_api.rb +104 -0
  14. data/lib/cybersource_rest_client/models/inline_response_200_16.rb +2 -2
  15. data/lib/cybersource_rest_client/models/inline_response_200_17.rb +5 -5
  16. data/lib/cybersource_rest_client/models/inline_response_200_18.rb +5 -5
  17. data/lib/cybersource_rest_client/models/inline_response_200_4.rb +1 -1
  18. data/lib/cybersource_rest_client/models/inline_response_200_5.rb +1 -1
  19. data/lib/cybersource_rest_client/models/inline_response_201_10.rb +18 -93
  20. data/lib/cybersource_rest_client/models/inline_response_201_11.rb +103 -8
  21. data/lib/cybersource_rest_client/models/{inline_response_201_12_client_reference_information.rb → inline_response_201_11_client_reference_information.rb} +1 -1
  22. data/lib/cybersource_rest_client/models/{inline_response_201_12_error_information.rb → inline_response_201_11_error_information.rb} +1 -1
  23. data/lib/cybersource_rest_client/models/{inline_response_201_12_order_information.rb → inline_response_201_11_order_information.rb} +2 -2
  24. data/lib/cybersource_rest_client/models/{inline_response_201_12_order_information_currency_conversion.rb → inline_response_201_11_order_information_currency_conversion.rb} +2 -2
  25. data/lib/cybersource_rest_client/models/{inline_response_201_12_order_information_currency_conversion_offer.rb → inline_response_201_11_order_information_currency_conversion_offer.rb} +1 -1
  26. data/lib/cybersource_rest_client/models/{inline_response_201_12_processor_information.rb → inline_response_201_11_processor_information.rb} +1 -1
  27. data/lib/cybersource_rest_client/models/inline_response_201_12.rb +110 -89
  28. data/lib/cybersource_rest_client/models/{inline_response_201_13_fulfillment_address.rb → inline_response_201_12_fulfillment_address.rb} +1 -1
  29. data/lib/cybersource_rest_client/models/{inline_response_201_13_fulfillment_options.rb → inline_response_201_12_fulfillment_options.rb} +1 -1
  30. data/lib/cybersource_rest_client/models/{inline_response_201_14_item.rb → inline_response_201_12_item.rb} +20 -20
  31. data/lib/cybersource_rest_client/models/inline_response_201_12_line_items.rb +256 -0
  32. data/lib/cybersource_rest_client/models/{inline_response_201_13_links.rb → inline_response_201_12_links.rb} +1 -1
  33. data/lib/cybersource_rest_client/models/{inline_response_201_13_messages.rb → inline_response_201_12_messages.rb} +1 -1
  34. data/lib/cybersource_rest_client/models/{inline_response_201_13_payment_provider.rb → inline_response_201_12_payment_provider.rb} +1 -1
  35. data/lib/cybersource_rest_client/models/{inline_response_201_13_totals.rb → inline_response_201_12_totals.rb} +1 -1
  36. data/lib/cybersource_rest_client/models/inline_response_201_13.rb +61 -67
  37. data/lib/cybersource_rest_client/models/{inline_response_201_14_discounts.rb → inline_response_201_13_discounts.rb} +1 -1
  38. data/lib/cybersource_rest_client/models/{inline_response_201_14_fulfillment.rb → inline_response_201_13_fulfillment.rb} +1 -1
  39. data/lib/cybersource_rest_client/models/inline_response_201_13_item.rb +19 -19
  40. data/lib/cybersource_rest_client/models/inline_response_201_13_line_items.rb +20 -51
  41. data/lib/cybersource_rest_client/models/{inline_response_201_14_order.rb → inline_response_201_13_order.rb} +1 -1
  42. data/lib/cybersource_rest_client/models/{inline_response_201_14_payment.rb → inline_response_201_13_payment.rb} +1 -1
  43. data/lib/cybersource_rest_client/models/{inline_response_201_14_ucp.rb → inline_response_201_13_ucp.rb} +2 -2
  44. data/lib/cybersource_rest_client/models/{inline_response_201_14_ucp_capabilities.rb → inline_response_201_13_ucp_capabilities.rb} +1 -1
  45. data/lib/cybersource_rest_client/models/inline_response_201_3.rb +82 -39
  46. data/lib/cybersource_rest_client/models/{inline_response_201_5_error_information.rb → inline_response_201_3_error_information.rb} +3 -3
  47. data/lib/cybersource_rest_client/models/{inline_response_201_5_error_information_details.rb → inline_response_201_3_error_information_details.rb} +2 -2
  48. data/lib/cybersource_rest_client/models/{inline_response_201_5_order_information.rb → inline_response_201_3_order_information.rb} +2 -2
  49. data/lib/cybersource_rest_client/models/inline_response_201_3_order_information_amount_details.rb +315 -0
  50. data/lib/cybersource_rest_client/models/inline_response_201_3_processing_information.rb +189 -0
  51. data/lib/cybersource_rest_client/models/{inline_response_201_4_processing_information_routing.rb → inline_response_201_3_processing_information_routing.rb} +1 -1
  52. data/lib/cybersource_rest_client/models/inline_response_201_3_processor_information.rb +213 -0
  53. data/lib/cybersource_rest_client/models/inline_response_201_4.rb +41 -30
  54. data/lib/cybersource_rest_client/models/{inline_response_201_5__links.rb → inline_response_201_4__links.rb} +2 -2
  55. data/lib/cybersource_rest_client/models/{inline_response_201_5__links_self.rb → inline_response_201_4__links_self.rb} +1 -1
  56. data/lib/cybersource_rest_client/models/{inline_response_201_5_acquirer_information.rb → inline_response_201_4_acquirer_information.rb} +1 -1
  57. data/lib/cybersource_rest_client/models/{inline_response_201_5_client_reference_information.rb → inline_response_201_4_client_reference_information.rb} +1 -1
  58. data/lib/cybersource_rest_client/models/inline_response_201_4_error_information.rb +1 -1
  59. data/lib/cybersource_rest_client/models/inline_response_201_4_error_information_details.rb +1 -1
  60. data/lib/cybersource_rest_client/models/{inline_response_201_5_merchant_information.rb → inline_response_201_4_merchant_information.rb} +1 -1
  61. data/lib/cybersource_rest_client/models/inline_response_201_4_order_information_amount_details.rb +46 -97
  62. data/lib/cybersource_rest_client/models/{inline_response_201_5_payment_information.rb → inline_response_201_4_payment_information.rb} +2 -2
  63. data/lib/cybersource_rest_client/models/{inline_response_201_5_payment_information_card.rb → inline_response_201_4_payment_information_card.rb} +1 -1
  64. data/lib/cybersource_rest_client/models/inline_response_201_4_processing_information.rb +59 -8
  65. data/lib/cybersource_rest_client/models/{inline_response_201_5_processing_information_payouts_options.rb → inline_response_201_4_processing_information_payouts_options.rb} +1 -1
  66. data/lib/cybersource_rest_client/models/inline_response_201_4_processor_information.rb +342 -7
  67. data/lib/cybersource_rest_client/models/{inline_response_201_5_processor_information_card_verification.rb → inline_response_201_4_processor_information_card_verification.rb} +1 -1
  68. data/lib/cybersource_rest_client/models/{inline_response_201_5_transactions.rb → inline_response_201_4_transactions.rb} +7 -7
  69. data/lib/cybersource_rest_client/models/inline_response_201_5.rb +35 -68
  70. data/lib/cybersource_rest_client/models/{inline_response_201_6_payout_information.rb → inline_response_201_5_payout_information.rb} +3 -3
  71. data/lib/cybersource_rest_client/models/{inline_response_201_6_payout_information_pull_funds.rb → inline_response_201_5_payout_information_pull_funds.rb} +1 -1
  72. data/lib/cybersource_rest_client/models/{inline_response_201_6_payout_information_push_funds.rb → inline_response_201_5_payout_information_push_funds.rb} +1 -1
  73. data/lib/cybersource_rest_client/models/inline_response_201_6.rb +59 -26
  74. data/lib/cybersource_rest_client/models/{inline_response_201_7_integration_information.rb → inline_response_201_6_integration_information.rb} +2 -2
  75. data/lib/cybersource_rest_client/models/{inline_response_201_7_integration_information_tenant_configurations.rb → inline_response_201_6_integration_information_tenant_configurations.rb} +1 -1
  76. data/lib/cybersource_rest_client/models/{inline_response_201_7_organization_information.rb → inline_response_201_6_organization_information.rb} +1 -1
  77. data/lib/cybersource_rest_client/models/{inline_response_201_7_product_information_setups.rb → inline_response_201_6_product_information_setups.rb} +2 -2
  78. data/lib/cybersource_rest_client/models/{inline_response_201_7_registration_information.rb → inline_response_201_6_registration_information.rb} +1 -1
  79. data/lib/cybersource_rest_client/models/{inline_response_201_7_setups.rb → inline_response_201_6_setups.rb} +4 -4
  80. data/lib/cybersource_rest_client/models/{inline_response_201_7_setups_commerce_solutions.rb → inline_response_201_6_setups_commerce_solutions.rb} +1 -1
  81. data/lib/cybersource_rest_client/models/{inline_response_201_7_setups_risk.rb → inline_response_201_6_setups_risk.rb} +1 -1
  82. data/lib/cybersource_rest_client/models/{inline_response_201_7_setups_value_added_services.rb → inline_response_201_6_setups_value_added_services.rb} +1 -1
  83. data/lib/cybersource_rest_client/models/inline_response_201_7.rb +19 -78
  84. data/lib/cybersource_rest_client/models/{inline_response_201_8_key_information.rb → inline_response_201_7_key_information.rb} +2 -2
  85. data/lib/cybersource_rest_client/models/{inline_response_201_8_key_information_error_information.rb → inline_response_201_7_key_information_error_information.rb} +2 -2
  86. data/lib/cybersource_rest_client/models/{inline_response_201_8_key_information_error_information_details.rb → inline_response_201_7_key_information_error_information_details.rb} +1 -1
  87. data/lib/cybersource_rest_client/models/inline_response_201_8.rb +117 -25
  88. data/lib/cybersource_rest_client/models/inline_response_201_9.rb +68 -105
  89. data/lib/cybersource_rest_client/models/{inline_response_201_10_payloads.rb → inline_response_201_9_payloads.rb} +2 -2
  90. data/lib/cybersource_rest_client/models/{inline_response_201_10_payloads_test_payload.rb → inline_response_201_9_payloads_test_payload.rb} +1 -1
  91. data/lib/cybersource_rest_client/models/inline_response_400_3.rb +1 -1
  92. data/lib/cybersource_rest_client/models/inline_response_400_4.rb +1 -1
  93. data/lib/cybersource_rest_client/models/invoicing_v2_invoices_post201_response_merchant_defined_field_values_with_definition.rb +11 -1
  94. data/lib/cybersource_rest_client/models/ucv1sessions_complete_mandate.rb +16 -5
  95. data/lib/cybersource_rest_client/models/ucv1sessions_data.rb +11 -1
  96. data/lib/cybersource_rest_client/models/ucv1sessions_data_acquirer_information.rb +196 -0
  97. data/lib/cybersource_rest_client/models/ucv1sessions_data_aggregator_information.rb +1 -1
  98. data/lib/cybersource_rest_client/models/ucv1sessions_data_consumer_authentication_information.rb +16 -5
  99. data/lib/cybersource_rest_client/models/{inline_response_201_14_line_items.rb → unified_risk_post201_response.rb} +28 -42
  100. data/lib/cybersource_rest_client/models/{inline_response_201_3_results.rb → unified_risk_post201_response_results.rb} +3 -3
  101. data/lib/cybersource_rest_client/models/unified_risk_post201_response_results_risk_insights.rb +291 -0
  102. data/lib/cybersource_rest_client/models/unified_risk_post201_response_results_risk_insights_client.rb +208 -0
  103. data/lib/cybersource_rest_client/models/unified_risk_post201_response_results_risk_insights_error.rb +202 -0
  104. data/lib/cybersource_rest_client/models/unified_risk_post201_response_results_risk_insights_packages.rb +190 -0
  105. data/lib/cybersource_rest_client/models/unified_risk_post201_response_results_risk_insights_packages_transaction_insights.rb +250 -0
  106. data/lib/cybersource_rest_client/models/unified_risk_post201_response_results_risk_insights_packages_transaction_insights_insights.rb +219 -0
  107. data/lib/cybersource_rest_client/models/unified_risk_post201_response_transaction_insights_insights_warnings.rb +214 -0
  108. data/lib/cybersource_rest_client/models/{unified_risk_labels_post400_response.rb → unified_risk_post400_response.rb} +2 -2
  109. data/lib/cybersource_rest_client/models/{unified_risk_labels_post400_response_errors.rb → unified_risk_post400_response_errors.rb} +1 -1
  110. data/lib/cybersource_rest_client/models/unifiedrisk_account.rb +190 -0
  111. data/lib/cybersource_rest_client/models/unifiedrisk_acquirer.rb +302 -0
  112. data/lib/cybersource_rest_client/models/unifiedrisk_acquirer_merchant_account.rb +234 -0
  113. data/lib/cybersource_rest_client/models/unifiedrisk_acquirer_merchant_account_security_amount.rb +246 -0
  114. data/lib/cybersource_rest_client/models/unifiedrisk_authentication.rb +402 -0
  115. data/lib/cybersource_rest_client/models/unifiedrisk_authentication_challenge.rb +202 -0
  116. data/lib/cybersource_rest_client/models/unifiedrisk_authorization.rb +212 -0
  117. data/lib/cybersource_rest_client/models/unifiedrisk_browser.rb +420 -0
  118. data/lib/cybersource_rest_client/models/unifiedrisk_customer.rb +403 -0
  119. data/lib/cybersource_rest_client/models/unifiedrisk_customer_address.rb +279 -0
  120. data/lib/cybersource_rest_client/models/{inline_response_201_5_processing_information.rb → unifiedrisk_customer_personal_identification.rb} +99 -42
  121. data/lib/cybersource_rest_client/models/unifiedrisk_device.rb +681 -0
  122. data/lib/cybersource_rest_client/models/unifiedrisk_device_point_of_sale.rb +344 -0
  123. data/lib/cybersource_rest_client/models/unifiedrisk_initiating_party.rb +223 -0
  124. data/lib/cybersource_rest_client/models/unifiedrisk_merchant.rb +326 -0
  125. data/lib/cybersource_rest_client/models/unifiedrisk_merchant_address.rb +328 -0
  126. data/lib/cybersource_rest_client/models/unifiedrisk_merchant_merchant_descriptor.rb +389 -0
  127. data/lib/cybersource_rest_client/models/unifiedrisk_merchant_merchant_descriptor_expected_annual_sales.rb +268 -0
  128. data/lib/cybersource_rest_client/models/unifiedrisk_merchant_merchant_descriptor_expected_average_ticket_size.rb +246 -0
  129. data/lib/cybersource_rest_client/models/unifiedrisk_merchant_merchant_descriptor_expected_monthly_sales.rb +268 -0
  130. data/lib/cybersource_rest_client/models/unifiedrisk_merchant_merchant_descriptor_hierarchy.rb +224 -0
  131. data/lib/cybersource_rest_client/models/unifiedrisk_merchant_merchant_descriptor_limit_value.rb +257 -0
  132. data/lib/cybersource_rest_client/models/unifiedrisk_merchant_trading_address.rb +301 -0
  133. data/lib/cybersource_rest_client/models/{label_request.rb → unifiedrisk_order.rb} +60 -72
  134. data/lib/cybersource_rest_client/models/unifiedrisk_order_billing.rb +360 -0
  135. data/lib/cybersource_rest_client/models/unifiedrisk_order_line_items.rb +262 -0
  136. data/lib/cybersource_rest_client/models/unifiedrisk_order_shipping.rb +464 -0
  137. data/lib/cybersource_rest_client/models/unifiedrisk_order_shipping_store.rb +251 -0
  138. data/lib/cybersource_rest_client/models/unifiedrisk_order_shipping_store_address.rb +191 -0
  139. data/lib/cybersource_rest_client/models/{inline_response_201_3_results_risk_insights.rb → unifiedrisk_order_shipping_store_store_address.rb} +43 -43
  140. data/lib/cybersource_rest_client/models/unifiedrisk_partner.rb +214 -0
  141. data/lib/cybersource_rest_client/models/unifiedrisk_payment.rb +423 -0
  142. data/lib/cybersource_rest_client/models/unifiedrisk_payment_approvals.rb +193 -0
  143. data/lib/cybersource_rest_client/models/unifiedrisk_payment_bank_account.rb +451 -0
  144. data/lib/cybersource_rest_client/models/{inline_response_201_5_order_information_amount_details.rb → unifiedrisk_payment_bank_account_balance_before.rb} +49 -56
  145. data/lib/cybersource_rest_client/models/unifiedrisk_payment_bank_account_branch_address.rb +328 -0
  146. data/lib/cybersource_rest_client/models/unifiedrisk_payment_bank_account_credit_limit.rb +257 -0
  147. data/lib/cybersource_rest_client/models/unifiedrisk_payment_bank_account_financial_institution.rb +212 -0
  148. data/lib/cybersource_rest_client/models/unifiedrisk_payment_batch.rb +323 -0
  149. data/lib/cybersource_rest_client/models/unifiedrisk_payment_card.rb +461 -0
  150. data/lib/cybersource_rest_client/models/unifiedrisk_payment_card_par_details.rb +196 -0
  151. data/lib/cybersource_rest_client/models/unifiedrisk_payment_card_token_details.rb +380 -0
  152. data/lib/cybersource_rest_client/models/unifiedrisk_payment_check.rb +289 -0
  153. data/lib/cybersource_rest_client/models/unifiedrisk_payment_check_deposit_location.rb +279 -0
  154. data/lib/cybersource_rest_client/models/unifiedrisk_payment_counterparty.rb +287 -0
  155. data/lib/cybersource_rest_client/models/unifiedrisk_payment_counterparty_address.rb +279 -0
  156. data/lib/cybersource_rest_client/models/unifiedrisk_payment_counterparty_branch_address.rb +279 -0
  157. data/lib/cybersource_rest_client/models/unifiedrisk_payment_sdk.rb +268 -0
  158. data/lib/cybersource_rest_client/models/unifiedrisk_payment_token.rb +213 -0
  159. data/lib/cybersource_rest_client/models/unifiedrisk_payment_verification.rb +230 -0
  160. data/lib/cybersource_rest_client/models/unifiedrisk_payment_verification_additional.rb +256 -0
  161. data/lib/cybersource_rest_client/models/unifiedrisk_payment_verification_authentication.rb +232 -0
  162. data/lib/cybersource_rest_client/models/unifiedrisk_payment_verification_authentication_pin.rb +201 -0
  163. data/lib/cybersource_rest_client/models/unifiedrisk_payment_verification_authentication_three_ds.rb +190 -0
  164. data/lib/cybersource_rest_client/models/unifiedrisk_payment_verification_card_security.rb +199 -0
  165. data/lib/cybersource_rest_client/models/unifiedrisk_payment_verification_card_security_avs.rb +218 -0
  166. data/lib/cybersource_rest_client/models/unifiedrisk_payment_verification_card_security_cvv.rb +196 -0
  167. data/lib/cybersource_rest_client/models/unifiedrisk_payment_verification_digital.rb +212 -0
  168. data/lib/cybersource_rest_client/models/unifiedrisk_payment_wallet.rb +201 -0
  169. data/lib/cybersource_rest_client/models/unifiedrisk_payment_wire.rb +364 -0
  170. data/lib/cybersource_rest_client/models/unifiedrisk_risk_assessment.rb +308 -0
  171. data/lib/cybersource_rest_client/models/unifiedrisk_risk_assessment_buyer_history.rb +276 -0
  172. data/lib/cybersource_rest_client/models/unifiedrisk_risk_assessment_buyer_history_account_history.rb +207 -0
  173. data/lib/cybersource_rest_client/models/unifiedrisk_risk_assessment_buyer_history_customer_account.rb +273 -0
  174. data/lib/cybersource_rest_client/models/{inline_response_201_14.rb → unifiedrisk_risk_assessment_buyer_history_customer_account_alertnate_authentication.rb} +59 -114
  175. data/lib/cybersource_rest_client/models/unifiedrisk_risk_assessment_vital4.rb +191 -0
  176. data/lib/cybersource_rest_client/models/unifiedrisk_session.rb +202 -0
  177. data/lib/cybersource_rest_client/models/unifiedrisk_terminal.rb +238 -0
  178. data/lib/cybersource_rest_client/models/unifiedrisk_terminal_address.rb +301 -0
  179. data/lib/cybersource_rest_client/models/unifiedrisk_terminal_capabilities.rb +234 -0
  180. data/lib/cybersource_rest_client/models/unifiedrisk_third_party_risk.rb +708 -0
  181. data/lib/cybersource_rest_client/models/unifiedrisk_third_party_risk_raw_data.rb +189 -0
  182. data/lib/cybersource_rest_client/models/unifiedrisk_transaction.rb +305 -12
  183. data/lib/cybersource_rest_client/models/unifiedrisk_transaction_additional_fees.rb +257 -0
  184. data/lib/cybersource_rest_client/models/unifiedrisk_transaction_amount.rb +257 -0
  185. data/lib/cybersource_rest_client/models/unifiedrisk_transaction_batch_details.rb +220 -0
  186. data/lib/cybersource_rest_client/models/unifiedrisk_transaction_batch_details_batch_credits_amount.rb +246 -0
  187. data/lib/cybersource_rest_client/models/unifiedrisk_transaction_batch_details_batch_debits_amount.rb +246 -0
  188. data/lib/cybersource_rest_client/models/unifiedrisk_transaction_batch_details_file_credits.rb +246 -0
  189. data/lib/cybersource_rest_client/models/unifiedrisk_transaction_batch_details_file_debits.rb +246 -0
  190. data/lib/cybersource_rest_client/models/unifiedrisk_transaction_check_details.rb +190 -0
  191. data/lib/cybersource_rest_client/models/unifiedrisk_transaction_check_details_deposited_cash_amount.rb +246 -0
  192. data/lib/cybersource_rest_client/models/unifiedrisk_transaction_recurring_details.rb +341 -0
  193. data/lib/cybersource_rest_client/models/unifiedrisk_travel.rb +279 -0
  194. data/lib/cybersource_rest_client/models/vpri_request.rb +505 -0
  195. data/lib/cybersource_rest_client/models/vpri_transaction_insights_additional_data.rb +190 -0
  196. data/lib/cybersource_rest_client/models/vpri_transaction_insights_additional_data_card_bin_data.rb +357 -0
  197. data/lib/cybersource_rest_client.rb +153 -61
  198. metadata +155 -63
  199. data/lib/cybersource_rest_client/api/transaction_risk_labeling_api.rb +0 -104
  200. data/lib/cybersource_rest_client/models/inline_response_201_5_processor_information.rb +0 -548
@@ -0,0 +1,220 @@
1
+ =begin
2
+ #CyberSource Merged Spec
3
+
4
+ #All CyberSource API specs merged together. These are available at https://developer.cybersource.com/api/reference/api-reference.html
5
+
6
+ OpenAPI spec version: 0.0.1
7
+
8
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
9
+ Swagger Codegen version: 2.4.38
10
+ =end
11
+
12
+ require 'date'
13
+
14
+ module CyberSource
15
+ # Batch-level financial control totals for ACH/BACS files, including credit and debit aggregates at both batch and file scope
16
+ class UnifiedriskTransactionBatchDetails
17
+ attr_accessor :batch_credits_amount
18
+
19
+ attr_accessor :batch_debits_amount
20
+
21
+ attr_accessor :file_credits
22
+
23
+ attr_accessor :file_debits
24
+
25
+ # Attribute mapping from ruby-style variable name to JSON key.
26
+ def self.attribute_map
27
+ {
28
+ :'batch_credits_amount' => :'batchCreditsAmount',
29
+ :'batch_debits_amount' => :'batchDebitsAmount',
30
+ :'file_credits' => :'fileCredits',
31
+ :'file_debits' => :'fileDebits'
32
+ }
33
+ end
34
+
35
+ # Attribute mapping from JSON key to ruby-style variable name.
36
+ def self.json_map
37
+ {
38
+ :'batch_credits_amount' => :'batch_credits_amount',
39
+ :'batch_debits_amount' => :'batch_debits_amount',
40
+ :'file_credits' => :'file_credits',
41
+ :'file_debits' => :'file_debits'
42
+ }
43
+ end
44
+
45
+ # Attribute type mapping.
46
+ def self.swagger_types
47
+ {
48
+ :'batch_credits_amount' => :'UnifiedriskTransactionBatchDetailsBatchCreditsAmount',
49
+ :'batch_debits_amount' => :'UnifiedriskTransactionBatchDetailsBatchDebitsAmount',
50
+ :'file_credits' => :'UnifiedriskTransactionBatchDetailsFileCredits',
51
+ :'file_debits' => :'UnifiedriskTransactionBatchDetailsFileDebits'
52
+ }
53
+ end
54
+
55
+ # Initializes the object
56
+ # @param [Hash] attributes Model attributes in the form of hash
57
+ def initialize(attributes = {})
58
+ return unless attributes.is_a?(Hash)
59
+
60
+ # convert string to symbol for hash key
61
+ attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
62
+
63
+ if attributes.has_key?(:'batchCreditsAmount')
64
+ self.batch_credits_amount = attributes[:'batchCreditsAmount']
65
+ end
66
+
67
+ if attributes.has_key?(:'batchDebitsAmount')
68
+ self.batch_debits_amount = attributes[:'batchDebitsAmount']
69
+ end
70
+
71
+ if attributes.has_key?(:'fileCredits')
72
+ self.file_credits = attributes[:'fileCredits']
73
+ end
74
+
75
+ if attributes.has_key?(:'fileDebits')
76
+ self.file_debits = attributes[:'fileDebits']
77
+ end
78
+ end
79
+
80
+ # Show invalid properties with the reasons. Usually used together with valid?
81
+ # @return Array for valid properties with the reasons
82
+ def list_invalid_properties
83
+ invalid_properties = Array.new
84
+ invalid_properties
85
+ end
86
+
87
+ # Check to see if the all the properties in the model are valid
88
+ # @return true if the model is valid
89
+ def valid?
90
+ true
91
+ end
92
+
93
+ # Checks equality by comparing each attribute.
94
+ # @param [Object] Object to be compared
95
+ def ==(o)
96
+ return true if self.equal?(o)
97
+ self.class == o.class &&
98
+ batch_credits_amount == o.batch_credits_amount &&
99
+ batch_debits_amount == o.batch_debits_amount &&
100
+ file_credits == o.file_credits &&
101
+ file_debits == o.file_debits
102
+ end
103
+
104
+ # @see the `==` method
105
+ # @param [Object] Object to be compared
106
+ def eql?(o)
107
+ self == o
108
+ end
109
+
110
+ # Calculates hash code according to all attributes.
111
+ # @return [Fixnum] Hash code
112
+ def hash
113
+ [batch_credits_amount, batch_debits_amount, file_credits, file_debits].hash
114
+ end
115
+
116
+ # Builds the object from hash
117
+ # @param [Hash] attributes Model attributes in the form of hash
118
+ # @return [Object] Returns the model itself
119
+ def build_from_hash(attributes)
120
+ return nil unless attributes.is_a?(Hash)
121
+ self.class.swagger_types.each_pair do |key, type|
122
+ if type =~ /\AArray<(.*)>/i
123
+ # check to ensure the input is an array given that the the attribute
124
+ # is documented as an array but the input is not
125
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
126
+ self.send("#{self.class.json_map[key]}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
127
+ end
128
+ elsif !attributes[self.class.attribute_map[key]].nil?
129
+ self.send("#{self.class.json_map[key]}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
130
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
131
+ end
132
+
133
+ self
134
+ end
135
+
136
+ # Deserializes the data based on type
137
+ # @param string type Data type
138
+ # @param string value Value to be deserialized
139
+ # @return [Object] Deserialized data
140
+ def _deserialize(type, value)
141
+ case type.to_sym
142
+ when :DateTime
143
+ DateTime.parse(value)
144
+ when :Date
145
+ Date.parse(value)
146
+ when :String
147
+ value.to_s
148
+ when :Integer
149
+ value.to_i
150
+ when :Float
151
+ value.to_f
152
+ when :BOOLEAN
153
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
154
+ true
155
+ else
156
+ false
157
+ end
158
+ when :Object
159
+ # generic object (usually a Hash), return directly
160
+ value
161
+ when /\AArray<(?<inner_type>.+)>\z/
162
+ inner_type = Regexp.last_match[:inner_type]
163
+ value.map { |v| _deserialize(inner_type, v) }
164
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
165
+ k_type = Regexp.last_match[:k_type]
166
+ v_type = Regexp.last_match[:v_type]
167
+ {}.tap do |hash|
168
+ value.each do |k, v|
169
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
170
+ end
171
+ end
172
+ else # model
173
+ temp_model = CyberSource.const_get(type).new
174
+ temp_model.build_from_hash(value)
175
+ end
176
+ end
177
+
178
+ # Returns the string representation of the object
179
+ # @return [String] String presentation of the object
180
+ def to_s
181
+ to_hash.to_s
182
+ end
183
+
184
+ # to_body is an alias to to_hash (backward compatibility)
185
+ # @return [Hash] Returns the object in the form of hash
186
+ def to_body
187
+ to_hash
188
+ end
189
+
190
+ # Returns the object in the form of hash
191
+ # @return [Hash] Returns the object in the form of hash
192
+ def to_hash
193
+ hash = {}
194
+ self.class.attribute_map.each_pair do |attr, param|
195
+ value = self.send(attr)
196
+ next if value.nil?
197
+ hash[param] = _to_hash(value)
198
+ end
199
+ hash
200
+ end
201
+
202
+ # Outputs non-array value in the form of hash
203
+ # For object, use to_hash. Otherwise, just return the value
204
+ # @param [Object] value Any valid value
205
+ # @return [Hash] Returns the value in the form of hash
206
+ def _to_hash(value)
207
+ if value.is_a?(Array)
208
+ value.compact.map { |v| _to_hash(v) }
209
+ elsif value.is_a?(Hash)
210
+ {}.tap do |hash|
211
+ value.each { |k, v| hash[k] = _to_hash(v) }
212
+ end
213
+ elsif value.respond_to? :to_hash
214
+ value.to_hash
215
+ else
216
+ value
217
+ end
218
+ end
219
+ end
220
+ end
@@ -0,0 +1,246 @@
1
+ =begin
2
+ #CyberSource Merged Spec
3
+
4
+ #All CyberSource API specs merged together. These are available at https://developer.cybersource.com/api/reference/api-reference.html
5
+
6
+ OpenAPI spec version: 0.0.1
7
+
8
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
9
+ Swagger Codegen version: 2.4.38
10
+ =end
11
+
12
+ require 'date'
13
+
14
+ module CyberSource
15
+ # Aggregate monetary total of all credit (incoming) entries within this ACH/BACS batch, used for batch-level balancing
16
+ class UnifiedriskTransactionBatchDetailsBatchCreditsAmount
17
+ # ISO 4217 3-letter base reference currency for batch credit amounts
18
+ attr_accessor :base_currency
19
+
20
+ # Total value of batch credit entries in the base reference currency
21
+ attr_accessor :base_value
22
+
23
+ # ISO 4217 3-letter transaction currency for batch credit totals
24
+ attr_accessor :currency
25
+
26
+ # Total monetary value of all credit entries in this batch in the transaction currency
27
+ attr_accessor :value
28
+
29
+ # ISO 4217 3-letter code for the merchant's local currency used to express the batch credits total
30
+ attr_accessor :merchant_currency
31
+
32
+ # Total batch credit amount expressed in the merchant's local currency for reconciliation
33
+ attr_accessor :merchant_value
34
+
35
+ # Attribute mapping from ruby-style variable name to JSON key.
36
+ def self.attribute_map
37
+ {
38
+ :'base_currency' => :'baseCurrency',
39
+ :'base_value' => :'baseValue',
40
+ :'currency' => :'currency',
41
+ :'value' => :'value',
42
+ :'merchant_currency' => :'merchantCurrency',
43
+ :'merchant_value' => :'merchantValue'
44
+ }
45
+ end
46
+
47
+ # Attribute mapping from JSON key to ruby-style variable name.
48
+ def self.json_map
49
+ {
50
+ :'base_currency' => :'base_currency',
51
+ :'base_value' => :'base_value',
52
+ :'currency' => :'currency',
53
+ :'value' => :'value',
54
+ :'merchant_currency' => :'merchant_currency',
55
+ :'merchant_value' => :'merchant_value'
56
+ }
57
+ end
58
+
59
+ # Attribute type mapping.
60
+ def self.swagger_types
61
+ {
62
+ :'base_currency' => :'String',
63
+ :'base_value' => :'String',
64
+ :'currency' => :'String',
65
+ :'value' => :'String',
66
+ :'merchant_currency' => :'String',
67
+ :'merchant_value' => :'String'
68
+ }
69
+ end
70
+
71
+ # Initializes the object
72
+ # @param [Hash] attributes Model attributes in the form of hash
73
+ def initialize(attributes = {})
74
+ return unless attributes.is_a?(Hash)
75
+
76
+ # convert string to symbol for hash key
77
+ attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
78
+
79
+ if attributes.has_key?(:'baseCurrency')
80
+ self.base_currency = attributes[:'baseCurrency']
81
+ end
82
+
83
+ if attributes.has_key?(:'baseValue')
84
+ self.base_value = attributes[:'baseValue']
85
+ end
86
+
87
+ if attributes.has_key?(:'currency')
88
+ self.currency = attributes[:'currency']
89
+ end
90
+
91
+ if attributes.has_key?(:'value')
92
+ self.value = attributes[:'value']
93
+ end
94
+
95
+ if attributes.has_key?(:'merchantCurrency')
96
+ self.merchant_currency = attributes[:'merchantCurrency']
97
+ end
98
+
99
+ if attributes.has_key?(:'merchantValue')
100
+ self.merchant_value = attributes[:'merchantValue']
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
+ invalid_properties
109
+ end
110
+
111
+ # Check to see if the all the properties in the model are valid
112
+ # @return true if the model is valid
113
+ def valid?
114
+ true
115
+ end
116
+
117
+ # Checks equality by comparing each attribute.
118
+ # @param [Object] Object to be compared
119
+ def ==(o)
120
+ return true if self.equal?(o)
121
+ self.class == o.class &&
122
+ base_currency == o.base_currency &&
123
+ base_value == o.base_value &&
124
+ currency == o.currency &&
125
+ value == o.value &&
126
+ merchant_currency == o.merchant_currency &&
127
+ merchant_value == o.merchant_value
128
+ end
129
+
130
+ # @see the `==` method
131
+ # @param [Object] Object to be compared
132
+ def eql?(o)
133
+ self == o
134
+ end
135
+
136
+ # Calculates hash code according to all attributes.
137
+ # @return [Fixnum] Hash code
138
+ def hash
139
+ [base_currency, base_value, currency, value, merchant_currency, merchant_value].hash
140
+ end
141
+
142
+ # Builds the object from hash
143
+ # @param [Hash] attributes Model attributes in the form of hash
144
+ # @return [Object] Returns the model itself
145
+ def build_from_hash(attributes)
146
+ return nil unless attributes.is_a?(Hash)
147
+ self.class.swagger_types.each_pair do |key, type|
148
+ if type =~ /\AArray<(.*)>/i
149
+ # check to ensure the input is an array given that the the attribute
150
+ # is documented as an array but the input is not
151
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
152
+ self.send("#{self.class.json_map[key]}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
153
+ end
154
+ elsif !attributes[self.class.attribute_map[key]].nil?
155
+ self.send("#{self.class.json_map[key]}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
156
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
157
+ end
158
+
159
+ self
160
+ end
161
+
162
+ # Deserializes the data based on type
163
+ # @param string type Data type
164
+ # @param string value Value to be deserialized
165
+ # @return [Object] Deserialized data
166
+ def _deserialize(type, value)
167
+ case type.to_sym
168
+ when :DateTime
169
+ DateTime.parse(value)
170
+ when :Date
171
+ Date.parse(value)
172
+ when :String
173
+ value.to_s
174
+ when :Integer
175
+ value.to_i
176
+ when :Float
177
+ value.to_f
178
+ when :BOOLEAN
179
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
180
+ true
181
+ else
182
+ false
183
+ end
184
+ when :Object
185
+ # generic object (usually a Hash), return directly
186
+ value
187
+ when /\AArray<(?<inner_type>.+)>\z/
188
+ inner_type = Regexp.last_match[:inner_type]
189
+ value.map { |v| _deserialize(inner_type, v) }
190
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
191
+ k_type = Regexp.last_match[:k_type]
192
+ v_type = Regexp.last_match[:v_type]
193
+ {}.tap do |hash|
194
+ value.each do |k, v|
195
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
196
+ end
197
+ end
198
+ else # model
199
+ temp_model = CyberSource.const_get(type).new
200
+ temp_model.build_from_hash(value)
201
+ end
202
+ end
203
+
204
+ # Returns the string representation of the object
205
+ # @return [String] String presentation of the object
206
+ def to_s
207
+ to_hash.to_s
208
+ end
209
+
210
+ # to_body is an alias to to_hash (backward compatibility)
211
+ # @return [Hash] Returns the object in the form of hash
212
+ def to_body
213
+ to_hash
214
+ end
215
+
216
+ # Returns the object in the form of hash
217
+ # @return [Hash] Returns the object in the form of hash
218
+ def to_hash
219
+ hash = {}
220
+ self.class.attribute_map.each_pair do |attr, param|
221
+ value = self.send(attr)
222
+ next if value.nil?
223
+ hash[param] = _to_hash(value)
224
+ end
225
+ hash
226
+ end
227
+
228
+ # Outputs non-array value in the form of hash
229
+ # For object, use to_hash. Otherwise, just return the value
230
+ # @param [Object] value Any valid value
231
+ # @return [Hash] Returns the value in the form of hash
232
+ def _to_hash(value)
233
+ if value.is_a?(Array)
234
+ value.compact.map { |v| _to_hash(v) }
235
+ elsif value.is_a?(Hash)
236
+ {}.tap do |hash|
237
+ value.each { |k, v| hash[k] = _to_hash(v) }
238
+ end
239
+ elsif value.respond_to? :to_hash
240
+ value.to_hash
241
+ else
242
+ value
243
+ end
244
+ end
245
+ end
246
+ end
@@ -0,0 +1,246 @@
1
+ =begin
2
+ #CyberSource Merged Spec
3
+
4
+ #All CyberSource API specs merged together. These are available at https://developer.cybersource.com/api/reference/api-reference.html
5
+
6
+ OpenAPI spec version: 0.0.1
7
+
8
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
9
+ Swagger Codegen version: 2.4.38
10
+ =end
11
+
12
+ require 'date'
13
+
14
+ module CyberSource
15
+ # Aggregate monetary total of all debit (outgoing) entries within this ACH/BACS batch, used for batch-level balancing
16
+ class UnifiedriskTransactionBatchDetailsBatchDebitsAmount
17
+ # ISO 4217 3-letter base reference currency for batch debit amounts
18
+ attr_accessor :base_currency
19
+
20
+ # Total value of batch debit entries in the base reference currency
21
+ attr_accessor :base_value
22
+
23
+ # ISO 4217 3-letter transaction currency for batch debit totals
24
+ attr_accessor :currency
25
+
26
+ # Total monetary value of all debit entries in this batch in the transaction currency
27
+ attr_accessor :value
28
+
29
+ # ISO 4217 3-letter code for the merchant's local currency used to express the batch debits total
30
+ attr_accessor :merchant_currency
31
+
32
+ # Total batch debit amount expressed in the merchant's local currency for reconciliation
33
+ attr_accessor :merchant_value
34
+
35
+ # Attribute mapping from ruby-style variable name to JSON key.
36
+ def self.attribute_map
37
+ {
38
+ :'base_currency' => :'baseCurrency',
39
+ :'base_value' => :'baseValue',
40
+ :'currency' => :'currency',
41
+ :'value' => :'value',
42
+ :'merchant_currency' => :'merchantCurrency',
43
+ :'merchant_value' => :'merchantValue'
44
+ }
45
+ end
46
+
47
+ # Attribute mapping from JSON key to ruby-style variable name.
48
+ def self.json_map
49
+ {
50
+ :'base_currency' => :'base_currency',
51
+ :'base_value' => :'base_value',
52
+ :'currency' => :'currency',
53
+ :'value' => :'value',
54
+ :'merchant_currency' => :'merchant_currency',
55
+ :'merchant_value' => :'merchant_value'
56
+ }
57
+ end
58
+
59
+ # Attribute type mapping.
60
+ def self.swagger_types
61
+ {
62
+ :'base_currency' => :'String',
63
+ :'base_value' => :'String',
64
+ :'currency' => :'String',
65
+ :'value' => :'String',
66
+ :'merchant_currency' => :'String',
67
+ :'merchant_value' => :'String'
68
+ }
69
+ end
70
+
71
+ # Initializes the object
72
+ # @param [Hash] attributes Model attributes in the form of hash
73
+ def initialize(attributes = {})
74
+ return unless attributes.is_a?(Hash)
75
+
76
+ # convert string to symbol for hash key
77
+ attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
78
+
79
+ if attributes.has_key?(:'baseCurrency')
80
+ self.base_currency = attributes[:'baseCurrency']
81
+ end
82
+
83
+ if attributes.has_key?(:'baseValue')
84
+ self.base_value = attributes[:'baseValue']
85
+ end
86
+
87
+ if attributes.has_key?(:'currency')
88
+ self.currency = attributes[:'currency']
89
+ end
90
+
91
+ if attributes.has_key?(:'value')
92
+ self.value = attributes[:'value']
93
+ end
94
+
95
+ if attributes.has_key?(:'merchantCurrency')
96
+ self.merchant_currency = attributes[:'merchantCurrency']
97
+ end
98
+
99
+ if attributes.has_key?(:'merchantValue')
100
+ self.merchant_value = attributes[:'merchantValue']
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
+ invalid_properties
109
+ end
110
+
111
+ # Check to see if the all the properties in the model are valid
112
+ # @return true if the model is valid
113
+ def valid?
114
+ true
115
+ end
116
+
117
+ # Checks equality by comparing each attribute.
118
+ # @param [Object] Object to be compared
119
+ def ==(o)
120
+ return true if self.equal?(o)
121
+ self.class == o.class &&
122
+ base_currency == o.base_currency &&
123
+ base_value == o.base_value &&
124
+ currency == o.currency &&
125
+ value == o.value &&
126
+ merchant_currency == o.merchant_currency &&
127
+ merchant_value == o.merchant_value
128
+ end
129
+
130
+ # @see the `==` method
131
+ # @param [Object] Object to be compared
132
+ def eql?(o)
133
+ self == o
134
+ end
135
+
136
+ # Calculates hash code according to all attributes.
137
+ # @return [Fixnum] Hash code
138
+ def hash
139
+ [base_currency, base_value, currency, value, merchant_currency, merchant_value].hash
140
+ end
141
+
142
+ # Builds the object from hash
143
+ # @param [Hash] attributes Model attributes in the form of hash
144
+ # @return [Object] Returns the model itself
145
+ def build_from_hash(attributes)
146
+ return nil unless attributes.is_a?(Hash)
147
+ self.class.swagger_types.each_pair do |key, type|
148
+ if type =~ /\AArray<(.*)>/i
149
+ # check to ensure the input is an array given that the the attribute
150
+ # is documented as an array but the input is not
151
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
152
+ self.send("#{self.class.json_map[key]}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
153
+ end
154
+ elsif !attributes[self.class.attribute_map[key]].nil?
155
+ self.send("#{self.class.json_map[key]}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
156
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
157
+ end
158
+
159
+ self
160
+ end
161
+
162
+ # Deserializes the data based on type
163
+ # @param string type Data type
164
+ # @param string value Value to be deserialized
165
+ # @return [Object] Deserialized data
166
+ def _deserialize(type, value)
167
+ case type.to_sym
168
+ when :DateTime
169
+ DateTime.parse(value)
170
+ when :Date
171
+ Date.parse(value)
172
+ when :String
173
+ value.to_s
174
+ when :Integer
175
+ value.to_i
176
+ when :Float
177
+ value.to_f
178
+ when :BOOLEAN
179
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
180
+ true
181
+ else
182
+ false
183
+ end
184
+ when :Object
185
+ # generic object (usually a Hash), return directly
186
+ value
187
+ when /\AArray<(?<inner_type>.+)>\z/
188
+ inner_type = Regexp.last_match[:inner_type]
189
+ value.map { |v| _deserialize(inner_type, v) }
190
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
191
+ k_type = Regexp.last_match[:k_type]
192
+ v_type = Regexp.last_match[:v_type]
193
+ {}.tap do |hash|
194
+ value.each do |k, v|
195
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
196
+ end
197
+ end
198
+ else # model
199
+ temp_model = CyberSource.const_get(type).new
200
+ temp_model.build_from_hash(value)
201
+ end
202
+ end
203
+
204
+ # Returns the string representation of the object
205
+ # @return [String] String presentation of the object
206
+ def to_s
207
+ to_hash.to_s
208
+ end
209
+
210
+ # to_body is an alias to to_hash (backward compatibility)
211
+ # @return [Hash] Returns the object in the form of hash
212
+ def to_body
213
+ to_hash
214
+ end
215
+
216
+ # Returns the object in the form of hash
217
+ # @return [Hash] Returns the object in the form of hash
218
+ def to_hash
219
+ hash = {}
220
+ self.class.attribute_map.each_pair do |attr, param|
221
+ value = self.send(attr)
222
+ next if value.nil?
223
+ hash[param] = _to_hash(value)
224
+ end
225
+ hash
226
+ end
227
+
228
+ # Outputs non-array value in the form of hash
229
+ # For object, use to_hash. Otherwise, just return the value
230
+ # @param [Object] value Any valid value
231
+ # @return [Hash] Returns the value in the form of hash
232
+ def _to_hash(value)
233
+ if value.is_a?(Array)
234
+ value.compact.map { |v| _to_hash(v) }
235
+ elsif value.is_a?(Hash)
236
+ {}.tap do |hash|
237
+ value.each { |k, v| hash[k] = _to_hash(v) }
238
+ end
239
+ elsif value.respond_to? :to_hash
240
+ value.to_hash
241
+ else
242
+ value
243
+ end
244
+ end
245
+ end
246
+ end