wallee-ruby-sdk 1.0.1 → 2.2.4

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 (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