cybersource_rest_client 0.0.75 → 0.0.77

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 (210) hide show
  1. checksums.yaml +4 -4
  2. data/lib/AuthenticationSDK/authentication/jwt/JwtToken.rb +6 -17
  3. data/lib/AuthenticationSDK/core/MerchantConfig.rb +132 -54
  4. data/lib/AuthenticationSDK/util/Cache.rb +135 -30
  5. data/lib/AuthenticationSDK/util/CacheValue.rb +18 -0
  6. data/lib/AuthenticationSDK/util/CertificateUtility.rb +124 -0
  7. data/lib/AuthenticationSDK/util/Constants.rb +6 -0
  8. data/lib/AuthenticationSDK/util/JWEUtility.rb +1 -2
  9. data/lib/AuthenticationSDK/util/MLEUtility.rb +26 -35
  10. data/lib/AuthenticationSDK/util/Utility.rb +1 -16
  11. data/lib/cybersource_rest_client/api/batches_api.rb +17 -17
  12. data/lib/cybersource_rest_client/api/billing_agreements_api.rb +6 -6
  13. data/lib/cybersource_rest_client/api/bin_lookup_api.rb +2 -2
  14. data/lib/cybersource_rest_client/api/capture_api.rb +2 -2
  15. data/lib/cybersource_rest_client/api/chargeback_details_api.rb +2 -2
  16. data/lib/cybersource_rest_client/api/chargeback_summaries_api.rb +2 -2
  17. data/lib/cybersource_rest_client/api/conversion_details_api.rb +2 -2
  18. data/lib/cybersource_rest_client/api/create_new_webhooks_api.rb +6 -6
  19. data/lib/cybersource_rest_client/api/credit_api.rb +2 -2
  20. data/lib/cybersource_rest_client/api/customer_api.rb +8 -8
  21. data/lib/cybersource_rest_client/api/customer_payment_instrument_api.rb +10 -10
  22. data/lib/cybersource_rest_client/api/customer_shipping_address_api.rb +10 -10
  23. data/lib/cybersource_rest_client/api/decision_manager_api.rb +10 -10
  24. data/lib/cybersource_rest_client/api/device_de_association_api.rb +7 -7
  25. data/lib/cybersource_rest_client/api/device_search_api.rb +10 -10
  26. data/lib/cybersource_rest_client/api/download_dtd_api.rb +2 -2
  27. data/lib/cybersource_rest_client/api/download_xsd_api.rb +2 -2
  28. data/lib/cybersource_rest_client/api/emv_tag_details_api.rb +4 -4
  29. data/lib/cybersource_rest_client/api/flex_api_api.rb +2 -2
  30. data/lib/cybersource_rest_client/api/instrument_identifier_api.rb +12 -12
  31. data/lib/cybersource_rest_client/api/interchange_clearing_level_details_api.rb +2 -2
  32. data/lib/cybersource_rest_client/api/invoice_settings_api.rb +4 -4
  33. data/lib/cybersource_rest_client/api/invoices_api.rb +87 -12
  34. data/lib/cybersource_rest_client/api/manage_webhooks_api.rb +18 -17
  35. data/lib/cybersource_rest_client/api/merchant_boarding_api.rb +4 -4
  36. data/lib/cybersource_rest_client/api/microform_integration_api.rb +2 -2
  37. data/lib/cybersource_rest_client/api/net_fundings_api.rb +2 -2
  38. data/lib/cybersource_rest_client/api/notification_of_changes_api.rb +2 -2
  39. data/lib/cybersource_rest_client/api/orders_api.rb +4 -4
  40. data/lib/cybersource_rest_client/api/payer_authentication_api.rb +6 -6
  41. data/lib/cybersource_rest_client/api/payment_batch_summaries_api.rb +2 -2
  42. data/lib/cybersource_rest_client/api/payment_instrument_api.rb +8 -8
  43. data/lib/cybersource_rest_client/api/payment_links_api.rb +12 -12
  44. data/lib/cybersource_rest_client/api/payment_tokens_api.rb +2 -2
  45. data/lib/cybersource_rest_client/api/payments_api.rb +12 -12
  46. data/lib/cybersource_rest_client/api/payouts_api.rb +2 -2
  47. data/lib/cybersource_rest_client/api/plans_api.rb +16 -16
  48. data/lib/cybersource_rest_client/api/purchase_and_refund_details_api.rb +2 -2
  49. data/lib/cybersource_rest_client/api/push_funds_api.rb +2 -2
  50. data/lib/cybersource_rest_client/api/refund_api.rb +4 -4
  51. data/lib/cybersource_rest_client/api/report_definitions_api.rb +4 -4
  52. data/lib/cybersource_rest_client/api/report_downloads_api.rb +2 -2
  53. data/lib/cybersource_rest_client/api/report_subscriptions_api.rb +10 -10
  54. data/lib/cybersource_rest_client/api/reports_api.rb +6 -6
  55. data/lib/cybersource_rest_client/api/retrieval_details_api.rb +2 -2
  56. data/lib/cybersource_rest_client/api/retrieval_summaries_api.rb +2 -2
  57. data/lib/cybersource_rest_client/api/reversal_api.rb +4 -4
  58. data/lib/cybersource_rest_client/api/search_transactions_api.rb +4 -4
  59. data/lib/cybersource_rest_client/api/secure_file_share_api.rb +4 -4
  60. data/lib/cybersource_rest_client/api/subscriptions_api.rb +16 -16
  61. data/lib/cybersource_rest_client/api/subscriptions_follow_ons_api.rb +4 -4
  62. data/lib/cybersource_rest_client/api/taxes_api.rb +4 -4
  63. data/lib/cybersource_rest_client/api/token_api.rb +4 -4
  64. data/lib/cybersource_rest_client/api/tokenized_card_api.rb +6 -6
  65. data/lib/cybersource_rest_client/api/transaction_batches_api.rb +8 -8
  66. data/lib/cybersource_rest_client/api/transaction_details_api.rb +2 -2
  67. data/lib/cybersource_rest_client/api/transient_token_data_api.rb +4 -4
  68. data/lib/cybersource_rest_client/api/unified_checkout_capture_context_api.rb +2 -2
  69. data/lib/cybersource_rest_client/api/user_management_api.rb +2 -2
  70. data/lib/cybersource_rest_client/api/user_management_search_api.rb +2 -2
  71. data/lib/cybersource_rest_client/api/verification_api.rb +4 -4
  72. data/lib/cybersource_rest_client/api/void_api.rb +10 -10
  73. data/lib/cybersource_rest_client/api_client.rb +3 -1
  74. data/lib/cybersource_rest_client/ethon_extensions.rb +38 -0
  75. data/lib/cybersource_rest_client/models/create_order_request.rb +269 -269
  76. data/lib/cybersource_rest_client/models/create_webhook.rb +16 -3
  77. data/lib/cybersource_rest_client/models/inline_response_200_10.rb +47 -49
  78. data/lib/cybersource_rest_client/models/{inline_response_200_8__links.rb → inline_response_200_10__links.rb} +18 -17
  79. data/lib/cybersource_rest_client/models/{inline_response_200_9__links_report.rb → inline_response_200_10__links_report.rb} +1 -1
  80. data/lib/cybersource_rest_client/models/{inline_response_200_9_billing.rb → inline_response_200_10_billing.rb} +1 -1
  81. data/lib/cybersource_rest_client/models/inline_response_200_11.rb +292 -0
  82. data/lib/cybersource_rest_client/models/{inline_response_200_10_records.rb → inline_response_200_11_records.rb} +3 -3
  83. data/lib/cybersource_rest_client/models/{inline_response_200_10_response_record.rb → inline_response_200_11_response_record.rb} +2 -2
  84. data/lib/cybersource_rest_client/models/{inline_response_200_10_response_record_additional_updates.rb → inline_response_200_11_response_record_additional_updates.rb} +1 -1
  85. data/lib/cybersource_rest_client/models/{inline_response_200_10_source_record.rb → inline_response_200_11_source_record.rb} +1 -1
  86. data/lib/cybersource_rest_client/models/inline_response_200_2.rb +253 -253
  87. data/lib/cybersource_rest_client/models/inline_response_200_4.rb +12 -10
  88. data/lib/cybersource_rest_client/models/inline_response_200_5.rb +129 -51
  89. data/lib/cybersource_rest_client/models/inline_response_200_6.rb +55 -10
  90. data/lib/cybersource_rest_client/models/{inline_response_200_5_devices.rb → inline_response_200_6_devices.rb} +1 -1
  91. data/lib/cybersource_rest_client/models/inline_response_200_7.rb +10 -55
  92. data/lib/cybersource_rest_client/models/inline_response_200_8.rb +33 -37
  93. data/lib/cybersource_rest_client/models/{inline_response_200_7_devices.rb → inline_response_200_8_devices.rb} +2 -2
  94. data/lib/cybersource_rest_client/models/{inline_response_200_7_payment_processor_to_terminal_map.rb → inline_response_200_8_payment_processor_to_terminal_map.rb} +1 -1
  95. data/lib/cybersource_rest_client/models/inline_response_200_9.rb +47 -86
  96. data/lib/cybersource_rest_client/models/{inline_response_200_8__embedded.rb → inline_response_200_9__embedded.rb} +2 -2
  97. data/lib/cybersource_rest_client/models/{inline_response_200_8__embedded__links.rb → inline_response_200_9__embedded__links.rb} +2 -2
  98. data/lib/cybersource_rest_client/models/{inline_response_200_8__embedded__links_reports.rb → inline_response_200_9__embedded__links_reports.rb} +1 -1
  99. data/lib/cybersource_rest_client/models/{inline_response_200_8__embedded_batches.rb → inline_response_200_9__embedded_batches.rb} +3 -3
  100. data/lib/cybersource_rest_client/models/{inline_response_200_8__embedded_totals.rb → inline_response_200_9__embedded_totals.rb} +1 -1
  101. data/lib/cybersource_rest_client/models/inline_response_200_9__links.rb +16 -17
  102. data/lib/cybersource_rest_client/models/inline_response_201.rb +227 -227
  103. data/lib/cybersource_rest_client/models/inline_response_201_1.rb +218 -218
  104. data/lib/cybersource_rest_client/models/inline_response_201_2.rb +248 -248
  105. data/lib/cybersource_rest_client/models/inline_response_201_2_payout_information.rb +216 -216
  106. data/lib/cybersource_rest_client/models/inline_response_201_2_payout_information_pull_funds.rb +213 -213
  107. data/lib/cybersource_rest_client/models/inline_response_201_2_payout_information_push_funds.rb +417 -417
  108. data/lib/cybersource_rest_client/models/inline_response_201_3.rb +281 -281
  109. data/lib/cybersource_rest_client/models/inline_response_201_3_integration_information.rb +192 -192
  110. data/lib/cybersource_rest_client/models/inline_response_201_3_integration_information_tenant_configurations.rb +253 -253
  111. data/lib/cybersource_rest_client/models/inline_response_201_3_organization_information.rb +217 -217
  112. data/lib/cybersource_rest_client/models/inline_response_201_3_product_information_setups.rb +214 -214
  113. data/lib/cybersource_rest_client/models/inline_response_201_3_registration_information.rb +222 -222
  114. data/lib/cybersource_rest_client/models/inline_response_201_3_setups.rb +219 -219
  115. data/lib/cybersource_rest_client/models/inline_response_201_3_setups_commerce_solutions.rb +209 -209
  116. data/lib/cybersource_rest_client/models/inline_response_201_3_setups_payments.rb +369 -369
  117. data/lib/cybersource_rest_client/models/inline_response_201_3_setups_payments_alternative_payment_methods.rb +221 -221
  118. data/lib/cybersource_rest_client/models/inline_response_201_3_setups_payments_alternative_payment_methods_configuration_status.rb +200 -200
  119. data/lib/cybersource_rest_client/models/inline_response_201_3_setups_payments_card_processing.rb +199 -199
  120. data/lib/cybersource_rest_client/models/inline_response_201_3_setups_payments_card_processing_configuration_status.rb +255 -255
  121. data/lib/cybersource_rest_client/models/inline_response_201_3_setups_payments_card_processing_subscription_status.rb +234 -234
  122. data/lib/cybersource_rest_client/models/inline_response_201_3_setups_payments_digital_payments.rb +189 -189
  123. data/lib/cybersource_rest_client/models/inline_response_201_3_setups_risk.rb +199 -199
  124. data/lib/cybersource_rest_client/models/inline_response_201_3_setups_value_added_services.rb +209 -209
  125. data/lib/cybersource_rest_client/models/inline_response_201_4.rb +222 -222
  126. data/lib/cybersource_rest_client/models/inline_response_201_4_key_information.rb +300 -300
  127. data/lib/cybersource_rest_client/models/inline_response_201_4_key_information_error_information.rb +202 -202
  128. data/lib/cybersource_rest_client/models/inline_response_201_4_key_information_error_information_details.rb +201 -201
  129. data/lib/cybersource_rest_client/models/inline_response_201_5.rb +314 -312
  130. data/lib/cybersource_rest_client/models/inline_response_201_6.rb +277 -277
  131. data/lib/cybersource_rest_client/models/inline_response_201_6_payloads.rb +189 -189
  132. data/lib/cybersource_rest_client/models/inline_response_201_6_payloads_test_payload.rb +190 -190
  133. data/lib/cybersource_rest_client/models/inline_response_201_7.rb +202 -202
  134. data/lib/cybersource_rest_client/models/inline_response_201_order_information.rb +189 -189
  135. data/lib/cybersource_rest_client/models/inline_response_201_order_information_ship_to.rb +315 -315
  136. data/lib/cybersource_rest_client/models/inline_response_201_payment_information.rb +199 -199
  137. data/lib/cybersource_rest_client/models/inline_response_201_payment_information_e_wallet.rb +196 -196
  138. data/lib/cybersource_rest_client/models/inline_response_201_payment_information_tokenized_payment_method.rb +213 -213
  139. data/lib/cybersource_rest_client/models/invoicing_v2_invoice_settings_get200_response_invoice_settings_information.rb +18 -5
  140. data/lib/cybersource_rest_client/models/invoicing_v2_invoices_post201_response_invoice_information.rb +18 -5
  141. data/lib/cybersource_rest_client/models/{notificationsubscriptionsv2webhooks_security_policy_1_config.rb → invoicing_v2_invoices_post201_response_invoice_information_custom_labels.rb} +57 -34
  142. data/lib/cybersource_rest_client/models/invoicing_v2_invoices_publish200_response.rb +268 -0
  143. data/lib/cybersource_rest_client/models/invoicingv2invoice_settings_invoice_settings_information.rb +18 -5
  144. data/lib/cybersource_rest_client/models/notificationsubscriptionsv2webhooks_retry_policy.rb +2 -0
  145. data/lib/cybersource_rest_client/models/notificationsubscriptionsv2webhooks_security_policy.rb +1 -1
  146. data/lib/cybersource_rest_client/models/notificationsubscriptionsv2webhooks_security_policy_config.rb +16 -17
  147. data/lib/cybersource_rest_client/models/{notificationsubscriptionsv2webhooks_security_policy_1_config_additional_config.rb → notificationsubscriptionsv2webhooks_security_policy_config_additional_config.rb} +1 -1
  148. data/lib/cybersource_rest_client/models/pts_v2_payments_post201_response_installment_information.rb +609 -609
  149. data/lib/cybersource_rest_client/models/pts_v2_payments_post201_response_payment_account_information_card.rb +269 -269
  150. data/lib/cybersource_rest_client/models/pts_v2_payments_post201_response_payment_information.rb +364 -364
  151. data/lib/cybersource_rest_client/models/pts_v2_payments_post201_response_payment_information_tokenized_card.rb +309 -309
  152. data/lib/cybersource_rest_client/models/pts_v2_payments_post201_response_payment_information_tokenized_payment_method.rb +213 -213
  153. data/lib/cybersource_rest_client/models/pts_v2_retrieve_payment_token_get400_response.rb +252 -252
  154. data/lib/cybersource_rest_client/models/pts_v2_retrieve_payment_token_get502_response.rb +240 -240
  155. data/lib/cybersource_rest_client/models/ptsv2billingagreements_payment_information_card.rb +258 -258
  156. data/lib/cybersource_rest_client/models/ptsv2billingagreements_payment_information_tokenized_card.rb +275 -275
  157. data/lib/cybersource_rest_client/models/ptsv2intents_event_information.rb +212 -212
  158. data/lib/cybersource_rest_client/models/ptsv2intents_order_information_ship_to.rb +354 -354
  159. data/lib/cybersource_rest_client/models/ptsv2intents_payment_information.rb +220 -220
  160. data/lib/cybersource_rest_client/models/ptsv2intents_payment_information_e_wallet.rb +196 -196
  161. data/lib/cybersource_rest_client/models/ptsv2intents_payment_information_tokenized_payment_method.rb +241 -241
  162. data/lib/cybersource_rest_client/models/ptsv2intents_processing_information.rb +351 -351
  163. data/lib/cybersource_rest_client/models/ptsv2intents_recipient_information.rb +245 -245
  164. data/lib/cybersource_rest_client/models/ptsv2intents_sender_information.rb +277 -277
  165. data/lib/cybersource_rest_client/models/ptsv2intents_sender_information_account.rb +190 -190
  166. data/lib/cybersource_rest_client/models/ptsv2intents_travel_information.rb +211 -211
  167. data/lib/cybersource_rest_client/models/ptsv2intents_travel_information_agency.rb +245 -245
  168. data/lib/cybersource_rest_client/models/ptsv2intentsid_payment_information.rb +189 -189
  169. data/lib/cybersource_rest_client/models/ptsv2paymentreferences_order_information_amount_details.rb +417 -417
  170. data/lib/cybersource_rest_client/models/ptsv2paymentreferences_payment_information_card.rb +275 -275
  171. data/lib/cybersource_rest_client/models/ptsv2payments_installment_information.rb +461 -433
  172. data/lib/cybersource_rest_client/models/ptsv2payments_order_information_amount_details.rb +668 -668
  173. data/lib/cybersource_rest_client/models/ptsv2payments_order_information_line_items.rb +716 -716
  174. data/lib/cybersource_rest_client/models/ptsv2payments_payment_information.rb +356 -356
  175. data/lib/cybersource_rest_client/models/ptsv2payments_payment_information_card.rb +445 -445
  176. data/lib/cybersource_rest_client/models/ptsv2payments_payment_information_payment_type_method.rb +1 -1
  177. data/lib/cybersource_rest_client/models/ptsv2payments_payment_information_tokenized_card.rb +377 -377
  178. data/lib/cybersource_rest_client/models/ptsv2payments_payment_information_tokenized_payment_method.rb +196 -196
  179. data/lib/cybersource_rest_client/models/ptsv2paymentsidcaptures_installment_information.rb +604 -604
  180. data/lib/cybersource_rest_client/models/ptsv2paymentsidcaptures_payment_information_payment_type_method.rb +1 -1
  181. data/lib/cybersource_rest_client/models/ptsv2paymentsidrefunds_payment_information_card.rb +377 -377
  182. data/lib/cybersource_rest_client/models/ptsv2paymenttokens_payment_information.rb +199 -199
  183. data/lib/cybersource_rest_client/models/ptsv2paymenttokens_processing_information.rb +192 -192
  184. data/lib/cybersource_rest_client/models/ptsv2payouts_payment_information_card.rb +258 -258
  185. data/lib/cybersource_rest_client/models/request.rb +199 -199
  186. data/lib/cybersource_rest_client/models/riskv1authenticationresults_payment_information_card.rb +241 -241
  187. data/lib/cybersource_rest_client/models/riskv1authenticationresults_payment_information_tokenized_card.rb +258 -258
  188. data/lib/cybersource_rest_client/models/riskv1authentications_payment_information_tokenized_card.rb +351 -351
  189. data/lib/cybersource_rest_client/models/riskv1authenticationsetups_payment_information_card.rb +268 -268
  190. data/lib/cybersource_rest_client/models/riskv1authenticationsetups_payment_information_tokenized_card.rb +299 -299
  191. data/lib/cybersource_rest_client/models/riskv1decisions_payment_information_card.rb +259 -259
  192. data/lib/cybersource_rest_client/models/riskv1decisions_payment_information_tokenized_card.rb +259 -259
  193. data/lib/cybersource_rest_client/models/riskv1liststypeentries_payment_information_card.rb +224 -224
  194. data/lib/cybersource_rest_client/models/tms_bin_lookup_issuer_information.rb +264 -264
  195. data/lib/cybersource_rest_client/models/tms_bin_lookup_payment_account_information_card.rb +277 -277
  196. data/lib/cybersource_rest_client/models/tms_bin_lookup_payment_account_information_card_brands.rb +213 -213
  197. data/lib/cybersource_rest_client/models/tms_bin_lookup_payment_account_information_features.rb +430 -430
  198. data/lib/cybersource_rest_client/models/tss_v2_transactions_get200_response.rb +11 -1
  199. data/lib/cybersource_rest_client/models/tss_v2_transactions_get200_response_bank_account_validation.rb +211 -0
  200. data/lib/cybersource_rest_client/models/tss_v2_transactions_get200_response_payment_information_brands.rb +201 -201
  201. data/lib/cybersource_rest_client/models/tss_v2_transactions_get200_response_payment_information_card.rb +365 -365
  202. data/lib/cybersource_rest_client/models/tss_v2_transactions_get200_response_processing_information.rb +16 -5
  203. data/lib/cybersource_rest_client/models/tss_v2_transactions_get200_response_processor_information.rb +15 -5
  204. data/lib/cybersource_rest_client/models/tss_v2_transactions_post201_response__embedded_payment_information_card.rb +218 -218
  205. data/lib/cybersource_rest_client/models/tss_v2_transactions_post201_response__embedded_processor_information.rb +245 -245
  206. data/lib/cybersource_rest_client/models/update_order_request.rb +229 -229
  207. data/lib/cybersource_rest_client/models/update_webhook.rb +19 -19
  208. data/lib/cybersource_rest_client.rb +20 -18
  209. metadata +25 -20
  210. data/lib/cybersource_rest_client/models/notificationsubscriptionsv2webhooks_security_policy_1.rb +0 -201
@@ -1,354 +1,354 @@
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
- class Ptsv2intentsOrderInformationShipTo
16
- # First name of the recipient. #### Litle Maximum length: 25 #### All other processors Maximum length: 60 Optional field.
17
- attr_accessor :first_name
18
-
19
- # Last name of the recipient. #### Litle Maximum length: 25 #### All other processors Maximum length: 60 Optional field.
20
- attr_accessor :last_name
21
-
22
- # First line of the shipping address. Required field for authorization if any shipping address information is included in the request; otherwise, optional. #### Tax Calculation Optional field for U.S. and Canadian taxes. Not applicable to international and value added taxes. Billing address objects will be used to determine the cardholder's location when shipTo objects are not present.
23
- attr_accessor :address1
24
-
25
- # Second line of the shipping address. Optional field. #### Tax Calculation Optional field for U.S. and Canadian taxes. Not applicable to international and value added taxes. Billing address objects will be used to determine the cardholder's location when shipTo objects are not present.
26
- attr_accessor :address2
27
-
28
- # City of the shipping address. Required field for authorization if any shipping address information is included in the request and shipping to the U.S. or Canada; otherwise, optional. #### Tax Calculation Optional field for U.S. and Canadian taxes. Not applicable to international and value added taxes. Billing address objects will be used to determine the cardholder's location when shipTo objects are not present.
29
- attr_accessor :locality
30
-
31
- # State or province of the shipping address. Use the [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf) (maximum length: 2) Required field for authorization if any shipping address information is included in the request and shipping to the U.S. or Canada; otherwise, optional. #### Tax Calculation Optional field for U.S. and Canadian taxes. Not applicable to international and value added taxes. Billing address objects will be used to determine the cardholder's location when shipTo objects are not present.
32
- attr_accessor :administrative_area
33
-
34
- # Postal code for the shipping address. The postal code must consist of 5 to 9 digits. Required field for authorization if any shipping address information is included in the request and shipping to the U.S. or Canada; otherwise, optional. When the billing country is the U.S., the 9-digit postal code must follow this format: [5 digits][dash][4 digits] Example 12345-6789 When the billing country is Canada, the 6-digit postal code must follow this format: [alpha][numeric][alpha][space][numeric][alpha][numeric] Example A1B 2C3 #### American Express Direct Before sending the postal code to the processor, all nonalphanumeric characters are removed and, if the remaining value is longer than nine characters, the value is truncated starting from the right side. #### Tax Calculation Optional field for U.S. and Canadian taxes. Not applicable to international and value added taxes. Billing address objects will be used to determine the cardholder's location when shipTo objects are not present.
35
- attr_accessor :postal_code
36
-
37
- # Country of the shipping address. Use the two-character [ISO Standard Country Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf) Required field for authorization if any shipping address information is included in the request; otherwise, optional. #### Tax Calculation Optional field for U.S., Canadian, international tax, and value added taxes. Billing address objects will be used to determine the cardholder's location when shipTo objects are not present.
38
- attr_accessor :country
39
-
40
- # Shipping method for the product. Possible values: - lowcost: Lowest-cost service - sameday: Courier or same-day service - oneday: Next-day or overnight service - twoday: Two-day service - threeday: Three-day service - pickup: Store pick-up - other: Other shipping method - none: No shipping method because product is a service or subscription Required for American Express SafeKey (U.S.).
41
- attr_accessor :method
42
-
43
- # Customer's email address, including the full domain name.
44
- attr_accessor :email
45
-
46
- # Phone number associated with the shipping address.
47
- attr_accessor :phone_number
48
-
49
- # Attribute mapping from ruby-style variable name to JSON key.
50
- def self.attribute_map
51
- {
52
- :'first_name' => :'firstName',
53
- :'last_name' => :'lastName',
54
- :'address1' => :'address1',
55
- :'address2' => :'address2',
56
- :'locality' => :'locality',
57
- :'administrative_area' => :'administrativeArea',
58
- :'postal_code' => :'postalCode',
59
- :'country' => :'country',
60
- :'method' => :'method',
61
- :'email' => :'email',
62
- :'phone_number' => :'phoneNumber'
63
- }
64
- end
65
-
66
- # Attribute mapping from JSON key to ruby-style variable name.
67
- def self.json_map
68
- {
69
- :'first_name' => :'first_name',
70
- :'last_name' => :'last_name',
71
- :'address1' => :'address1',
72
- :'address2' => :'address2',
73
- :'locality' => :'locality',
74
- :'administrative_area' => :'administrative_area',
75
- :'postal_code' => :'postal_code',
76
- :'country' => :'country',
77
- :'method' => :'method',
78
- :'email' => :'email',
79
- :'phone_number' => :'phone_number'
80
- }
81
- end
82
-
83
- # Attribute type mapping.
84
- def self.swagger_types
85
- {
86
- :'first_name' => :'String',
87
- :'last_name' => :'String',
88
- :'address1' => :'String',
89
- :'address2' => :'String',
90
- :'locality' => :'String',
91
- :'administrative_area' => :'String',
92
- :'postal_code' => :'String',
93
- :'country' => :'String',
94
- :'method' => :'String',
95
- :'email' => :'String',
96
- :'phone_number' => :'String'
97
- }
98
- end
99
-
100
- # Initializes the object
101
- # @param [Hash] attributes Model attributes in the form of hash
102
- def initialize(attributes = {})
103
- return unless attributes.is_a?(Hash)
104
-
105
- # convert string to symbol for hash key
106
- attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
107
-
108
- if attributes.has_key?(:'firstName')
109
- self.first_name = attributes[:'firstName']
110
- end
111
-
112
- if attributes.has_key?(:'lastName')
113
- self.last_name = attributes[:'lastName']
114
- end
115
-
116
- if attributes.has_key?(:'address1')
117
- self.address1 = attributes[:'address1']
118
- end
119
-
120
- if attributes.has_key?(:'address2')
121
- self.address2 = attributes[:'address2']
122
- end
123
-
124
- if attributes.has_key?(:'locality')
125
- self.locality = attributes[:'locality']
126
- end
127
-
128
- if attributes.has_key?(:'administrativeArea')
129
- self.administrative_area = attributes[:'administrativeArea']
130
- end
131
-
132
- if attributes.has_key?(:'postalCode')
133
- self.postal_code = attributes[:'postalCode']
134
- end
135
-
136
- if attributes.has_key?(:'country')
137
- self.country = attributes[:'country']
138
- end
139
-
140
- if attributes.has_key?(:'method')
141
- self.method = attributes[:'method']
142
- end
143
-
144
- if attributes.has_key?(:'email')
145
- self.email = attributes[:'email']
146
- end
147
-
148
- if attributes.has_key?(:'phoneNumber')
149
- self.phone_number = attributes[:'phoneNumber']
150
- end
151
- end
152
-
153
- # Show invalid properties with the reasons. Usually used together with valid?
154
- # @return Array for valid properties with the reasons
155
- def list_invalid_properties
156
- invalid_properties = Array.new
157
- invalid_properties
158
- end
159
-
160
- # Check to see if the all the properties in the model are valid
161
- # @return true if the model is valid
162
- def valid?
163
- true
164
- end
165
-
166
- # Custom attribute writer method with validation
167
- # @param [Object] first_name Value to be assigned
168
- def first_name=(first_name)
169
- @first_name = first_name
170
- end
171
-
172
- # Custom attribute writer method with validation
173
- # @param [Object] last_name Value to be assigned
174
- def last_name=(last_name)
175
- @last_name = last_name
176
- end
177
-
178
- # Custom attribute writer method with validation
179
- # @param [Object] address1 Value to be assigned
180
- def address1=(address1)
181
- @address1 = address1
182
- end
183
-
184
- # Custom attribute writer method with validation
185
- # @param [Object] address2 Value to be assigned
186
- def address2=(address2)
187
- @address2 = address2
188
- end
189
-
190
- # Custom attribute writer method with validation
191
- # @param [Object] locality Value to be assigned
192
- def locality=(locality)
193
- @locality = locality
194
- end
195
-
196
- # Custom attribute writer method with validation
197
- # @param [Object] administrative_area Value to be assigned
198
- def administrative_area=(administrative_area)
199
- @administrative_area = administrative_area
200
- end
201
-
202
- # Custom attribute writer method with validation
203
- # @param [Object] postal_code Value to be assigned
204
- def postal_code=(postal_code)
205
- @postal_code = postal_code
206
- end
207
-
208
- # Custom attribute writer method with validation
209
- # @param [Object] country Value to be assigned
210
- def country=(country)
211
- @country = country
212
- end
213
-
214
- # Custom attribute writer method with validation
215
- # @param [Object] method Value to be assigned
216
- def method=(method)
217
- @method = method
218
- end
219
-
220
- # Checks equality by comparing each attribute.
221
- # @param [Object] Object to be compared
222
- def ==(o)
223
- return true if self.equal?(o)
224
- self.class == o.class &&
225
- first_name == o.first_name &&
226
- last_name == o.last_name &&
227
- address1 == o.address1 &&
228
- address2 == o.address2 &&
229
- locality == o.locality &&
230
- administrative_area == o.administrative_area &&
231
- postal_code == o.postal_code &&
232
- country == o.country &&
233
- method == o.method &&
234
- email == o.email &&
235
- phone_number == o.phone_number
236
- end
237
-
238
- # @see the `==` method
239
- # @param [Object] Object to be compared
240
- def eql?(o)
241
- self == o
242
- end
243
-
244
- # Calculates hash code according to all attributes.
245
- # @return [Fixnum] Hash code
246
- def hash
247
- [first_name, last_name, address1, address2, locality, administrative_area, postal_code, country, method, email, phone_number].hash
248
- end
249
-
250
- # Builds the object from hash
251
- # @param [Hash] attributes Model attributes in the form of hash
252
- # @return [Object] Returns the model itself
253
- def build_from_hash(attributes)
254
- return nil unless attributes.is_a?(Hash)
255
- self.class.swagger_types.each_pair do |key, type|
256
- if type =~ /\AArray<(.*)>/i
257
- # check to ensure the input is an array given that the the attribute
258
- # is documented as an array but the input is not
259
- if attributes[self.class.attribute_map[key]].is_a?(Array)
260
- self.send("#{self.class.json_map[key]}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
261
- end
262
- elsif !attributes[self.class.attribute_map[key]].nil?
263
- self.send("#{self.class.json_map[key]}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
264
- end # or else data not found in attributes(hash), not an issue as the data can be optional
265
- end
266
-
267
- self
268
- end
269
-
270
- # Deserializes the data based on type
271
- # @param string type Data type
272
- # @param string value Value to be deserialized
273
- # @return [Object] Deserialized data
274
- def _deserialize(type, value)
275
- case type.to_sym
276
- when :DateTime
277
- DateTime.parse(value)
278
- when :Date
279
- Date.parse(value)
280
- when :String
281
- value.to_s
282
- when :Integer
283
- value.to_i
284
- when :Float
285
- value.to_f
286
- when :BOOLEAN
287
- if value.to_s =~ /\A(true|t|yes|y|1)\z/i
288
- true
289
- else
290
- false
291
- end
292
- when :Object
293
- # generic object (usually a Hash), return directly
294
- value
295
- when /\AArray<(?<inner_type>.+)>\z/
296
- inner_type = Regexp.last_match[:inner_type]
297
- value.map { |v| _deserialize(inner_type, v) }
298
- when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
299
- k_type = Regexp.last_match[:k_type]
300
- v_type = Regexp.last_match[:v_type]
301
- {}.tap do |hash|
302
- value.each do |k, v|
303
- hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
304
- end
305
- end
306
- else # model
307
- temp_model = CyberSource.const_get(type).new
308
- temp_model.build_from_hash(value)
309
- end
310
- end
311
-
312
- # Returns the string representation of the object
313
- # @return [String] String presentation of the object
314
- def to_s
315
- to_hash.to_s
316
- end
317
-
318
- # to_body is an alias to to_hash (backward compatibility)
319
- # @return [Hash] Returns the object in the form of hash
320
- def to_body
321
- to_hash
322
- end
323
-
324
- # Returns the object in the form of hash
325
- # @return [Hash] Returns the object in the form of hash
326
- def to_hash
327
- hash = {}
328
- self.class.attribute_map.each_pair do |attr, param|
329
- value = self.send(attr)
330
- next if value.nil?
331
- hash[param] = _to_hash(value)
332
- end
333
- hash
334
- end
335
-
336
- # Outputs non-array value in the form of hash
337
- # For object, use to_hash. Otherwise, just return the value
338
- # @param [Object] value Any valid value
339
- # @return [Hash] Returns the value in the form of hash
340
- def _to_hash(value)
341
- if value.is_a?(Array)
342
- value.compact.map { |v| _to_hash(v) }
343
- elsif value.is_a?(Hash)
344
- {}.tap do |hash|
345
- value.each { |k, v| hash[k] = _to_hash(v) }
346
- end
347
- elsif value.respond_to? :to_hash
348
- value.to_hash
349
- else
350
- value
351
- end
352
- end
353
- end
354
- end
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
+ class Ptsv2intentsOrderInformationShipTo
16
+ # First name of the recipient. #### Litle Maximum length: 25 #### All other processors Maximum length: 60 Optional field.
17
+ attr_accessor :first_name
18
+
19
+ # Last name of the recipient. #### Litle Maximum length: 25 #### All other processors Maximum length: 60 Optional field.
20
+ attr_accessor :last_name
21
+
22
+ # First line of the shipping address. Required field for authorization if any shipping address information is included in the request; otherwise, optional. #### Tax Calculation Optional field for U.S. and Canadian taxes. Not applicable to international and value added taxes. Billing address objects will be used to determine the cardholder's location when shipTo objects are not present.
23
+ attr_accessor :address1
24
+
25
+ # Second line of the shipping address. Optional field. #### Tax Calculation Optional field for U.S. and Canadian taxes. Not applicable to international and value added taxes. Billing address objects will be used to determine the cardholder's location when shipTo objects are not present.
26
+ attr_accessor :address2
27
+
28
+ # City of the shipping address. Required field for authorization if any shipping address information is included in the request and shipping to the U.S. or Canada; otherwise, optional. #### Tax Calculation Optional field for U.S. and Canadian taxes. Not applicable to international and value added taxes. Billing address objects will be used to determine the cardholder's location when shipTo objects are not present.
29
+ attr_accessor :locality
30
+
31
+ # State or province of the shipping address. Use the [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf) (maximum length: 2) Required field for authorization if any shipping address information is included in the request and shipping to the U.S. or Canada; otherwise, optional. #### Tax Calculation Optional field for U.S. and Canadian taxes. Not applicable to international and value added taxes. Billing address objects will be used to determine the cardholder's location when shipTo objects are not present.
32
+ attr_accessor :administrative_area
33
+
34
+ # Postal code for the shipping address. The postal code must consist of 5 to 9 digits. Required field for authorization if any shipping address information is included in the request and shipping to the U.S. or Canada; otherwise, optional. When the billing country is the U.S., the 9-digit postal code must follow this format: [5 digits][dash][4 digits] Example 12345-6789 When the billing country is Canada, the 6-digit postal code must follow this format: [alpha][numeric][alpha][space][numeric][alpha][numeric] Example A1B 2C3 #### American Express Direct Before sending the postal code to the processor, all nonalphanumeric characters are removed and, if the remaining value is longer than nine characters, the value is truncated starting from the right side. #### Tax Calculation Optional field for U.S. and Canadian taxes. Not applicable to international and value added taxes. Billing address objects will be used to determine the cardholder's location when shipTo objects are not present.
35
+ attr_accessor :postal_code
36
+
37
+ # Country of the shipping address. Use the two-character [ISO Standard Country Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf) Required field for authorization if any shipping address information is included in the request; otherwise, optional. #### Tax Calculation Optional field for U.S., Canadian, international tax, and value added taxes. Billing address objects will be used to determine the cardholder's location when shipTo objects are not present.
38
+ attr_accessor :country
39
+
40
+ # Shipping method for the product. Possible values: - lowcost: Lowest-cost service - sameday: Courier or same-day service - oneday: Next-day or overnight service - twoday: Two-day service - threeday: Three-day service - pickup: Store pick-up - other: Other shipping method - none: No shipping method because product is a service or subscription Required for American Express SafeKey (U.S.).
41
+ attr_accessor :method
42
+
43
+ # Customer's email address, including the full domain name.
44
+ attr_accessor :email
45
+
46
+ # Phone number associated with the shipping address.
47
+ attr_accessor :phone_number
48
+
49
+ # Attribute mapping from ruby-style variable name to JSON key.
50
+ def self.attribute_map
51
+ {
52
+ :'first_name' => :'firstName',
53
+ :'last_name' => :'lastName',
54
+ :'address1' => :'address1',
55
+ :'address2' => :'address2',
56
+ :'locality' => :'locality',
57
+ :'administrative_area' => :'administrativeArea',
58
+ :'postal_code' => :'postalCode',
59
+ :'country' => :'country',
60
+ :'method' => :'method',
61
+ :'email' => :'email',
62
+ :'phone_number' => :'phoneNumber'
63
+ }
64
+ end
65
+
66
+ # Attribute mapping from JSON key to ruby-style variable name.
67
+ def self.json_map
68
+ {
69
+ :'first_name' => :'first_name',
70
+ :'last_name' => :'last_name',
71
+ :'address1' => :'address1',
72
+ :'address2' => :'address2',
73
+ :'locality' => :'locality',
74
+ :'administrative_area' => :'administrative_area',
75
+ :'postal_code' => :'postal_code',
76
+ :'country' => :'country',
77
+ :'method' => :'method',
78
+ :'email' => :'email',
79
+ :'phone_number' => :'phone_number'
80
+ }
81
+ end
82
+
83
+ # Attribute type mapping.
84
+ def self.swagger_types
85
+ {
86
+ :'first_name' => :'String',
87
+ :'last_name' => :'String',
88
+ :'address1' => :'String',
89
+ :'address2' => :'String',
90
+ :'locality' => :'String',
91
+ :'administrative_area' => :'String',
92
+ :'postal_code' => :'String',
93
+ :'country' => :'String',
94
+ :'method' => :'String',
95
+ :'email' => :'String',
96
+ :'phone_number' => :'String'
97
+ }
98
+ end
99
+
100
+ # Initializes the object
101
+ # @param [Hash] attributes Model attributes in the form of hash
102
+ def initialize(attributes = {})
103
+ return unless attributes.is_a?(Hash)
104
+
105
+ # convert string to symbol for hash key
106
+ attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
107
+
108
+ if attributes.has_key?(:'firstName')
109
+ self.first_name = attributes[:'firstName']
110
+ end
111
+
112
+ if attributes.has_key?(:'lastName')
113
+ self.last_name = attributes[:'lastName']
114
+ end
115
+
116
+ if attributes.has_key?(:'address1')
117
+ self.address1 = attributes[:'address1']
118
+ end
119
+
120
+ if attributes.has_key?(:'address2')
121
+ self.address2 = attributes[:'address2']
122
+ end
123
+
124
+ if attributes.has_key?(:'locality')
125
+ self.locality = attributes[:'locality']
126
+ end
127
+
128
+ if attributes.has_key?(:'administrativeArea')
129
+ self.administrative_area = attributes[:'administrativeArea']
130
+ end
131
+
132
+ if attributes.has_key?(:'postalCode')
133
+ self.postal_code = attributes[:'postalCode']
134
+ end
135
+
136
+ if attributes.has_key?(:'country')
137
+ self.country = attributes[:'country']
138
+ end
139
+
140
+ if attributes.has_key?(:'method')
141
+ self.method = attributes[:'method']
142
+ end
143
+
144
+ if attributes.has_key?(:'email')
145
+ self.email = attributes[:'email']
146
+ end
147
+
148
+ if attributes.has_key?(:'phoneNumber')
149
+ self.phone_number = attributes[:'phoneNumber']
150
+ end
151
+ end
152
+
153
+ # Show invalid properties with the reasons. Usually used together with valid?
154
+ # @return Array for valid properties with the reasons
155
+ def list_invalid_properties
156
+ invalid_properties = Array.new
157
+ invalid_properties
158
+ end
159
+
160
+ # Check to see if the all the properties in the model are valid
161
+ # @return true if the model is valid
162
+ def valid?
163
+ true
164
+ end
165
+
166
+ # Custom attribute writer method with validation
167
+ # @param [Object] first_name Value to be assigned
168
+ def first_name=(first_name)
169
+ @first_name = first_name
170
+ end
171
+
172
+ # Custom attribute writer method with validation
173
+ # @param [Object] last_name Value to be assigned
174
+ def last_name=(last_name)
175
+ @last_name = last_name
176
+ end
177
+
178
+ # Custom attribute writer method with validation
179
+ # @param [Object] address1 Value to be assigned
180
+ def address1=(address1)
181
+ @address1 = address1
182
+ end
183
+
184
+ # Custom attribute writer method with validation
185
+ # @param [Object] address2 Value to be assigned
186
+ def address2=(address2)
187
+ @address2 = address2
188
+ end
189
+
190
+ # Custom attribute writer method with validation
191
+ # @param [Object] locality Value to be assigned
192
+ def locality=(locality)
193
+ @locality = locality
194
+ end
195
+
196
+ # Custom attribute writer method with validation
197
+ # @param [Object] administrative_area Value to be assigned
198
+ def administrative_area=(administrative_area)
199
+ @administrative_area = administrative_area
200
+ end
201
+
202
+ # Custom attribute writer method with validation
203
+ # @param [Object] postal_code Value to be assigned
204
+ def postal_code=(postal_code)
205
+ @postal_code = postal_code
206
+ end
207
+
208
+ # Custom attribute writer method with validation
209
+ # @param [Object] country Value to be assigned
210
+ def country=(country)
211
+ @country = country
212
+ end
213
+
214
+ # Custom attribute writer method with validation
215
+ # @param [Object] method Value to be assigned
216
+ def method=(method)
217
+ @method = method
218
+ end
219
+
220
+ # Checks equality by comparing each attribute.
221
+ # @param [Object] Object to be compared
222
+ def ==(o)
223
+ return true if self.equal?(o)
224
+ self.class == o.class &&
225
+ first_name == o.first_name &&
226
+ last_name == o.last_name &&
227
+ address1 == o.address1 &&
228
+ address2 == o.address2 &&
229
+ locality == o.locality &&
230
+ administrative_area == o.administrative_area &&
231
+ postal_code == o.postal_code &&
232
+ country == o.country &&
233
+ method == o.method &&
234
+ email == o.email &&
235
+ phone_number == o.phone_number
236
+ end
237
+
238
+ # @see the `==` method
239
+ # @param [Object] Object to be compared
240
+ def eql?(o)
241
+ self == o
242
+ end
243
+
244
+ # Calculates hash code according to all attributes.
245
+ # @return [Fixnum] Hash code
246
+ def hash
247
+ [first_name, last_name, address1, address2, locality, administrative_area, postal_code, country, method, email, phone_number].hash
248
+ end
249
+
250
+ # Builds the object from hash
251
+ # @param [Hash] attributes Model attributes in the form of hash
252
+ # @return [Object] Returns the model itself
253
+ def build_from_hash(attributes)
254
+ return nil unless attributes.is_a?(Hash)
255
+ self.class.swagger_types.each_pair do |key, type|
256
+ if type =~ /\AArray<(.*)>/i
257
+ # check to ensure the input is an array given that the the attribute
258
+ # is documented as an array but the input is not
259
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
260
+ self.send("#{self.class.json_map[key]}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
261
+ end
262
+ elsif !attributes[self.class.attribute_map[key]].nil?
263
+ self.send("#{self.class.json_map[key]}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
264
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
265
+ end
266
+
267
+ self
268
+ end
269
+
270
+ # Deserializes the data based on type
271
+ # @param string type Data type
272
+ # @param string value Value to be deserialized
273
+ # @return [Object] Deserialized data
274
+ def _deserialize(type, value)
275
+ case type.to_sym
276
+ when :DateTime
277
+ DateTime.parse(value)
278
+ when :Date
279
+ Date.parse(value)
280
+ when :String
281
+ value.to_s
282
+ when :Integer
283
+ value.to_i
284
+ when :Float
285
+ value.to_f
286
+ when :BOOLEAN
287
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
288
+ true
289
+ else
290
+ false
291
+ end
292
+ when :Object
293
+ # generic object (usually a Hash), return directly
294
+ value
295
+ when /\AArray<(?<inner_type>.+)>\z/
296
+ inner_type = Regexp.last_match[:inner_type]
297
+ value.map { |v| _deserialize(inner_type, v) }
298
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
299
+ k_type = Regexp.last_match[:k_type]
300
+ v_type = Regexp.last_match[:v_type]
301
+ {}.tap do |hash|
302
+ value.each do |k, v|
303
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
304
+ end
305
+ end
306
+ else # model
307
+ temp_model = CyberSource.const_get(type).new
308
+ temp_model.build_from_hash(value)
309
+ end
310
+ end
311
+
312
+ # Returns the string representation of the object
313
+ # @return [String] String presentation of the object
314
+ def to_s
315
+ to_hash.to_s
316
+ end
317
+
318
+ # to_body is an alias to to_hash (backward compatibility)
319
+ # @return [Hash] Returns the object in the form of hash
320
+ def to_body
321
+ to_hash
322
+ end
323
+
324
+ # Returns the object in the form of hash
325
+ # @return [Hash] Returns the object in the form of hash
326
+ def to_hash
327
+ hash = {}
328
+ self.class.attribute_map.each_pair do |attr, param|
329
+ value = self.send(attr)
330
+ next if value.nil?
331
+ hash[param] = _to_hash(value)
332
+ end
333
+ hash
334
+ end
335
+
336
+ # Outputs non-array value in the form of hash
337
+ # For object, use to_hash. Otherwise, just return the value
338
+ # @param [Object] value Any valid value
339
+ # @return [Hash] Returns the value in the form of hash
340
+ def _to_hash(value)
341
+ if value.is_a?(Array)
342
+ value.compact.map { |v| _to_hash(v) }
343
+ elsif value.is_a?(Hash)
344
+ {}.tap do |hash|
345
+ value.each { |k, v| hash[k] = _to_hash(v) }
346
+ end
347
+ elsif value.respond_to? :to_hash
348
+ value.to_hash
349
+ else
350
+ value
351
+ end
352
+ end
353
+ end
354
+ end