wallee-ruby-sdk 1.0.1 → 2.2.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (472) hide show
  1. checksums.yaml +5 -5
  2. data/Gemfile +1 -1
  3. data/LICENSE +1 -1
  4. data/README.md +107 -34
  5. data/lib/wallee-ruby-sdk.rb +260 -99
  6. data/lib/wallee-ruby-sdk/{services → api}/account_service_api.rb +37 -41
  7. data/lib/wallee-ruby-sdk/{services → api}/application_user_service_api.rb +37 -41
  8. data/lib/wallee-ruby-sdk/api/card_processing_service_api.rb +172 -0
  9. data/lib/wallee-ruby-sdk/{services → api}/charge_attempt_service_api.rb +22 -26
  10. data/lib/wallee-ruby-sdk/api/charge_flow_level_payment_link_service_api.rb +213 -0
  11. data/lib/wallee-ruby-sdk/{services → api}/charge_flow_level_service_api.rb +31 -35
  12. data/lib/wallee-ruby-sdk/{services → api}/charge_flow_service_api.rb +42 -46
  13. data/lib/wallee-ruby-sdk/{services → api}/condition_type_service_api.rb +15 -19
  14. data/lib/wallee-ruby-sdk/{services → api}/country_service_api.rb +7 -11
  15. data/lib/wallee-ruby-sdk/{services → api}/country_state_service_api.rb +15 -19
  16. data/lib/wallee-ruby-sdk/{services → api}/currency_service_api.rb +7 -11
  17. data/lib/wallee-ruby-sdk/api/customer_address_service_api.rb +460 -0
  18. data/lib/wallee-ruby-sdk/api/customer_comment_service_api.rb +522 -0
  19. data/lib/wallee-ruby-sdk/api/customer_service_api.rb +398 -0
  20. data/lib/wallee-ruby-sdk/api/debt_collection_case_service_api.rb +796 -0
  21. data/lib/wallee-ruby-sdk/api/debt_collector_configuration_service_api.rb +213 -0
  22. data/lib/wallee-ruby-sdk/api/debt_collector_service_api.rb +139 -0
  23. data/lib/wallee-ruby-sdk/{services → api}/delivery_indication_service_api.rb +40 -44
  24. data/lib/wallee-ruby-sdk/{services → api}/document_template_service_api.rb +22 -26
  25. data/lib/wallee-ruby-sdk/{services → api}/document_template_type_service_api.rb +15 -19
  26. data/lib/wallee-ruby-sdk/{services → api}/human_user_service_api.rb +94 -41
  27. data/lib/wallee-ruby-sdk/{services → api}/installment_payment_service_api.rb +33 -37
  28. data/lib/wallee-ruby-sdk/{services → api}/installment_payment_slice_service_api.rb +23 -27
  29. data/lib/wallee-ruby-sdk/{services → api}/installment_plan_calculation_service_api.rb +9 -13
  30. data/lib/wallee-ruby-sdk/{services → api}/installment_plan_configuration_service_api.rb +23 -27
  31. data/lib/wallee-ruby-sdk/{services → api}/installment_plan_slice_configuration_service_api.rb +23 -27
  32. data/lib/wallee-ruby-sdk/{services → api}/label_description_group_service_api.rb +15 -19
  33. data/lib/wallee-ruby-sdk/{services → api}/label_description_service_api.rb +15 -19
  34. data/lib/wallee-ruby-sdk/{services → api}/language_service_api.rb +7 -11
  35. data/lib/wallee-ruby-sdk/api/legal_organization_form_service_api.rb +197 -0
  36. data/lib/wallee-ruby-sdk/{services → api}/manual_task_service_api.rb +22 -26
  37. data/lib/wallee-ruby-sdk/api/mertic_usage_service_api.rb +96 -0
  38. data/lib/wallee-ruby-sdk/{services → api}/payment_connector_configuration_service_api.rb +22 -26
  39. data/lib/wallee-ruby-sdk/{services → api}/payment_connector_service_api.rb +15 -19
  40. data/lib/wallee-ruby-sdk/{services/token_service_api.rb → api/payment_link_service_api.rb} +68 -72
  41. data/lib/wallee-ruby-sdk/api/payment_method_brand_service_api.rb +139 -0
  42. data/lib/wallee-ruby-sdk/{services → api}/payment_method_configuration_service_api.rb +22 -26
  43. data/lib/wallee-ruby-sdk/{services → api}/payment_method_service_api.rb +15 -19
  44. data/lib/wallee-ruby-sdk/{services → api}/payment_processor_configuration_service_api.rb +22 -26
  45. data/lib/wallee-ruby-sdk/{services → api}/payment_processor_service_api.rb +15 -19
  46. data/lib/wallee-ruby-sdk/{services/email_template_service_api.rb → api/payment_terminal_service_api.rb} +36 -40
  47. data/lib/wallee-ruby-sdk/api/payment_terminal_till_service_api.rb +99 -0
  48. data/lib/wallee-ruby-sdk/{services → api}/permission_service_api.rb +15 -19
  49. data/lib/wallee-ruby-sdk/api/refund_comment_service_api.rb +464 -0
  50. data/lib/wallee-ruby-sdk/{services → api}/refund_service_api.rb +125 -61
  51. data/lib/wallee-ruby-sdk/api/shopify_recurring_order_service_api.rb +274 -0
  52. data/lib/wallee-ruby-sdk/api/shopify_subscriber_service_api.rb +213 -0
  53. data/lib/wallee-ruby-sdk/api/shopify_subscription_product_service_api.rb +337 -0
  54. data/lib/wallee-ruby-sdk/api/shopify_subscription_service_api.rb +466 -0
  55. data/lib/wallee-ruby-sdk/api/shopify_subscription_suspension_service_api.rb +337 -0
  56. data/lib/wallee-ruby-sdk/api/shopify_subscription_version_service_api.rb +213 -0
  57. data/lib/wallee-ruby-sdk/api/shopify_transaction_service_api.rb +213 -0
  58. data/lib/wallee-ruby-sdk/{services → api}/space_service_api.rb +37 -41
  59. data/lib/wallee-ruby-sdk/{services → api}/static_value_service_api.rb +15 -19
  60. data/lib/wallee-ruby-sdk/{services → api}/subscriber_service_api.rb +46 -50
  61. data/lib/wallee-ruby-sdk/api/subscription_affiliate_service_api.rb +398 -0
  62. data/lib/wallee-ruby-sdk/{services → api}/subscription_charge_service_api.rb +38 -42
  63. data/lib/wallee-ruby-sdk/{services → api}/subscription_ledger_entry_service_api.rb +29 -33
  64. data/lib/wallee-ruby-sdk/{services → api}/subscription_metric_service_api.rb +43 -47
  65. data/lib/wallee-ruby-sdk/{services → api}/subscription_metric_usage_service_api.rb +29 -33
  66. data/lib/wallee-ruby-sdk/{services → api}/subscription_period_bill_service_api.rb +28 -32
  67. data/lib/wallee-ruby-sdk/{services → api}/subscription_product_component_group_service_api.rb +43 -47
  68. data/lib/wallee-ruby-sdk/{services → api}/subscription_product_component_service_api.rb +43 -47
  69. data/lib/wallee-ruby-sdk/{services → api}/subscription_product_fee_tier_service_api.rb +43 -47
  70. data/lib/wallee-ruby-sdk/{services → api}/subscription_product_metered_fee_service_api.rb +43 -47
  71. data/lib/wallee-ruby-sdk/{services → api}/subscription_product_period_fee_service_api.rb +43 -47
  72. data/lib/wallee-ruby-sdk/{services → api}/subscription_product_retirement_service_api.rb +29 -33
  73. data/lib/wallee-ruby-sdk/{services → api}/subscription_product_service_api.rb +36 -40
  74. data/lib/wallee-ruby-sdk/{services → api}/subscription_product_setup_fee_service_api.rb +43 -47
  75. data/lib/wallee-ruby-sdk/{services → api}/subscription_product_version_retirement_service_api.rb +29 -33
  76. data/lib/wallee-ruby-sdk/{services → api}/subscription_product_version_service_api.rb +43 -47
  77. data/lib/wallee-ruby-sdk/{services → api}/subscription_service_api.rb +245 -115
  78. data/lib/wallee-ruby-sdk/{services → api}/subscription_suspension_service_api.rb +36 -40
  79. data/lib/wallee-ruby-sdk/{services → api}/subscription_version_service_api.rb +22 -26
  80. data/lib/wallee-ruby-sdk/api/token_service_api.rb +587 -0
  81. data/lib/wallee-ruby-sdk/{services → api}/token_version_service_api.rb +31 -35
  82. data/lib/wallee-ruby-sdk/api/transaction_comment_service_api.rb +464 -0
  83. data/lib/wallee-ruby-sdk/{services → api}/transaction_completion_service_api.rb +164 -44
  84. data/lib/wallee-ruby-sdk/api/transaction_iframe_service_api.rb +91 -0
  85. data/lib/wallee-ruby-sdk/api/transaction_invoice_comment_service_api.rb +464 -0
  86. data/lib/wallee-ruby-sdk/{services → api}/transaction_invoice_service_api.rb +186 -59
  87. data/lib/wallee-ruby-sdk/api/transaction_lightbox_service_api.rb +91 -0
  88. data/lib/wallee-ruby-sdk/api/transaction_mobile_sdk_service_api.rb +86 -0
  89. data/lib/wallee-ruby-sdk/api/transaction_payment_page_service_api.rb +91 -0
  90. data/lib/wallee-ruby-sdk/{services → api}/transaction_service_api.rb +273 -326
  91. data/lib/wallee-ruby-sdk/api/transaction_terminal_service_api.rb +172 -0
  92. data/lib/wallee-ruby-sdk/{services → api}/transaction_void_service_api.rb +40 -44
  93. data/lib/wallee-ruby-sdk/{services → api}/user_account_role_service_api.rb +27 -31
  94. data/lib/wallee-ruby-sdk/{services → api}/user_space_role_service_api.rb +30 -34
  95. data/lib/wallee-ruby-sdk/{services → api}/webhook_listener_service_api.rb +43 -47
  96. data/lib/wallee-ruby-sdk/{services → api}/webhook_url_service_api.rb +43 -47
  97. data/lib/wallee-ruby-sdk/api_client.rb +7 -7
  98. data/lib/wallee-ruby-sdk/api_error.rb +0 -4
  99. data/lib/wallee-ruby-sdk/configuration.rb +2 -6
  100. data/lib/wallee-ruby-sdk/models/abstract_account_update.rb +40 -14
  101. data/lib/wallee-ruby-sdk/models/abstract_application_user_update.rb +31 -14
  102. data/lib/wallee-ruby-sdk/models/abstract_customer_active.rb +312 -0
  103. data/lib/wallee-ruby-sdk/models/abstract_customer_address_active.rb +200 -0
  104. data/lib/wallee-ruby-sdk/models/abstract_customer_comment_active.rb +205 -0
  105. data/lib/wallee-ruby-sdk/models/abstract_debt_collection_case_update.rb +262 -0
  106. data/lib/wallee-ruby-sdk/models/abstract_human_user_update.rb +87 -15
  107. data/lib/wallee-ruby-sdk/models/abstract_payment_link_update.rb +309 -0
  108. data/lib/wallee-ruby-sdk/models/abstract_refund_comment_active.rb +205 -0
  109. data/lib/wallee-ruby-sdk/models/abstract_shopify_subscription_product_update.rb +320 -0
  110. data/lib/wallee-ruby-sdk/models/abstract_space_update.rb +51 -15
  111. data/lib/wallee-ruby-sdk/models/abstract_subscriber_update.rb +51 -14
  112. data/lib/wallee-ruby-sdk/models/abstract_subscription_affiliate_update.rb +246 -0
  113. data/lib/wallee-ruby-sdk/models/abstract_subscription_metric_update.rb +5 -13
  114. data/lib/wallee-ruby-sdk/models/abstract_subscription_product_active.rb +20 -13
  115. data/lib/wallee-ruby-sdk/models/abstract_token_update.rb +35 -13
  116. data/lib/wallee-ruby-sdk/models/abstract_transaction_comment_active.rb +205 -0
  117. data/lib/wallee-ruby-sdk/models/abstract_transaction_invoice_comment_active.rb +205 -0
  118. data/lib/wallee-ruby-sdk/models/abstract_transaction_pending.rb +136 -16
  119. data/lib/wallee-ruby-sdk/models/abstract_webhook_listener_update.rb +43 -14
  120. data/lib/wallee-ruby-sdk/models/abstract_webhook_url_update.rb +44 -13
  121. data/lib/wallee-ruby-sdk/models/account.rb +90 -13
  122. data/lib/wallee-ruby-sdk/models/account_create.rb +56 -14
  123. data/lib/wallee-ruby-sdk/models/account_state.rb +12 -20
  124. data/lib/wallee-ruby-sdk/models/account_type.rb +9 -17
  125. data/lib/wallee-ruby-sdk/models/account_update.rb +42 -15
  126. data/lib/wallee-ruby-sdk/models/address.rb +240 -22
  127. data/lib/wallee-ruby-sdk/models/address_create.rb +240 -22
  128. data/lib/wallee-ruby-sdk/models/application_user.rb +32 -14
  129. data/lib/wallee-ruby-sdk/models/application_user_create.rb +32 -14
  130. data/lib/wallee-ruby-sdk/models/application_user_create_with_mac_key.rb +31 -13
  131. data/lib/wallee-ruby-sdk/models/application_user_update.rb +33 -15
  132. data/lib/wallee-ruby-sdk/models/charge.rb +16 -13
  133. data/lib/wallee-ruby-sdk/models/charge_attempt.rb +61 -13
  134. data/lib/wallee-ruby-sdk/models/charge_attempt_environment.rb +8 -16
  135. data/lib/wallee-ruby-sdk/models/charge_attempt_state.rb +9 -17
  136. data/lib/wallee-ruby-sdk/models/charge_flow.rb +5 -12
  137. data/lib/wallee-ruby-sdk/models/charge_flow_level.rb +5 -12
  138. data/lib/wallee-ruby-sdk/models/charge_flow_level_configuration.rb +20 -12
  139. data/lib/wallee-ruby-sdk/models/charge_flow_level_configuration_type.rb +20 -15
  140. data/lib/wallee-ruby-sdk/models/charge_flow_level_payment_link.rb +231 -0
  141. data/lib/wallee-ruby-sdk/models/charge_flow_level_state.rb +9 -17
  142. data/lib/wallee-ruby-sdk/models/charge_state.rb +9 -17
  143. data/lib/wallee-ruby-sdk/models/charge_type.rb +10 -17
  144. data/lib/wallee-ruby-sdk/models/client_error.rb +5 -12
  145. data/lib/wallee-ruby-sdk/models/client_error_type.rb +9 -17
  146. data/lib/wallee-ruby-sdk/models/completion_line_item.rb +226 -0
  147. data/lib/wallee-ruby-sdk/models/completion_line_item_create.rb +245 -0
  148. data/lib/wallee-ruby-sdk/models/condition.rb +20 -12
  149. data/lib/wallee-ruby-sdk/models/condition_type.rb +7 -14
  150. data/lib/wallee-ruby-sdk/models/connector_invocation.rb +5 -12
  151. data/lib/wallee-ruby-sdk/models/connector_invocation_stage.rb +10 -18
  152. data/lib/wallee-ruby-sdk/models/creation_entity_state.rb +11 -19
  153. data/lib/wallee-ruby-sdk/models/criteria_operator.rb +18 -23
  154. data/lib/wallee-ruby-sdk/models/customer.rb +353 -0
  155. data/lib/wallee-ruby-sdk/models/customer_active.rb +343 -0
  156. data/lib/wallee-ruby-sdk/models/customer_address.rb +261 -0
  157. data/lib/wallee-ruby-sdk/models/customer_address_active.rb +231 -0
  158. data/lib/wallee-ruby-sdk/models/customer_address_create.rb +216 -0
  159. data/lib/wallee-ruby-sdk/models/customer_address_type.rb +36 -0
  160. data/lib/wallee-ruby-sdk/models/customer_comment.rb +296 -0
  161. data/lib/wallee-ruby-sdk/models/customer_comment_active.rb +236 -0
  162. data/lib/wallee-ruby-sdk/models/customer_comment_create.rb +221 -0
  163. data/lib/wallee-ruby-sdk/models/customer_create.rb +313 -0
  164. data/lib/wallee-ruby-sdk/models/customer_postal_address.rb +606 -0
  165. data/lib/wallee-ruby-sdk/models/customer_postal_address_create.rb +606 -0
  166. data/lib/wallee-ruby-sdk/models/customers_presence.rb +9 -17
  167. data/lib/wallee-ruby-sdk/models/data_collection_type.rb +8 -16
  168. data/lib/wallee-ruby-sdk/models/database_translated_string.rb +5 -12
  169. data/lib/wallee-ruby-sdk/models/database_translated_string_create.rb +5 -12
  170. data/lib/wallee-ruby-sdk/models/database_translated_string_item.rb +20 -12
  171. data/lib/wallee-ruby-sdk/models/database_translated_string_item_create.rb +21 -13
  172. data/lib/wallee-ruby-sdk/models/debt_collection_case.rb +495 -0
  173. data/lib/wallee-ruby-sdk/models/debt_collection_case_create.rb +303 -0
  174. data/lib/wallee-ruby-sdk/models/debt_collection_case_document.rb +338 -0
  175. data/lib/wallee-ruby-sdk/models/debt_collection_case_source.rb +225 -0
  176. data/lib/wallee-ruby-sdk/models/debt_collection_case_state.rb +40 -0
  177. data/lib/wallee-ruby-sdk/models/debt_collection_case_update.rb +293 -0
  178. data/lib/wallee-ruby-sdk/models/debt_collection_environment.rb +35 -0
  179. data/lib/wallee-ruby-sdk/models/debt_collection_receipt.rb +305 -0
  180. data/lib/wallee-ruby-sdk/models/debt_collection_receipt_source.rb +215 -0
  181. data/lib/wallee-ruby-sdk/models/debt_collector.rb +215 -0
  182. data/lib/wallee-ruby-sdk/models/{email_sender.rb → debt_collector_condition.rb} +34 -46
  183. data/lib/wallee-ruby-sdk/models/debt_collector_condition_type.rb +215 -0
  184. data/lib/wallee-ruby-sdk/models/debt_collector_configuration.rb +310 -0
  185. data/lib/wallee-ruby-sdk/models/delivery_indication.rb +16 -13
  186. data/lib/wallee-ruby-sdk/models/delivery_indication_decision_reason.rb +7 -14
  187. data/lib/wallee-ruby-sdk/models/delivery_indication_state.rb +10 -18
  188. data/lib/wallee-ruby-sdk/models/document_template.rb +41 -13
  189. data/lib/wallee-ruby-sdk/models/document_template_type.rb +18 -25
  190. data/lib/wallee-ruby-sdk/models/document_template_type_group.rb +203 -0
  191. data/lib/wallee-ruby-sdk/models/entity_export_request.rb +208 -0
  192. data/lib/wallee-ruby-sdk/models/entity_query.rb +6 -13
  193. data/lib/wallee-ruby-sdk/models/entity_query_filter.rb +6 -13
  194. data/lib/wallee-ruby-sdk/models/entity_query_filter_type.rb +9 -17
  195. data/lib/wallee-ruby-sdk/models/entity_query_order_by.rb +15 -12
  196. data/lib/wallee-ruby-sdk/models/entity_query_order_by_type.rb +8 -16
  197. data/lib/wallee-ruby-sdk/models/environment.rb +35 -0
  198. data/lib/wallee-ruby-sdk/models/failure_category.rb +11 -19
  199. data/lib/wallee-ruby-sdk/models/failure_reason.rb +7 -14
  200. data/lib/wallee-ruby-sdk/models/feature.rb +18 -15
  201. data/lib/wallee-ruby-sdk/models/feature_category.rb +225 -0
  202. data/lib/wallee-ruby-sdk/models/gender.rb +8 -16
  203. data/lib/wallee-ruby-sdk/models/human_user.rb +107 -14
  204. data/lib/wallee-ruby-sdk/models/human_user_create.rb +86 -13
  205. data/lib/wallee-ruby-sdk/models/human_user_update.rb +88 -15
  206. data/lib/wallee-ruby-sdk/models/installment_calculated_plan.rb +5 -12
  207. data/lib/wallee-ruby-sdk/models/installment_calculated_slice.rb +5 -12
  208. data/lib/wallee-ruby-sdk/models/installment_payment.rb +5 -12
  209. data/lib/wallee-ruby-sdk/models/installment_payment_slice.rb +5 -12
  210. data/lib/wallee-ruby-sdk/models/installment_payment_slice_state.rb +13 -21
  211. data/lib/wallee-ruby-sdk/models/installment_payment_state.rb +14 -22
  212. data/lib/wallee-ruby-sdk/models/installment_plan_configuration.rb +20 -12
  213. data/lib/wallee-ruby-sdk/models/installment_plan_slice_configuration.rb +5 -12
  214. data/lib/wallee-ruby-sdk/models/label.rb +5 -12
  215. data/lib/wallee-ruby-sdk/models/label_descriptor.rb +7 -14
  216. data/lib/wallee-ruby-sdk/models/label_descriptor_category.rb +8 -16
  217. data/lib/wallee-ruby-sdk/models/label_descriptor_group.rb +7 -14
  218. data/lib/wallee-ruby-sdk/models/label_descriptor_type.rb +7 -14
  219. data/lib/wallee-ruby-sdk/models/legal_organization_form.rb +5 -12
  220. data/lib/wallee-ruby-sdk/models/line_item.rb +121 -14
  221. data/lib/wallee-ruby-sdk/models/line_item_attribute.rb +35 -12
  222. data/lib/wallee-ruby-sdk/models/line_item_attribute_create.rb +45 -14
  223. data/lib/wallee-ruby-sdk/models/line_item_create.rb +84 -19
  224. data/lib/wallee-ruby-sdk/models/line_item_reduction.rb +20 -12
  225. data/lib/wallee-ruby-sdk/models/line_item_reduction_create.rb +27 -15
  226. data/lib/wallee-ruby-sdk/models/line_item_type.rb +10 -18
  227. data/lib/wallee-ruby-sdk/models/localized_string.rb +5 -12
  228. data/lib/wallee-ruby-sdk/models/manual_task.rb +5 -12
  229. data/lib/wallee-ruby-sdk/models/manual_task_action.rb +6 -13
  230. data/lib/wallee-ruby-sdk/models/manual_task_action_style.rb +9 -17
  231. data/lib/wallee-ruby-sdk/models/manual_task_state.rb +9 -17
  232. data/lib/wallee-ruby-sdk/models/manual_task_type.rb +7 -14
  233. data/lib/wallee-ruby-sdk/models/metric_usage.rb +225 -0
  234. data/lib/wallee-ruby-sdk/models/one_click_payment_mode.rb +9 -17
  235. data/lib/wallee-ruby-sdk/models/payment_connector.rb +30 -15
  236. data/lib/wallee-ruby-sdk/models/payment_connector_configuration.rb +33 -13
  237. data/lib/wallee-ruby-sdk/models/payment_connector_feature.rb +5 -12
  238. data/lib/wallee-ruby-sdk/models/payment_contract.rb +355 -0
  239. data/lib/wallee-ruby-sdk/models/payment_contract_state.rb +38 -0
  240. data/lib/wallee-ruby-sdk/models/{email_sender_type.rb → payment_contract_type.rb} +9 -16
  241. data/lib/wallee-ruby-sdk/models/payment_information_hash.rb +211 -0
  242. data/lib/wallee-ruby-sdk/models/payment_information_hash_type.rb +203 -0
  243. data/lib/wallee-ruby-sdk/models/payment_link.rb +414 -0
  244. data/lib/wallee-ruby-sdk/models/payment_link_active.rb +350 -0
  245. data/lib/wallee-ruby-sdk/models/payment_link_create.rb +373 -0
  246. data/lib/wallee-ruby-sdk/models/payment_link_protection_mode.rb +35 -0
  247. data/lib/wallee-ruby-sdk/models/payment_link_update.rb +340 -0
  248. data/lib/wallee-ruby-sdk/models/payment_method.rb +20 -15
  249. data/lib/wallee-ruby-sdk/models/payment_method_brand.rb +7 -14
  250. data/lib/wallee-ruby-sdk/models/payment_method_configuration.rb +22 -14
  251. data/lib/wallee-ruby-sdk/models/payment_primary_risk_taker.rb +9 -17
  252. data/lib/wallee-ruby-sdk/models/payment_processor.rb +10 -17
  253. data/lib/wallee-ruby-sdk/models/payment_processor_configuration.rb +31 -13
  254. data/lib/wallee-ruby-sdk/models/{email_template.rb → payment_terminal.rb} +51 -79
  255. data/lib/wallee-ruby-sdk/models/payment_terminal_address.rb +456 -0
  256. data/lib/wallee-ruby-sdk/models/payment_terminal_configuration.rb +266 -0
  257. data/lib/wallee-ruby-sdk/models/payment_terminal_configuration_state.rb +37 -0
  258. data/lib/wallee-ruby-sdk/models/payment_terminal_configuration_version.rb +313 -0
  259. data/lib/wallee-ruby-sdk/models/payment_terminal_configuration_version_state.rb +38 -0
  260. data/lib/wallee-ruby-sdk/models/{space_address_setter.rb → payment_terminal_contact_address.rb} +105 -27
  261. data/lib/wallee-ruby-sdk/models/payment_terminal_location.rb +286 -0
  262. data/lib/wallee-ruby-sdk/models/payment_terminal_location_state.rb +37 -0
  263. data/lib/wallee-ruby-sdk/models/payment_terminal_location_version.rb +281 -0
  264. data/lib/wallee-ruby-sdk/models/payment_terminal_location_version_state.rb +38 -0
  265. data/lib/wallee-ruby-sdk/models/payment_terminal_state.rb +38 -0
  266. data/lib/wallee-ruby-sdk/models/{attachment_resource.rb → payment_terminal_type.rb} +33 -28
  267. data/lib/wallee-ruby-sdk/models/permission.rb +20 -17
  268. data/lib/wallee-ruby-sdk/models/persistable_currency_amount.rb +5 -12
  269. data/lib/wallee-ruby-sdk/models/persistable_currency_amount_update.rb +5 -12
  270. data/lib/wallee-ruby-sdk/models/product_fee_type.rb +9 -17
  271. data/lib/wallee-ruby-sdk/models/product_metered_fee.rb +5 -12
  272. data/lib/wallee-ruby-sdk/models/product_metered_fee_update.rb +7 -14
  273. data/lib/wallee-ruby-sdk/models/product_metered_tier_fee.rb +5 -12
  274. data/lib/wallee-ruby-sdk/models/product_metered_tier_fee_update.rb +7 -14
  275. data/lib/wallee-ruby-sdk/models/product_metered_tier_pricing.rb +8 -16
  276. data/lib/wallee-ruby-sdk/models/product_period_fee.rb +16 -13
  277. data/lib/wallee-ruby-sdk/models/product_period_fee_update.rb +18 -15
  278. data/lib/wallee-ruby-sdk/models/product_setup_fee.rb +5 -12
  279. data/lib/wallee-ruby-sdk/models/product_setup_fee_update.rb +7 -14
  280. data/lib/wallee-ruby-sdk/models/refund.rb +130 -13
  281. data/lib/wallee-ruby-sdk/models/refund_comment.rb +296 -0
  282. data/lib/wallee-ruby-sdk/models/refund_comment_active.rb +236 -0
  283. data/lib/wallee-ruby-sdk/models/refund_comment_create.rb +221 -0
  284. data/lib/wallee-ruby-sdk/models/refund_create.rb +67 -21
  285. data/lib/wallee-ruby-sdk/models/refund_state.rb +12 -19
  286. data/lib/wallee-ruby-sdk/models/refund_type.rb +10 -18
  287. data/lib/wallee-ruby-sdk/models/rendered_document.rb +5 -12
  288. data/lib/wallee-ruby-sdk/models/rendered_terminal_receipt.rb +203 -0
  289. data/lib/wallee-ruby-sdk/models/resource_path.rb +29 -12
  290. data/lib/wallee-ruby-sdk/models/resource_state.rb +9 -17
  291. data/lib/wallee-ruby-sdk/models/rest_address_format.rb +227 -0
  292. data/lib/wallee-ruby-sdk/models/rest_address_format_field.rb +43 -0
  293. data/lib/wallee-ruby-sdk/models/rest_country.rb +16 -13
  294. data/lib/wallee-ruby-sdk/models/rest_country_state.rb +5 -12
  295. data/lib/wallee-ruby-sdk/models/rest_currency.rb +5 -12
  296. data/lib/wallee-ruby-sdk/models/rest_language.rb +5 -12
  297. data/lib/wallee-ruby-sdk/models/role.rb +16 -13
  298. data/lib/wallee-ruby-sdk/models/sales_channel.rb +245 -0
  299. data/lib/wallee-ruby-sdk/models/scope.rb +61 -13
  300. data/lib/wallee-ruby-sdk/models/server_error.rb +5 -12
  301. data/lib/wallee-ruby-sdk/models/shopify_additional_line_item_data.rb +35 -0
  302. data/lib/wallee-ruby-sdk/models/shopify_integration.rb +470 -0
  303. data/lib/wallee-ruby-sdk/models/shopify_integration_payment_app_version.rb +34 -0
  304. data/lib/wallee-ruby-sdk/models/shopify_integration_subscription_app_version.rb +36 -0
  305. data/lib/wallee-ruby-sdk/models/shopify_recurring_order.rb +351 -0
  306. data/lib/wallee-ruby-sdk/models/shopify_recurring_order_state.rb +39 -0
  307. data/lib/wallee-ruby-sdk/models/shopify_recurring_order_update_request.rb +201 -0
  308. data/lib/wallee-ruby-sdk/models/shopify_subscriber.rb +281 -0
  309. data/lib/wallee-ruby-sdk/models/shopify_subscriber_creation.rb +216 -0
  310. data/lib/wallee-ruby-sdk/models/shopify_subscriber_state.rb +36 -0
  311. data/lib/wallee-ruby-sdk/models/shopify_subscription.rb +365 -0
  312. data/lib/wallee-ruby-sdk/models/shopify_subscription_address.rb +546 -0
  313. data/lib/wallee-ruby-sdk/models/shopify_subscription_address_create.rb +546 -0
  314. data/lib/wallee-ruby-sdk/models/shopify_subscription_billing_interval_unit.rb +39 -0
  315. data/lib/wallee-ruby-sdk/models/shopify_subscription_creation_request.rb +353 -0
  316. data/lib/wallee-ruby-sdk/models/shopify_subscription_model_billing_configuration.rb +261 -0
  317. data/lib/wallee-ruby-sdk/models/shopify_subscription_model_item.rb +233 -0
  318. data/lib/wallee-ruby-sdk/models/{entity_reference.rb → shopify_subscription_model_tax_line.rb} +27 -14
  319. data/lib/wallee-ruby-sdk/models/shopify_subscription_product.rb +471 -0
  320. data/lib/wallee-ruby-sdk/models/shopify_subscription_product_create.rb +366 -0
  321. data/lib/wallee-ruby-sdk/models/shopify_subscription_product_pricing_option.rb +38 -0
  322. data/lib/wallee-ruby-sdk/models/shopify_subscription_product_state.rb +39 -0
  323. data/lib/wallee-ruby-sdk/models/shopify_subscription_product_update.rb +351 -0
  324. data/lib/wallee-ruby-sdk/models/shopify_subscription_state.rb +39 -0
  325. data/lib/wallee-ruby-sdk/models/shopify_subscription_suspension.rb +311 -0
  326. data/lib/wallee-ruby-sdk/models/shopify_subscription_suspension_create.rb +226 -0
  327. data/lib/wallee-ruby-sdk/models/shopify_subscription_suspension_initiator.rb +35 -0
  328. data/lib/wallee-ruby-sdk/models/shopify_subscription_suspension_state.rb +35 -0
  329. data/lib/wallee-ruby-sdk/models/shopify_subscription_suspension_type.rb +35 -0
  330. data/lib/wallee-ruby-sdk/models/shopify_subscription_update_addresses_request.rb +211 -0
  331. data/lib/wallee-ruby-sdk/models/shopify_subscription_update_request.rb +233 -0
  332. data/lib/wallee-ruby-sdk/models/shopify_subscription_version.rb +453 -0
  333. data/lib/wallee-ruby-sdk/models/shopify_subscription_version_item.rb +233 -0
  334. data/lib/wallee-ruby-sdk/models/shopify_subscription_version_item_price_strategy.rb +35 -0
  335. data/lib/wallee-ruby-sdk/models/shopify_subscription_version_state.rb +36 -0
  336. data/lib/wallee-ruby-sdk/models/shopify_subscription_weekday.rb +40 -0
  337. data/lib/wallee-ruby-sdk/models/shopify_tax_line.rb +231 -0
  338. data/lib/wallee-ruby-sdk/models/shopify_transaction.rb +301 -0
  339. data/lib/wallee-ruby-sdk/models/shopify_transaction_state.rb +38 -0
  340. data/lib/wallee-ruby-sdk/models/space.rb +91 -14
  341. data/lib/wallee-ruby-sdk/models/space_address.rb +120 -22
  342. data/lib/wallee-ruby-sdk/models/space_address_create.rb +120 -22
  343. data/lib/wallee-ruby-sdk/models/space_create.rb +52 -15
  344. data/lib/wallee-ruby-sdk/models/space_reference.rb +5 -12
  345. data/lib/wallee-ruby-sdk/models/space_reference_state.rb +11 -19
  346. data/lib/wallee-ruby-sdk/models/space_update.rb +53 -16
  347. data/lib/wallee-ruby-sdk/models/space_view.rb +29 -12
  348. data/lib/wallee-ruby-sdk/models/static_value.rb +7 -14
  349. data/lib/wallee-ruby-sdk/models/subscriber.rb +51 -13
  350. data/lib/wallee-ruby-sdk/models/subscriber_active.rb +53 -15
  351. data/lib/wallee-ruby-sdk/models/subscriber_create.rb +52 -14
  352. data/lib/wallee-ruby-sdk/models/subscriber_update.rb +53 -15
  353. data/lib/wallee-ruby-sdk/models/subscription.rb +86 -13
  354. data/lib/wallee-ruby-sdk/models/subscription_affiliate.rb +355 -0
  355. data/lib/wallee-ruby-sdk/models/subscription_affiliate_create.rb +333 -0
  356. data/lib/wallee-ruby-sdk/models/subscription_affiliate_deleted.rb +355 -0
  357. data/lib/wallee-ruby-sdk/models/subscription_affiliate_deleting.rb +355 -0
  358. data/lib/wallee-ruby-sdk/models/subscription_affiliate_inactive.rb +277 -0
  359. data/lib/wallee-ruby-sdk/models/subscription_affiliate_update.rb +277 -0
  360. data/lib/wallee-ruby-sdk/models/subscription_change_request.rb +27 -17
  361. data/lib/wallee-ruby-sdk/models/subscription_charge.rb +79 -13
  362. data/lib/wallee-ruby-sdk/models/subscription_charge_create.rb +71 -15
  363. data/lib/wallee-ruby-sdk/models/subscription_charge_processing_type.rb +8 -16
  364. data/lib/wallee-ruby-sdk/models/subscription_charge_state.rb +11 -19
  365. data/lib/wallee-ruby-sdk/models/subscription_charge_type.rb +8 -16
  366. data/lib/wallee-ruby-sdk/models/subscription_component_configuration.rb +201 -0
  367. data/lib/wallee-ruby-sdk/models/subscription_component_reference_configuration.rb +201 -0
  368. data/lib/wallee-ruby-sdk/models/subscription_create_request.rb +22 -17
  369. data/lib/wallee-ruby-sdk/models/subscription_ledger_entry.rb +29 -12
  370. data/lib/wallee-ruby-sdk/models/subscription_ledger_entry_create.rb +38 -17
  371. data/lib/wallee-ruby-sdk/models/subscription_ledger_entry_state.rb +9 -17
  372. data/lib/wallee-ruby-sdk/models/subscription_metric.rb +5 -12
  373. data/lib/wallee-ruby-sdk/models/subscription_metric_active.rb +7 -14
  374. data/lib/wallee-ruby-sdk/models/subscription_metric_create.rb +7 -14
  375. data/lib/wallee-ruby-sdk/models/subscription_metric_type.rb +7 -14
  376. data/lib/wallee-ruby-sdk/models/subscription_metric_update.rb +7 -14
  377. data/lib/wallee-ruby-sdk/models/subscription_metric_usage_report.rb +20 -12
  378. data/lib/wallee-ruby-sdk/models/subscription_metric_usage_report_create.rb +24 -16
  379. data/lib/wallee-ruby-sdk/models/subscription_pending.rb +48 -15
  380. data/lib/wallee-ruby-sdk/models/subscription_period_bill.rb +5 -12
  381. data/lib/wallee-ruby-sdk/models/subscription_period_bill_state.rb +8 -16
  382. data/lib/wallee-ruby-sdk/models/subscription_product.rb +35 -12
  383. data/lib/wallee-ruby-sdk/models/subscription_product_active.rb +22 -14
  384. data/lib/wallee-ruby-sdk/models/subscription_product_component.rb +36 -13
  385. data/lib/wallee-ruby-sdk/models/subscription_product_component_group.rb +5 -12
  386. data/lib/wallee-ruby-sdk/models/subscription_product_component_group_update.rb +7 -14
  387. data/lib/wallee-ruby-sdk/models/subscription_product_component_reference.rb +20 -12
  388. data/lib/wallee-ruby-sdk/models/subscription_product_component_reference_state.rb +10 -18
  389. data/lib/wallee-ruby-sdk/models/subscription_product_component_update.rb +38 -15
  390. data/lib/wallee-ruby-sdk/models/subscription_product_create.rb +40 -13
  391. data/lib/wallee-ruby-sdk/models/subscription_product_retirement.rb +5 -12
  392. data/lib/wallee-ruby-sdk/models/subscription_product_retirement_create.rb +6 -13
  393. data/lib/wallee-ruby-sdk/models/subscription_product_state.rb +11 -19
  394. data/lib/wallee-ruby-sdk/models/subscription_product_version.rb +31 -13
  395. data/lib/wallee-ruby-sdk/models/subscription_product_version_pending.rb +19 -16
  396. data/lib/wallee-ruby-sdk/models/subscription_product_version_retirement.rb +5 -12
  397. data/lib/wallee-ruby-sdk/models/subscription_product_version_retirement_create.rb +6 -13
  398. data/lib/wallee-ruby-sdk/models/subscription_product_version_state.rb +11 -19
  399. data/lib/wallee-ruby-sdk/models/subscription_state.rb +14 -21
  400. data/lib/wallee-ruby-sdk/models/subscription_suspension.rb +20 -12
  401. data/lib/wallee-ruby-sdk/models/subscription_suspension_action.rb +8 -16
  402. data/lib/wallee-ruby-sdk/models/subscription_suspension_create.rb +23 -15
  403. data/lib/wallee-ruby-sdk/models/subscription_suspension_reason.rb +9 -17
  404. data/lib/wallee-ruby-sdk/models/subscription_suspension_running.rb +20 -12
  405. data/lib/wallee-ruby-sdk/models/subscription_suspension_state.rb +8 -16
  406. data/lib/wallee-ruby-sdk/models/subscription_update.rb +33 -15
  407. data/lib/wallee-ruby-sdk/models/subscription_update_request.rb +206 -0
  408. data/lib/wallee-ruby-sdk/models/subscription_version.rb +18 -13
  409. data/lib/wallee-ruby-sdk/models/subscription_version_state.rb +12 -20
  410. data/lib/wallee-ruby-sdk/models/tax.rb +29 -12
  411. data/lib/wallee-ruby-sdk/models/tax_calculation.rb +35 -0
  412. data/lib/wallee-ruby-sdk/models/tax_class.rb +20 -12
  413. data/lib/wallee-ruby-sdk/models/tax_create.rb +35 -14
  414. data/lib/wallee-ruby-sdk/models/tenant_database.rb +20 -12
  415. data/lib/wallee-ruby-sdk/models/token.rb +59 -12
  416. data/lib/wallee-ruby-sdk/models/token_create.rb +64 -13
  417. data/lib/wallee-ruby-sdk/models/token_update.rb +37 -14
  418. data/lib/wallee-ruby-sdk/models/token_version.rb +78 -13
  419. data/lib/wallee-ruby-sdk/models/token_version_state.rb +9 -17
  420. data/lib/wallee-ruby-sdk/models/token_version_type.rb +7 -14
  421. data/lib/wallee-ruby-sdk/models/tokenization_mode.rb +37 -0
  422. data/lib/wallee-ruby-sdk/models/transaction.rb +291 -16
  423. data/lib/wallee-ruby-sdk/models/transaction_aware_entity.rb +5 -12
  424. data/lib/wallee-ruby-sdk/models/transaction_comment.rb +296 -0
  425. data/lib/wallee-ruby-sdk/models/transaction_comment_active.rb +236 -0
  426. data/lib/wallee-ruby-sdk/models/transaction_comment_create.rb +221 -0
  427. data/lib/wallee-ruby-sdk/models/transaction_completion.rb +151 -13
  428. data/lib/wallee-ruby-sdk/models/transaction_completion_behavior.rb +36 -0
  429. data/lib/wallee-ruby-sdk/models/transaction_completion_mode.rb +9 -17
  430. data/lib/wallee-ruby-sdk/models/transaction_completion_request.rb +291 -0
  431. data/lib/wallee-ruby-sdk/models/transaction_completion_state.rb +11 -18
  432. data/lib/wallee-ruby-sdk/models/transaction_create.rb +200 -15
  433. data/lib/wallee-ruby-sdk/models/transaction_environment_selection_strategy.rb +36 -0
  434. data/lib/wallee-ruby-sdk/models/transaction_group.rb +20 -12
  435. data/lib/wallee-ruby-sdk/models/transaction_group_state.rb +9 -17
  436. data/lib/wallee-ruby-sdk/models/transaction_invoice.rb +85 -13
  437. data/lib/wallee-ruby-sdk/models/transaction_invoice_comment.rb +296 -0
  438. data/lib/wallee-ruby-sdk/models/transaction_invoice_comment_active.rb +236 -0
  439. data/lib/wallee-ruby-sdk/models/transaction_invoice_comment_create.rb +221 -0
  440. data/lib/wallee-ruby-sdk/models/transaction_invoice_replacement.rb +62 -16
  441. data/lib/wallee-ruby-sdk/models/transaction_invoice_state.rb +13 -21
  442. data/lib/wallee-ruby-sdk/models/transaction_line_item_update_request.rb +6 -13
  443. data/lib/wallee-ruby-sdk/models/transaction_line_item_version.rb +5 -12
  444. data/lib/wallee-ruby-sdk/models/transaction_pending.rb +137 -16
  445. data/lib/wallee-ruby-sdk/models/transaction_state.rb +16 -24
  446. data/lib/wallee-ruby-sdk/models/transaction_user_interface_type.rb +11 -17
  447. data/lib/wallee-ruby-sdk/models/transaction_void.rb +5 -12
  448. data/lib/wallee-ruby-sdk/models/transaction_void_mode.rb +8 -16
  449. data/lib/wallee-ruby-sdk/models/transaction_void_state.rb +10 -18
  450. data/lib/wallee-ruby-sdk/models/{email_template_type.rb → two_factor_authentication_type.rb} +18 -71
  451. data/lib/wallee-ruby-sdk/models/unencrypted_card_data.rb +284 -0
  452. data/lib/wallee-ruby-sdk/models/unencrypted_card_data_create.rb +293 -0
  453. data/lib/wallee-ruby-sdk/models/user.rb +5 -12
  454. data/lib/wallee-ruby-sdk/models/user_account_role.rb +5 -12
  455. data/lib/wallee-ruby-sdk/models/user_space_role.rb +5 -12
  456. data/lib/wallee-ruby-sdk/models/user_type.rb +11 -19
  457. data/lib/wallee-ruby-sdk/models/webhook_identity.rb +20 -12
  458. data/lib/wallee-ruby-sdk/models/webhook_listener.rb +20 -12
  459. data/lib/wallee-ruby-sdk/models/webhook_listener_create.rb +44 -41
  460. data/lib/wallee-ruby-sdk/models/webhook_listener_entity.rb +7 -24
  461. data/lib/wallee-ruby-sdk/models/webhook_listener_update.rb +45 -15
  462. data/lib/wallee-ruby-sdk/models/webhook_url.rb +44 -12
  463. data/lib/wallee-ruby-sdk/models/webhook_url_create.rb +44 -12
  464. data/lib/wallee-ruby-sdk/models/webhook_url_update.rb +46 -14
  465. data/lib/wallee-ruby-sdk/version.rb +1 -5
  466. data/test/{transactioncreate.rb → transaction_create_service_test.rb} +2 -2
  467. data/test/transaction_payment_page_service_test.rb +91 -0
  468. data/wallee-ruby-sdk.gemspec +5 -8
  469. metadata +262 -87
  470. data/lib/wallee-ruby-sdk/services/email_sender_service_api.rb +0 -219
  471. data/lib/wallee-ruby-sdk/services/email_sender_type_service_api.rb +0 -143
  472. data/lib/wallee-ruby-sdk/services/email_template_type_service_api.rb +0 -143
@@ -0,0 +1,414 @@
1
+ =begin
2
+ The wallee API allows an easy interaction with the wallee web service.
3
+
4
+ Licensed under the Apache License, Version 2.0 (the "License");
5
+ you may not use this file except in compliance with the License.
6
+ You may obtain a copy of the License at
7
+
8
+ http://www.apache.org/licenses/LICENSE-2.0
9
+
10
+ Unless required by applicable law or agreed to in writing, software
11
+ distributed under the License is distributed on an "AS IS" BASIS,
12
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ See the License for the specific language governing permissions and
14
+ limitations under the License.
15
+
16
+ =end
17
+
18
+ require 'date'
19
+
20
+ module Wallee
21
+ # The payment link defines an URL to automatically create transactions.
22
+ class PaymentLink
23
+ # The allowed payment method configurations restrict the payment methods which can be used with this payment link.
24
+ attr_accessor :allowed_payment_method_configurations
25
+
26
+ # The payment link can be conducted in a specific space view. The space view may apply a specific design to the payment page.
27
+ attr_accessor :applied_space_view
28
+
29
+ # The available from date defines the earliest date on which the payment link can be used. When no date is specified there will be no restriction.
30
+ attr_accessor :available_from
31
+
32
+ # The available from date defines the latest date on which the payment link can be used to initialize a transaction. When no date is specified there will be no restriction.
33
+ attr_accessor :available_until
34
+
35
+ # By making the billing address required the transaction can only be created when a billing address is provided within the request.
36
+ attr_accessor :billing_address_required
37
+
38
+ # The currency defines in which currency the payment is executed in. If no currency is defined it has to be specified within the request parameter 'currency'.
39
+ attr_accessor :currency
40
+
41
+ # The external id helps to identify the entity and a subsequent creation of an entity with the same ID will not create a new entity.
42
+ attr_accessor :external_id
43
+
44
+ # The ID is the primary key of the entity. The ID identifies the entity uniquely.
45
+ attr_accessor :id
46
+
47
+ # The language defines the language of the payment page. If no language is provided it can be provided through the request parameter.
48
+ attr_accessor :language
49
+
50
+ # The line items allows to define the line items for this payment link. When the line items are defined they cannot be overridden through the request parameters.
51
+ attr_accessor :line_items
52
+
53
+ # The linked space id holds the ID of the space to which the entity belongs to.
54
+ attr_accessor :linked_space_id
55
+
56
+ # The maximal number of transactions limits the number of transactions which can be created with this payment link.
57
+ attr_accessor :maximal_number_of_transactions
58
+
59
+ # The payment link name is used internally to identify the payment link. For example the name is used within search fields and hence it should be distinct and descriptive.
60
+ attr_accessor :name
61
+
62
+ # The planned purge date indicates when the entity is permanently removed. When the date is null the entity is not planned to be removed.
63
+ attr_accessor :planned_purge_date
64
+
65
+ # The protection mode determines if the payment link is protected against tampering and in what way.
66
+ attr_accessor :protection_mode
67
+
68
+ # By making the shipping address required the transaction can only be created when a shipping address is provided within the request.
69
+ attr_accessor :shipping_address_required
70
+
71
+ #
72
+ attr_accessor :state
73
+
74
+ # The URL defines the URL to which the user has to be forwarded to initialize the payment.
75
+ attr_accessor :url
76
+
77
+ # The version number indicates the version of the entity. The version is incremented whenever the entity is changed.
78
+ attr_accessor :version
79
+
80
+ # Attribute mapping from ruby-style variable name to JSON key.
81
+ def self.attribute_map
82
+ {
83
+ :'allowed_payment_method_configurations' => :'allowedPaymentMethodConfigurations',
84
+ :'applied_space_view' => :'appliedSpaceView',
85
+ :'available_from' => :'availableFrom',
86
+ :'available_until' => :'availableUntil',
87
+ :'billing_address_required' => :'billingAddressRequired',
88
+ :'currency' => :'currency',
89
+ :'external_id' => :'externalId',
90
+ :'id' => :'id',
91
+ :'language' => :'language',
92
+ :'line_items' => :'lineItems',
93
+ :'linked_space_id' => :'linkedSpaceId',
94
+ :'maximal_number_of_transactions' => :'maximalNumberOfTransactions',
95
+ :'name' => :'name',
96
+ :'planned_purge_date' => :'plannedPurgeDate',
97
+ :'protection_mode' => :'protectionMode',
98
+ :'shipping_address_required' => :'shippingAddressRequired',
99
+ :'state' => :'state',
100
+ :'url' => :'url',
101
+ :'version' => :'version'
102
+ }
103
+ end
104
+
105
+ # Attribute type mapping.
106
+ def self.swagger_types
107
+ {
108
+ :'allowed_payment_method_configurations' => :'Array<PaymentMethodConfiguration>',
109
+ :'applied_space_view' => :'Integer',
110
+ :'available_from' => :'DateTime',
111
+ :'available_until' => :'DateTime',
112
+ :'billing_address_required' => :'BOOLEAN',
113
+ :'currency' => :'String',
114
+ :'external_id' => :'String',
115
+ :'id' => :'Integer',
116
+ :'language' => :'String',
117
+ :'line_items' => :'Array<LineItem>',
118
+ :'linked_space_id' => :'Integer',
119
+ :'maximal_number_of_transactions' => :'Integer',
120
+ :'name' => :'String',
121
+ :'planned_purge_date' => :'DateTime',
122
+ :'protection_mode' => :'PaymentLinkProtectionMode',
123
+ :'shipping_address_required' => :'BOOLEAN',
124
+ :'state' => :'CreationEntityState',
125
+ :'url' => :'String',
126
+ :'version' => :'Integer'
127
+ }
128
+ end
129
+
130
+ # Initializes the object
131
+ # @param [Hash] attributes Model attributes in the form of hash
132
+ def initialize(attributes = {})
133
+ return unless attributes.is_a?(Hash)
134
+
135
+ # convert string to symbol for hash key
136
+ attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
137
+
138
+ if attributes.has_key?(:'allowedPaymentMethodConfigurations')
139
+ if (value = attributes[:'allowedPaymentMethodConfigurations']).is_a?(Array)
140
+ self.allowed_payment_method_configurations = value
141
+ end
142
+ end
143
+
144
+ if attributes.has_key?(:'appliedSpaceView')
145
+ self.applied_space_view = attributes[:'appliedSpaceView']
146
+ end
147
+
148
+ if attributes.has_key?(:'availableFrom')
149
+ self.available_from = attributes[:'availableFrom']
150
+ end
151
+
152
+ if attributes.has_key?(:'availableUntil')
153
+ self.available_until = attributes[:'availableUntil']
154
+ end
155
+
156
+ if attributes.has_key?(:'billingAddressRequired')
157
+ self.billing_address_required = attributes[:'billingAddressRequired']
158
+ end
159
+
160
+ if attributes.has_key?(:'currency')
161
+ self.currency = attributes[:'currency']
162
+ end
163
+
164
+ if attributes.has_key?(:'externalId')
165
+ self.external_id = attributes[:'externalId']
166
+ end
167
+
168
+ if attributes.has_key?(:'id')
169
+ self.id = attributes[:'id']
170
+ end
171
+
172
+ if attributes.has_key?(:'language')
173
+ self.language = attributes[:'language']
174
+ end
175
+
176
+ if attributes.has_key?(:'lineItems')
177
+ if (value = attributes[:'lineItems']).is_a?(Array)
178
+ self.line_items = value
179
+ end
180
+ end
181
+
182
+ if attributes.has_key?(:'linkedSpaceId')
183
+ self.linked_space_id = attributes[:'linkedSpaceId']
184
+ end
185
+
186
+ if attributes.has_key?(:'maximalNumberOfTransactions')
187
+ self.maximal_number_of_transactions = attributes[:'maximalNumberOfTransactions']
188
+ end
189
+
190
+ if attributes.has_key?(:'name')
191
+ self.name = attributes[:'name']
192
+ end
193
+
194
+ if attributes.has_key?(:'plannedPurgeDate')
195
+ self.planned_purge_date = attributes[:'plannedPurgeDate']
196
+ end
197
+
198
+ if attributes.has_key?(:'protectionMode')
199
+ self.protection_mode = attributes[:'protectionMode']
200
+ end
201
+
202
+ if attributes.has_key?(:'shippingAddressRequired')
203
+ self.shipping_address_required = attributes[:'shippingAddressRequired']
204
+ end
205
+
206
+ if attributes.has_key?(:'state')
207
+ self.state = attributes[:'state']
208
+ end
209
+
210
+ if attributes.has_key?(:'url')
211
+ self.url = attributes[:'url']
212
+ end
213
+
214
+ if attributes.has_key?(:'version')
215
+ self.version = attributes[:'version']
216
+ end
217
+ end
218
+
219
+ # Show invalid properties with the reasons. Usually used together with valid?
220
+ # @return Array for valid properties with the reasons
221
+ def list_invalid_properties
222
+ invalid_properties = Array.new
223
+ if !@external_id.nil? && @external_id.to_s.length > 100
224
+ invalid_properties.push('invalid value for "external_id", the character length must be smaller than or equal to 100.')
225
+ end
226
+
227
+ if !@external_id.nil? && @external_id.to_s.length < 1
228
+ invalid_properties.push('invalid value for "external_id", the character length must be great than or equal to 1.')
229
+ end
230
+
231
+ if !@name.nil? && @name.to_s.length > 100
232
+ invalid_properties.push('invalid value for "name", the character length must be smaller than or equal to 100.')
233
+ end
234
+
235
+ invalid_properties
236
+ end
237
+
238
+ # Check to see if the all the properties in the model are valid
239
+ # @return true if the model is valid
240
+ def valid?
241
+ return false if !@external_id.nil? && @external_id.to_s.length > 100
242
+ return false if !@external_id.nil? && @external_id.to_s.length < 1
243
+ return false if !@name.nil? && @name.to_s.length > 100
244
+ true
245
+ end
246
+
247
+ # Custom attribute writer method with validation
248
+ # @param [Object] external_id Value to be assigned
249
+ def external_id=(external_id)
250
+ if !external_id.nil? && external_id.to_s.length > 100
251
+ fail ArgumentError, 'invalid value for "external_id", the character length must be smaller than or equal to 100.'
252
+ end
253
+
254
+ if !external_id.nil? && external_id.to_s.length < 1
255
+ fail ArgumentError, 'invalid value for "external_id", the character length must be great than or equal to 1.'
256
+ end
257
+
258
+ @external_id = external_id
259
+ end
260
+
261
+ # Custom attribute writer method with validation
262
+ # @param [Object] name Value to be assigned
263
+ def name=(name)
264
+ if !name.nil? && name.to_s.length > 100
265
+ fail ArgumentError, 'invalid value for "name", the character length must be smaller than or equal to 100.'
266
+ end
267
+
268
+ @name = name
269
+ end
270
+
271
+ # Checks equality by comparing each attribute.
272
+ # @param [Object] Object to be compared
273
+ def ==(o)
274
+ return true if self.equal?(o)
275
+ self.class == o.class &&
276
+ allowed_payment_method_configurations == o.allowed_payment_method_configurations &&
277
+ applied_space_view == o.applied_space_view &&
278
+ available_from == o.available_from &&
279
+ available_until == o.available_until &&
280
+ billing_address_required == o.billing_address_required &&
281
+ currency == o.currency &&
282
+ external_id == o.external_id &&
283
+ id == o.id &&
284
+ language == o.language &&
285
+ line_items == o.line_items &&
286
+ linked_space_id == o.linked_space_id &&
287
+ maximal_number_of_transactions == o.maximal_number_of_transactions &&
288
+ name == o.name &&
289
+ planned_purge_date == o.planned_purge_date &&
290
+ protection_mode == o.protection_mode &&
291
+ shipping_address_required == o.shipping_address_required &&
292
+ state == o.state &&
293
+ url == o.url &&
294
+ version == o.version
295
+ end
296
+
297
+ # @see the `==` method
298
+ # @param [Object] Object to be compared
299
+ def eql?(o)
300
+ self == o
301
+ end
302
+
303
+ # Calculates hash code according to all attributes.
304
+ # @return [Fixnum] Hash code
305
+ def hash
306
+ [allowed_payment_method_configurations, applied_space_view, available_from, available_until, billing_address_required, currency, external_id, id, language, line_items, linked_space_id, maximal_number_of_transactions, name, planned_purge_date, protection_mode, shipping_address_required, state, url, version].hash
307
+ end
308
+
309
+ # Builds the object from hash
310
+ # @param [Hash] attributes Model attributes in the form of hash
311
+ # @return [Object] Returns the model itself
312
+ def build_from_hash(attributes)
313
+ return nil unless attributes.is_a?(Hash)
314
+ self.class.swagger_types.each_pair do |key, type|
315
+ if type =~ /\AArray<(.*)>/i
316
+ # check to ensure the input is an array given that the attribute
317
+ # is documented as an array but the input is not
318
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
319
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map{ |v| _deserialize($1, v) } )
320
+ end
321
+ elsif !attributes[self.class.attribute_map[key]].nil?
322
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
323
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
324
+ end
325
+
326
+ self
327
+ end
328
+
329
+ # Deserializes the data based on type
330
+ # @param string type Data type
331
+ # @param string value Value to be deserialized
332
+ # @return [Object] Deserialized data
333
+ def _deserialize(type, value)
334
+ case type.to_sym
335
+ when :DateTime
336
+ DateTime.parse(value)
337
+ when :Date
338
+ Date.parse(value)
339
+ when :String
340
+ value.to_s
341
+ when :Integer
342
+ value.to_i
343
+ when :Float
344
+ value.to_f
345
+ when :BOOLEAN
346
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
347
+ true
348
+ else
349
+ false
350
+ end
351
+ when :Object
352
+ # generic object (usually a Hash), return directly
353
+ value
354
+ when /\AArray<(?<inner_type>.+)>\z/
355
+ inner_type = Regexp.last_match[:inner_type]
356
+ value.map { |v| _deserialize(inner_type, v) }
357
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
358
+ k_type = Regexp.last_match[:k_type]
359
+ v_type = Regexp.last_match[:v_type]
360
+ {}.tap do |hash|
361
+ value.each do |k, v|
362
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
363
+ end
364
+ end
365
+ else # model
366
+ temp_model = Wallee.const_get(type).new
367
+ temp_model.build_from_hash(value)
368
+ end
369
+ end
370
+
371
+ # Returns the string representation of the object
372
+ # @return [String] String presentation of the object
373
+ def to_s
374
+ to_hash.to_s
375
+ end
376
+
377
+ # to_body is an alias to to_hash (backward compatibility)
378
+ # @return [Hash] Returns the object in the form of hash
379
+ def to_body
380
+ to_hash
381
+ end
382
+
383
+ # Returns the object in the form of hash
384
+ # @return [Hash] Returns the object in the form of hash
385
+ def to_hash
386
+ hash = {}
387
+ self.class.attribute_map.each_pair do |attr, param|
388
+ value = self.send(attr)
389
+ next if value.nil?
390
+ hash[param] = _to_hash(value)
391
+ end
392
+ hash
393
+ end
394
+
395
+ # Outputs non-array value in the form of hash
396
+ # For object, use to_hash. Otherwise, just return the value
397
+ # @param [Object] value Any valid value
398
+ # @return [Hash] Returns the value in the form of hash
399
+ def _to_hash(value)
400
+ if value.is_a?(Array)
401
+ value.compact.map{ |v| _to_hash(v) }
402
+ elsif value.is_a?(Hash)
403
+ {}.tap do |hash|
404
+ value.each { |k, v| hash[k] = _to_hash(v) }
405
+ end
406
+ elsif value.respond_to? :to_hash
407
+ value.to_hash
408
+ else
409
+ value
410
+ end
411
+ end
412
+
413
+ end
414
+ end
@@ -0,0 +1,350 @@
1
+ =begin
2
+ The wallee API allows an easy interaction with the wallee web service.
3
+
4
+ Licensed under the Apache License, Version 2.0 (the "License");
5
+ you may not use this file except in compliance with the License.
6
+ You may obtain a copy of the License at
7
+
8
+ http://www.apache.org/licenses/LICENSE-2.0
9
+
10
+ Unless required by applicable law or agreed to in writing, software
11
+ distributed under the License is distributed on an "AS IS" BASIS,
12
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ See the License for the specific language governing permissions and
14
+ limitations under the License.
15
+
16
+ =end
17
+
18
+ require 'date'
19
+
20
+ module Wallee
21
+ # The payment link defines an URL to automatically create transactions.
22
+ class PaymentLinkActive
23
+ # The ID is the primary key of the entity. The ID identifies the entity uniquely.
24
+ attr_accessor :id
25
+
26
+ # The version number indicates the version of the entity. The version is incremented whenever the entity is changed.
27
+ attr_accessor :version
28
+
29
+ # The allowed payment method configurations restrict the payment methods which can be used with this payment link.
30
+ attr_accessor :allowed_payment_method_configurations
31
+
32
+ # The payment link can be conducted in a specific space view. The space view may apply a specific design to the payment page.
33
+ attr_accessor :applied_space_view
34
+
35
+ # The available from date defines the earliest date on which the payment link can be used. When no date is specified there will be no restriction.
36
+ attr_accessor :available_from
37
+
38
+ # The available from date defines the latest date on which the payment link can be used to initialize a transaction. When no date is specified there will be no restriction.
39
+ attr_accessor :available_until
40
+
41
+ # By making the billing address required the transaction can only be created when a billing address is provided within the request.
42
+ attr_accessor :billing_address_required
43
+
44
+ # The currency defines in which currency the payment is executed in. If no currency is defined it has to be specified within the request parameter 'currency'.
45
+ attr_accessor :currency
46
+
47
+ # The language defines the language of the payment page. If no language is provided it can be provided through the request parameter.
48
+ attr_accessor :language
49
+
50
+ # The line items allows to define the line items for this payment link. When the line items are defined they cannot be overridden through the request parameters.
51
+ attr_accessor :line_items
52
+
53
+ # The maximal number of transactions limits the number of transactions which can be created with this payment link.
54
+ attr_accessor :maximal_number_of_transactions
55
+
56
+ # The payment link name is used internally to identify the payment link. For example the name is used within search fields and hence it should be distinct and descriptive.
57
+ attr_accessor :name
58
+
59
+ # By making the shipping address required the transaction can only be created when a shipping address is provided within the request.
60
+ attr_accessor :shipping_address_required
61
+
62
+ #
63
+ attr_accessor :state
64
+
65
+ # Attribute mapping from ruby-style variable name to JSON key.
66
+ def self.attribute_map
67
+ {
68
+ :'id' => :'id',
69
+ :'version' => :'version',
70
+ :'allowed_payment_method_configurations' => :'allowedPaymentMethodConfigurations',
71
+ :'applied_space_view' => :'appliedSpaceView',
72
+ :'available_from' => :'availableFrom',
73
+ :'available_until' => :'availableUntil',
74
+ :'billing_address_required' => :'billingAddressRequired',
75
+ :'currency' => :'currency',
76
+ :'language' => :'language',
77
+ :'line_items' => :'lineItems',
78
+ :'maximal_number_of_transactions' => :'maximalNumberOfTransactions',
79
+ :'name' => :'name',
80
+ :'shipping_address_required' => :'shippingAddressRequired',
81
+ :'state' => :'state'
82
+ }
83
+ end
84
+
85
+ # Attribute type mapping.
86
+ def self.swagger_types
87
+ {
88
+ :'id' => :'Integer',
89
+ :'version' => :'Integer',
90
+ :'allowed_payment_method_configurations' => :'Array<PaymentMethodConfiguration>',
91
+ :'applied_space_view' => :'Integer',
92
+ :'available_from' => :'DateTime',
93
+ :'available_until' => :'DateTime',
94
+ :'billing_address_required' => :'BOOLEAN',
95
+ :'currency' => :'String',
96
+ :'language' => :'String',
97
+ :'line_items' => :'Array<LineItemCreate>',
98
+ :'maximal_number_of_transactions' => :'Integer',
99
+ :'name' => :'String',
100
+ :'shipping_address_required' => :'BOOLEAN',
101
+ :'state' => :'CreationEntityState'
102
+ }
103
+ end
104
+
105
+ # Initializes the object
106
+ # @param [Hash] attributes Model attributes in the form of hash
107
+ def initialize(attributes = {})
108
+ return unless attributes.is_a?(Hash)
109
+
110
+ # convert string to symbol for hash key
111
+ attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
112
+
113
+ if attributes.has_key?(:'id')
114
+ self.id = attributes[:'id']
115
+ end
116
+
117
+ if attributes.has_key?(:'version')
118
+ self.version = attributes[:'version']
119
+ end
120
+
121
+ if attributes.has_key?(:'allowedPaymentMethodConfigurations')
122
+ if (value = attributes[:'allowedPaymentMethodConfigurations']).is_a?(Array)
123
+ self.allowed_payment_method_configurations = value
124
+ end
125
+ end
126
+
127
+ if attributes.has_key?(:'appliedSpaceView')
128
+ self.applied_space_view = attributes[:'appliedSpaceView']
129
+ end
130
+
131
+ if attributes.has_key?(:'availableFrom')
132
+ self.available_from = attributes[:'availableFrom']
133
+ end
134
+
135
+ if attributes.has_key?(:'availableUntil')
136
+ self.available_until = attributes[:'availableUntil']
137
+ end
138
+
139
+ if attributes.has_key?(:'billingAddressRequired')
140
+ self.billing_address_required = attributes[:'billingAddressRequired']
141
+ end
142
+
143
+ if attributes.has_key?(:'currency')
144
+ self.currency = attributes[:'currency']
145
+ end
146
+
147
+ if attributes.has_key?(:'language')
148
+ self.language = attributes[:'language']
149
+ end
150
+
151
+ if attributes.has_key?(:'lineItems')
152
+ if (value = attributes[:'lineItems']).is_a?(Array)
153
+ self.line_items = value
154
+ end
155
+ end
156
+
157
+ if attributes.has_key?(:'maximalNumberOfTransactions')
158
+ self.maximal_number_of_transactions = attributes[:'maximalNumberOfTransactions']
159
+ end
160
+
161
+ if attributes.has_key?(:'name')
162
+ self.name = attributes[:'name']
163
+ end
164
+
165
+ if attributes.has_key?(:'shippingAddressRequired')
166
+ self.shipping_address_required = attributes[:'shippingAddressRequired']
167
+ end
168
+
169
+ if attributes.has_key?(:'state')
170
+ self.state = attributes[:'state']
171
+ end
172
+ end
173
+
174
+ # Show invalid properties with the reasons. Usually used together with valid?
175
+ # @return Array for valid properties with the reasons
176
+ def list_invalid_properties
177
+ invalid_properties = Array.new
178
+ if @id.nil?
179
+ invalid_properties.push('invalid value for "id", id cannot be nil.')
180
+ end
181
+
182
+ if @version.nil?
183
+ invalid_properties.push('invalid value for "version", version cannot be nil.')
184
+ end
185
+
186
+ if !@name.nil? && @name.to_s.length > 100
187
+ invalid_properties.push('invalid value for "name", the character length must be smaller than or equal to 100.')
188
+ end
189
+
190
+ invalid_properties
191
+ end
192
+
193
+ # Check to see if the all the properties in the model are valid
194
+ # @return true if the model is valid
195
+ def valid?
196
+ return false if @id.nil?
197
+ return false if @version.nil?
198
+ return false if !@name.nil? && @name.to_s.length > 100
199
+ true
200
+ end
201
+
202
+ # Custom attribute writer method with validation
203
+ # @param [Object] name Value to be assigned
204
+ def name=(name)
205
+ if !name.nil? && name.to_s.length > 100
206
+ fail ArgumentError, 'invalid value for "name", the character length must be smaller than or equal to 100.'
207
+ end
208
+
209
+ @name = name
210
+ end
211
+
212
+ # Checks equality by comparing each attribute.
213
+ # @param [Object] Object to be compared
214
+ def ==(o)
215
+ return true if self.equal?(o)
216
+ self.class == o.class &&
217
+ id == o.id &&
218
+ version == o.version &&
219
+ allowed_payment_method_configurations == o.allowed_payment_method_configurations &&
220
+ applied_space_view == o.applied_space_view &&
221
+ available_from == o.available_from &&
222
+ available_until == o.available_until &&
223
+ billing_address_required == o.billing_address_required &&
224
+ currency == o.currency &&
225
+ language == o.language &&
226
+ line_items == o.line_items &&
227
+ maximal_number_of_transactions == o.maximal_number_of_transactions &&
228
+ name == o.name &&
229
+ shipping_address_required == o.shipping_address_required &&
230
+ state == o.state
231
+ end
232
+
233
+ # @see the `==` method
234
+ # @param [Object] Object to be compared
235
+ def eql?(o)
236
+ self == o
237
+ end
238
+
239
+ # Calculates hash code according to all attributes.
240
+ # @return [Fixnum] Hash code
241
+ def hash
242
+ [id, version, allowed_payment_method_configurations, applied_space_view, available_from, available_until, billing_address_required, currency, language, line_items, maximal_number_of_transactions, name, shipping_address_required, state].hash
243
+ end
244
+
245
+ # Builds the object from hash
246
+ # @param [Hash] attributes Model attributes in the form of hash
247
+ # @return [Object] Returns the model itself
248
+ def build_from_hash(attributes)
249
+ return nil unless attributes.is_a?(Hash)
250
+ self.class.swagger_types.each_pair do |key, type|
251
+ if type =~ /\AArray<(.*)>/i
252
+ # check to ensure the input is an array given that the attribute
253
+ # is documented as an array but the input is not
254
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
255
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map{ |v| _deserialize($1, v) } )
256
+ end
257
+ elsif !attributes[self.class.attribute_map[key]].nil?
258
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
259
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
260
+ end
261
+
262
+ self
263
+ end
264
+
265
+ # Deserializes the data based on type
266
+ # @param string type Data type
267
+ # @param string value Value to be deserialized
268
+ # @return [Object] Deserialized data
269
+ def _deserialize(type, value)
270
+ case type.to_sym
271
+ when :DateTime
272
+ DateTime.parse(value)
273
+ when :Date
274
+ Date.parse(value)
275
+ when :String
276
+ value.to_s
277
+ when :Integer
278
+ value.to_i
279
+ when :Float
280
+ value.to_f
281
+ when :BOOLEAN
282
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
283
+ true
284
+ else
285
+ false
286
+ end
287
+ when :Object
288
+ # generic object (usually a Hash), return directly
289
+ value
290
+ when /\AArray<(?<inner_type>.+)>\z/
291
+ inner_type = Regexp.last_match[:inner_type]
292
+ value.map { |v| _deserialize(inner_type, v) }
293
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
294
+ k_type = Regexp.last_match[:k_type]
295
+ v_type = Regexp.last_match[:v_type]
296
+ {}.tap do |hash|
297
+ value.each do |k, v|
298
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
299
+ end
300
+ end
301
+ else # model
302
+ temp_model = Wallee.const_get(type).new
303
+ temp_model.build_from_hash(value)
304
+ end
305
+ end
306
+
307
+ # Returns the string representation of the object
308
+ # @return [String] String presentation of the object
309
+ def to_s
310
+ to_hash.to_s
311
+ end
312
+
313
+ # to_body is an alias to to_hash (backward compatibility)
314
+ # @return [Hash] Returns the object in the form of hash
315
+ def to_body
316
+ to_hash
317
+ end
318
+
319
+ # Returns the object in the form of hash
320
+ # @return [Hash] Returns the object in the form of hash
321
+ def to_hash
322
+ hash = {}
323
+ self.class.attribute_map.each_pair do |attr, param|
324
+ value = self.send(attr)
325
+ next if value.nil?
326
+ hash[param] = _to_hash(value)
327
+ end
328
+ hash
329
+ end
330
+
331
+ # Outputs non-array value in the form of hash
332
+ # For object, use to_hash. Otherwise, just return the value
333
+ # @param [Object] value Any valid value
334
+ # @return [Hash] Returns the value in the form of hash
335
+ def _to_hash(value)
336
+ if value.is_a?(Array)
337
+ value.compact.map{ |v| _to_hash(v) }
338
+ elsif value.is_a?(Hash)
339
+ {}.tap do |hash|
340
+ value.each { |k, v| hash[k] = _to_hash(v) }
341
+ end
342
+ elsif value.respond_to? :to_hash
343
+ value.to_hash
344
+ else
345
+ value
346
+ end
347
+ end
348
+
349
+ end
350
+ end