wallee-ruby-sdk 0.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (297) hide show
  1. checksums.yaml +7 -0
  2. data/Gemfile +8 -0
  3. data/LICENSE +201 -0
  4. data/README.md +64 -0
  5. data/Rakefile +13 -0
  6. data/lib/wallee-ruby-sdk/api_client.rb +404 -0
  7. data/lib/wallee-ruby-sdk/api_error.rb +47 -0
  8. data/lib/wallee-ruby-sdk/configuration.rb +144 -0
  9. data/lib/wallee-ruby-sdk/models/account.rb +298 -0
  10. data/lib/wallee-ruby-sdk/models/account_create.rb +308 -0
  11. data/lib/wallee-ruby-sdk/models/account_state.rb +47 -0
  12. data/lib/wallee-ruby-sdk/models/account_type.rb +44 -0
  13. data/lib/wallee-ruby-sdk/models/account_update.rb +308 -0
  14. data/lib/wallee-ruby-sdk/models/address.rb +388 -0
  15. data/lib/wallee-ruby-sdk/models/address_create.rb +388 -0
  16. data/lib/wallee-ruby-sdk/models/application_user.rb +268 -0
  17. data/lib/wallee-ruby-sdk/models/application_user_create.rb +283 -0
  18. data/lib/wallee-ruby-sdk/models/application_user_create_with_mac_key.rb +278 -0
  19. data/lib/wallee-ruby-sdk/models/application_user_update.rb +278 -0
  20. data/lib/wallee-ruby-sdk/models/attachment_resource.rb +210 -0
  21. data/lib/wallee-ruby-sdk/models/charge.rb +318 -0
  22. data/lib/wallee-ruby-sdk/models/charge_attempt.rb +420 -0
  23. data/lib/wallee-ruby-sdk/models/charge_attempt_environment.rb +43 -0
  24. data/lib/wallee-ruby-sdk/models/charge_attempt_state.rb +44 -0
  25. data/lib/wallee-ruby-sdk/models/charge_flow.rb +270 -0
  26. data/lib/wallee-ruby-sdk/models/charge_flow_level.rb +318 -0
  27. data/lib/wallee-ruby-sdk/models/charge_flow_level_configuration.rb +288 -0
  28. data/lib/wallee-ruby-sdk/models/charge_flow_level_configuration_type.rb +222 -0
  29. data/lib/wallee-ruby-sdk/models/charge_flow_level_state.rb +44 -0
  30. data/lib/wallee-ruby-sdk/models/charge_state.rb +44 -0
  31. data/lib/wallee-ruby-sdk/models/charge_type.rb +44 -0
  32. data/lib/wallee-ruby-sdk/models/client_error.rb +238 -0
  33. data/lib/wallee-ruby-sdk/models/client_error_type.rb +44 -0
  34. data/lib/wallee-ruby-sdk/models/condition.rb +258 -0
  35. data/lib/wallee-ruby-sdk/models/condition_type.rb +222 -0
  36. data/lib/wallee-ruby-sdk/models/connector_invocation.rb +278 -0
  37. data/lib/wallee-ruby-sdk/models/connector_invocation_stage.rb +45 -0
  38. data/lib/wallee-ruby-sdk/models/creation_entity_state.rb +46 -0
  39. data/lib/wallee-ruby-sdk/models/criteria_operator.rb +50 -0
  40. data/lib/wallee-ruby-sdk/models/customers_presence.rb +44 -0
  41. data/lib/wallee-ruby-sdk/models/data_collection_type.rb +43 -0
  42. data/lib/wallee-ruby-sdk/models/database_translated_string.rb +222 -0
  43. data/lib/wallee-ruby-sdk/models/database_translated_string_create.rb +222 -0
  44. data/lib/wallee-ruby-sdk/models/database_translated_string_item.rb +218 -0
  45. data/lib/wallee-ruby-sdk/models/database_translated_string_item_create.rb +223 -0
  46. data/lib/wallee-ruby-sdk/models/delivery_indication.rb +318 -0
  47. data/lib/wallee-ruby-sdk/models/delivery_indication_decision_reason.rb +222 -0
  48. data/lib/wallee-ruby-sdk/models/delivery_indication_state.rb +45 -0
  49. data/lib/wallee-ruby-sdk/models/document_template.rb +278 -0
  50. data/lib/wallee-ruby-sdk/models/document_template_type.rb +242 -0
  51. data/lib/wallee-ruby-sdk/models/email_sender.rb +278 -0
  52. data/lib/wallee-ruby-sdk/models/email_sender_type.rb +232 -0
  53. data/lib/wallee-ruby-sdk/models/email_template.rb +324 -0
  54. data/lib/wallee-ruby-sdk/models/email_template_type.rb +288 -0
  55. data/lib/wallee-ruby-sdk/models/entity_query.rb +240 -0
  56. data/lib/wallee-ruby-sdk/models/entity_query_filter.rb +245 -0
  57. data/lib/wallee-ruby-sdk/models/entity_query_filter_type.rb +44 -0
  58. data/lib/wallee-ruby-sdk/models/entity_query_order_by.rb +208 -0
  59. data/lib/wallee-ruby-sdk/models/entity_query_order_by_type.rb +43 -0
  60. data/lib/wallee-ruby-sdk/models/entity_reference.rb +188 -0
  61. data/lib/wallee-ruby-sdk/models/failure_category.rb +46 -0
  62. data/lib/wallee-ruby-sdk/models/failure_reason.rb +244 -0
  63. data/lib/wallee-ruby-sdk/models/feature.rb +274 -0
  64. data/lib/wallee-ruby-sdk/models/gender.rb +43 -0
  65. data/lib/wallee-ruby-sdk/models/human_user.rb +318 -0
  66. data/lib/wallee-ruby-sdk/models/human_user_create.rb +328 -0
  67. data/lib/wallee-ruby-sdk/models/human_user_update.rb +328 -0
  68. data/lib/wallee-ruby-sdk/models/installment_calculated_plan.rb +242 -0
  69. data/lib/wallee-ruby-sdk/models/installment_calculated_slice.rb +220 -0
  70. data/lib/wallee-ruby-sdk/models/installment_payment.rb +280 -0
  71. data/lib/wallee-ruby-sdk/models/installment_payment_slice.rb +300 -0
  72. data/lib/wallee-ruby-sdk/models/installment_payment_slice_state.rb +48 -0
  73. data/lib/wallee-ruby-sdk/models/installment_payment_state.rb +49 -0
  74. data/lib/wallee-ruby-sdk/models/installment_plan_configuration.rb +362 -0
  75. data/lib/wallee-ruby-sdk/models/installment_plan_slice_configuration.rb +288 -0
  76. data/lib/wallee-ruby-sdk/models/label.rb +238 -0
  77. data/lib/wallee-ruby-sdk/models/label_descriptor.rb +274 -0
  78. data/lib/wallee-ruby-sdk/models/label_descriptor_category.rb +43 -0
  79. data/lib/wallee-ruby-sdk/models/label_descriptor_group.rb +232 -0
  80. data/lib/wallee-ruby-sdk/models/label_descriptor_type.rb +222 -0
  81. data/lib/wallee-ruby-sdk/models/legal_organization_form.rb +242 -0
  82. data/lib/wallee-ruby-sdk/models/line_item.rb +342 -0
  83. data/lib/wallee-ruby-sdk/models/line_item_attribute.rb +208 -0
  84. data/lib/wallee-ruby-sdk/models/line_item_attribute_create.rb +208 -0
  85. data/lib/wallee-ruby-sdk/models/line_item_create.rb +367 -0
  86. data/lib/wallee-ruby-sdk/models/line_item_reduction.rb +218 -0
  87. data/lib/wallee-ruby-sdk/models/line_item_reduction_create.rb +233 -0
  88. data/lib/wallee-ruby-sdk/models/line_item_type.rb +45 -0
  89. data/lib/wallee-ruby-sdk/models/localized_string.rb +218 -0
  90. data/lib/wallee-ruby-sdk/models/manual_task.rb +290 -0
  91. data/lib/wallee-ruby-sdk/models/manual_task_action.rb +230 -0
  92. data/lib/wallee-ruby-sdk/models/manual_task_action_style.rb +44 -0
  93. data/lib/wallee-ruby-sdk/models/manual_task_state.rb +44 -0
  94. data/lib/wallee-ruby-sdk/models/manual_task_type.rb +234 -0
  95. data/lib/wallee-ruby-sdk/models/one_click_payment_mode.rb +44 -0
  96. data/lib/wallee-ruby-sdk/models/payment_connector.rb +306 -0
  97. data/lib/wallee-ruby-sdk/models/payment_connector_configuration.rb +322 -0
  98. data/lib/wallee-ruby-sdk/models/payment_connector_feature.rb +218 -0
  99. data/lib/wallee-ruby-sdk/models/payment_method.rb +256 -0
  100. data/lib/wallee-ruby-sdk/models/payment_method_brand.rb +252 -0
  101. data/lib/wallee-ruby-sdk/models/payment_method_configuration.rb +328 -0
  102. data/lib/wallee-ruby-sdk/models/payment_primary_risk_taker.rb +44 -0
  103. data/lib/wallee-ruby-sdk/models/payment_processor.rb +278 -0
  104. data/lib/wallee-ruby-sdk/models/payment_processor_configuration.rb +258 -0
  105. data/lib/wallee-ruby-sdk/models/permission.rb +286 -0
  106. data/lib/wallee-ruby-sdk/models/persistable_currency_amount.rb +208 -0
  107. data/lib/wallee-ruby-sdk/models/persistable_currency_amount_update.rb +208 -0
  108. data/lib/wallee-ruby-sdk/models/product_fee_type.rb +44 -0
  109. data/lib/wallee-ruby-sdk/models/product_metered_fee.rb +278 -0
  110. data/lib/wallee-ruby-sdk/models/product_metered_fee_update.rb +288 -0
  111. data/lib/wallee-ruby-sdk/models/product_metered_tier_fee.rb +240 -0
  112. data/lib/wallee-ruby-sdk/models/product_metered_tier_fee_update.rb +250 -0
  113. data/lib/wallee-ruby-sdk/models/product_metered_tier_pricing.rb +43 -0
  114. data/lib/wallee-ruby-sdk/models/product_period_fee.rb +280 -0
  115. data/lib/wallee-ruby-sdk/models/product_period_fee_update.rb +290 -0
  116. data/lib/wallee-ruby-sdk/models/product_setup_fee.rb +294 -0
  117. data/lib/wallee-ruby-sdk/models/product_setup_fee_update.rb +304 -0
  118. data/lib/wallee-ruby-sdk/models/refund.rb +450 -0
  119. data/lib/wallee-ruby-sdk/models/refund_create.rb +470 -0
  120. data/lib/wallee-ruby-sdk/models/refund_state.rb +46 -0
  121. data/lib/wallee-ruby-sdk/models/refund_type.rb +45 -0
  122. data/lib/wallee-ruby-sdk/models/rendered_document.rb +230 -0
  123. data/lib/wallee-ruby-sdk/models/resource_path.rb +258 -0
  124. data/lib/wallee-ruby-sdk/models/resource_state.rb +44 -0
  125. data/lib/wallee-ruby-sdk/models/rest_country.rb +240 -0
  126. data/lib/wallee-ruby-sdk/models/rest_country_state.rb +228 -0
  127. data/lib/wallee-ruby-sdk/models/rest_currency.rb +218 -0
  128. data/lib/wallee-ruby-sdk/models/rest_language.rb +248 -0
  129. data/lib/wallee-ruby-sdk/models/scope.rb +302 -0
  130. data/lib/wallee-ruby-sdk/models/server_error.rb +218 -0
  131. data/lib/wallee-ruby-sdk/models/space.rb +330 -0
  132. data/lib/wallee-ruby-sdk/models/space_address.rb +318 -0
  133. data/lib/wallee-ruby-sdk/models/space_address_setter.rb +318 -0
  134. data/lib/wallee-ruby-sdk/models/space_create.rb +350 -0
  135. data/lib/wallee-ruby-sdk/models/space_reference.rb +258 -0
  136. data/lib/wallee-ruby-sdk/models/space_reference_state.rb +46 -0
  137. data/lib/wallee-ruby-sdk/models/space_update.rb +340 -0
  138. data/lib/wallee-ruby-sdk/models/space_view.rb +258 -0
  139. data/lib/wallee-ruby-sdk/models/static_value.rb +234 -0
  140. data/lib/wallee-ruby-sdk/models/subscriber.rb +332 -0
  141. data/lib/wallee-ruby-sdk/models/subscriber_active.rb +342 -0
  142. data/lib/wallee-ruby-sdk/models/subscriber_create.rb +347 -0
  143. data/lib/wallee-ruby-sdk/models/subscriber_update.rb +342 -0
  144. data/lib/wallee-ruby-sdk/models/subscription.rb +338 -0
  145. data/lib/wallee-ruby-sdk/models/subscription_change_request.rb +250 -0
  146. data/lib/wallee-ruby-sdk/models/subscription_charge.rb +390 -0
  147. data/lib/wallee-ruby-sdk/models/subscription_charge_create.rb +405 -0
  148. data/lib/wallee-ruby-sdk/models/subscription_charge_processing_type.rb +43 -0
  149. data/lib/wallee-ruby-sdk/models/subscription_charge_state.rb +46 -0
  150. data/lib/wallee-ruby-sdk/models/subscription_charge_type.rb +43 -0
  151. data/lib/wallee-ruby-sdk/models/subscription_create_request.rb +245 -0
  152. data/lib/wallee-ruby-sdk/models/subscription_ledger_entry.rb +350 -0
  153. data/lib/wallee-ruby-sdk/models/subscription_ledger_entry_create.rb +375 -0
  154. data/lib/wallee-ruby-sdk/models/subscription_ledger_entry_state.rb +44 -0
  155. data/lib/wallee-ruby-sdk/models/subscription_metric.rb +268 -0
  156. data/lib/wallee-ruby-sdk/models/subscription_metric_active.rb +278 -0
  157. data/lib/wallee-ruby-sdk/models/subscription_metric_create.rb +288 -0
  158. data/lib/wallee-ruby-sdk/models/subscription_metric_type.rb +232 -0
  159. data/lib/wallee-ruby-sdk/models/subscription_metric_update.rb +278 -0
  160. data/lib/wallee-ruby-sdk/models/subscription_metric_usage_report.rb +298 -0
  161. data/lib/wallee-ruby-sdk/models/subscription_metric_usage_report_create.rb +318 -0
  162. data/lib/wallee-ruby-sdk/models/subscription_pending.rb +348 -0
  163. data/lib/wallee-ruby-sdk/models/subscription_period_bill.rb +298 -0
  164. data/lib/wallee-ruby-sdk/models/subscription_period_bill_state.rb +43 -0
  165. data/lib/wallee-ruby-sdk/models/subscription_product.rb +300 -0
  166. data/lib/wallee-ruby-sdk/models/subscription_product_active.rb +310 -0
  167. data/lib/wallee-ruby-sdk/models/subscription_product_component.rb +298 -0
  168. data/lib/wallee-ruby-sdk/models/subscription_product_component_group.rb +258 -0
  169. data/lib/wallee-ruby-sdk/models/subscription_product_component_group_update.rb +268 -0
  170. data/lib/wallee-ruby-sdk/models/subscription_product_component_reference.rb +258 -0
  171. data/lib/wallee-ruby-sdk/models/subscription_product_component_reference_state.rb +45 -0
  172. data/lib/wallee-ruby-sdk/models/subscription_product_component_update.rb +308 -0
  173. data/lib/wallee-ruby-sdk/models/subscription_product_create.rb +315 -0
  174. data/lib/wallee-ruby-sdk/models/subscription_product_retirement.rb +258 -0
  175. data/lib/wallee-ruby-sdk/models/subscription_product_retirement_create.rb +263 -0
  176. data/lib/wallee-ruby-sdk/models/subscription_product_state.rb +46 -0
  177. data/lib/wallee-ruby-sdk/models/subscription_product_version.rb +390 -0
  178. data/lib/wallee-ruby-sdk/models/subscription_product_version_pending.rb +310 -0
  179. data/lib/wallee-ruby-sdk/models/subscription_product_version_retirement.rb +258 -0
  180. data/lib/wallee-ruby-sdk/models/subscription_product_version_retirement_create.rb +263 -0
  181. data/lib/wallee-ruby-sdk/models/subscription_product_version_state.rb +46 -0
  182. data/lib/wallee-ruby-sdk/models/subscription_state.rb +48 -0
  183. data/lib/wallee-ruby-sdk/models/subscription_suspension.rb +328 -0
  184. data/lib/wallee-ruby-sdk/models/subscription_suspension_action.rb +43 -0
  185. data/lib/wallee-ruby-sdk/models/subscription_suspension_create.rb +343 -0
  186. data/lib/wallee-ruby-sdk/models/subscription_suspension_reason.rb +44 -0
  187. data/lib/wallee-ruby-sdk/models/subscription_suspension_running.rb +328 -0
  188. data/lib/wallee-ruby-sdk/models/subscription_suspension_state.rb +43 -0
  189. data/lib/wallee-ruby-sdk/models/subscription_update.rb +348 -0
  190. data/lib/wallee-ruby-sdk/models/subscription_version.rb +370 -0
  191. data/lib/wallee-ruby-sdk/models/subscription_version_state.rb +47 -0
  192. data/lib/wallee-ruby-sdk/models/tax.rb +208 -0
  193. data/lib/wallee-ruby-sdk/models/tax_class.rb +258 -0
  194. data/lib/wallee-ruby-sdk/models/tax_create.rb +218 -0
  195. data/lib/wallee-ruby-sdk/models/tenant_database.rb +218 -0
  196. data/lib/wallee-ruby-sdk/models/token.rb +308 -0
  197. data/lib/wallee-ruby-sdk/models/token_create.rb +323 -0
  198. data/lib/wallee-ruby-sdk/models/token_update.rb +318 -0
  199. data/lib/wallee-ruby-sdk/models/token_version.rb +360 -0
  200. data/lib/wallee-ruby-sdk/models/token_version_state.rb +44 -0
  201. data/lib/wallee-ruby-sdk/models/transaction.rb +626 -0
  202. data/lib/wallee-ruby-sdk/models/transaction_aware_entity.rb +218 -0
  203. data/lib/wallee-ruby-sdk/models/transaction_completion.rb +390 -0
  204. data/lib/wallee-ruby-sdk/models/transaction_completion_mode.rb +44 -0
  205. data/lib/wallee-ruby-sdk/models/transaction_completion_state.rb +45 -0
  206. data/lib/wallee-ruby-sdk/models/transaction_create.rb +646 -0
  207. data/lib/wallee-ruby-sdk/models/transaction_group.rb +268 -0
  208. data/lib/wallee-ruby-sdk/models/transaction_group_state.rb +44 -0
  209. data/lib/wallee-ruby-sdk/models/transaction_invoice.rb +380 -0
  210. data/lib/wallee-ruby-sdk/models/transaction_invoice_replacement.rb +250 -0
  211. data/lib/wallee-ruby-sdk/models/transaction_invoice_state.rb +48 -0
  212. data/lib/wallee-ruby-sdk/models/transaction_line_item_update_request.rb +215 -0
  213. data/lib/wallee-ruby-sdk/models/transaction_line_item_version.rb +320 -0
  214. data/lib/wallee-ruby-sdk/models/transaction_pending.rb +636 -0
  215. data/lib/wallee-ruby-sdk/models/transaction_state.rb +51 -0
  216. data/lib/wallee-ruby-sdk/models/transaction_user_interface_type.rb +44 -0
  217. data/lib/wallee-ruby-sdk/models/transaction_void.rb +380 -0
  218. data/lib/wallee-ruby-sdk/models/transaction_void_mode.rb +43 -0
  219. data/lib/wallee-ruby-sdk/models/transaction_void_state.rb +45 -0
  220. data/lib/wallee-ruby-sdk/models/user.rb +248 -0
  221. data/lib/wallee-ruby-sdk/models/user_type.rb +45 -0
  222. data/lib/wallee-ruby-sdk/models/webhook_identity.rb +248 -0
  223. data/lib/wallee-ruby-sdk/models/webhook_listener.rb +300 -0
  224. data/lib/wallee-ruby-sdk/models/webhook_listener_create.rb +330 -0
  225. data/lib/wallee-ruby-sdk/models/webhook_listener_entity.rb +220 -0
  226. data/lib/wallee-ruby-sdk/models/webhook_listener_update.rb +310 -0
  227. data/lib/wallee-ruby-sdk/models/webhook_url.rb +258 -0
  228. data/lib/wallee-ruby-sdk/models/webhook_url_create.rb +273 -0
  229. data/lib/wallee-ruby-sdk/models/webhook_url_update.rb +268 -0
  230. data/lib/wallee-ruby-sdk/services/account_service_api.rb +372 -0
  231. data/lib/wallee-ruby-sdk/services/application_user_service_api.rb +372 -0
  232. data/lib/wallee-ruby-sdk/services/charge_attempt_service_api.rb +217 -0
  233. data/lib/wallee-ruby-sdk/services/charge_flow_level_service_api.rb +280 -0
  234. data/lib/wallee-ruby-sdk/services/charge_flow_service_api.rb +352 -0
  235. data/lib/wallee-ruby-sdk/services/condition_type_service_api.rb +143 -0
  236. data/lib/wallee-ruby-sdk/services/country_service_api.rb +85 -0
  237. data/lib/wallee-ruby-sdk/services/country_state_service_api.rb +143 -0
  238. data/lib/wallee-ruby-sdk/services/currency_service_api.rb +85 -0
  239. data/lib/wallee-ruby-sdk/services/delivery_indication_service_api.rb +341 -0
  240. data/lib/wallee-ruby-sdk/services/document_template_service_api.rb +217 -0
  241. data/lib/wallee-ruby-sdk/services/document_template_type_service_api.rb +143 -0
  242. data/lib/wallee-ruby-sdk/services/email_sender_service_api.rb +219 -0
  243. data/lib/wallee-ruby-sdk/services/email_sender_type_service_api.rb +143 -0
  244. data/lib/wallee-ruby-sdk/services/email_template_service_api.rb +217 -0
  245. data/lib/wallee-ruby-sdk/services/email_template_type_service_api.rb +143 -0
  246. data/lib/wallee-ruby-sdk/services/human_user_service_api.rb +372 -0
  247. data/lib/wallee-ruby-sdk/services/installment_payment_service_api.rb +287 -0
  248. data/lib/wallee-ruby-sdk/services/installment_payment_slice_service_api.rb +219 -0
  249. data/lib/wallee-ruby-sdk/services/installment_plan_calculation_service_api.rb +95 -0
  250. data/lib/wallee-ruby-sdk/services/installment_plan_configuration_service_api.rb +219 -0
  251. data/lib/wallee-ruby-sdk/services/installment_plan_slice_configuration_service_api.rb +219 -0
  252. data/lib/wallee-ruby-sdk/services/label_description_group_service_api.rb +143 -0
  253. data/lib/wallee-ruby-sdk/services/label_description_service_api.rb +143 -0
  254. data/lib/wallee-ruby-sdk/services/language_service_api.rb +85 -0
  255. data/lib/wallee-ruby-sdk/services/manual_task_service_api.rb +217 -0
  256. data/lib/wallee-ruby-sdk/services/payment_connector_configuration_service_api.rb +217 -0
  257. data/lib/wallee-ruby-sdk/services/payment_connector_service_api.rb +143 -0
  258. data/lib/wallee-ruby-sdk/services/payment_method_configuration_service_api.rb +217 -0
  259. data/lib/wallee-ruby-sdk/services/payment_method_service_api.rb +143 -0
  260. data/lib/wallee-ruby-sdk/services/payment_processor_configuration_service_api.rb +217 -0
  261. data/lib/wallee-ruby-sdk/services/payment_processor_service_api.rb +143 -0
  262. data/lib/wallee-ruby-sdk/services/permission_service_api.rb +143 -0
  263. data/lib/wallee-ruby-sdk/services/refund_service_api.rb +468 -0
  264. data/lib/wallee-ruby-sdk/services/space_service_api.rb +372 -0
  265. data/lib/wallee-ruby-sdk/services/static_value_service_api.rb +143 -0
  266. data/lib/wallee-ruby-sdk/services/subscriber_service_api.rb +402 -0
  267. data/lib/wallee-ruby-sdk/services/subscription_charge_service_api.rb +342 -0
  268. data/lib/wallee-ruby-sdk/services/subscription_ledger_entry_service_api.rb +279 -0
  269. data/lib/wallee-ruby-sdk/services/subscription_metric_service_api.rb +402 -0
  270. data/lib/wallee-ruby-sdk/services/subscription_metric_usage_service_api.rb +279 -0
  271. data/lib/wallee-ruby-sdk/services/subscription_period_bill_service_api.rb +217 -0
  272. data/lib/wallee-ruby-sdk/services/subscription_product_component_group_service_api.rb +402 -0
  273. data/lib/wallee-ruby-sdk/services/subscription_product_component_service_api.rb +402 -0
  274. data/lib/wallee-ruby-sdk/services/subscription_product_fee_tier_service_api.rb +402 -0
  275. data/lib/wallee-ruby-sdk/services/subscription_product_metered_fee_service_api.rb +402 -0
  276. data/lib/wallee-ruby-sdk/services/subscription_product_period_fee_service_api.rb +402 -0
  277. data/lib/wallee-ruby-sdk/services/subscription_product_retirement_service_api.rb +279 -0
  278. data/lib/wallee-ruby-sdk/services/subscription_product_service_api.rb +341 -0
  279. data/lib/wallee-ruby-sdk/services/subscription_product_setup_fee_service_api.rb +402 -0
  280. data/lib/wallee-ruby-sdk/services/subscription_product_version_retirement_service_api.rb +279 -0
  281. data/lib/wallee-ruby-sdk/services/subscription_product_version_service_api.rb +404 -0
  282. data/lib/wallee-ruby-sdk/services/subscription_service_api.rb +608 -0
  283. data/lib/wallee-ruby-sdk/services/subscription_suspension_service_api.rb +342 -0
  284. data/lib/wallee-ruby-sdk/services/subscription_version_service_api.rb +217 -0
  285. data/lib/wallee-ruby-sdk/services/token_service_api.rb +402 -0
  286. data/lib/wallee-ruby-sdk/services/token_version_service_api.rb +280 -0
  287. data/lib/wallee-ruby-sdk/services/transaction_completion_service_api.rb +343 -0
  288. data/lib/wallee-ruby-sdk/services/transaction_invoice_service_api.rb +473 -0
  289. data/lib/wallee-ruby-sdk/services/transaction_service_api.rb +1263 -0
  290. data/lib/wallee-ruby-sdk/services/transaction_void_service_api.rb +343 -0
  291. data/lib/wallee-ruby-sdk/services/webhook_listener_service_api.rb +402 -0
  292. data/lib/wallee-ruby-sdk/services/webhook_url_service_api.rb +402 -0
  293. data/lib/wallee-ruby-sdk/version.rb +24 -0
  294. data/lib/wallee-ruby-sdk.rb +332 -0
  295. data/test/transactioncreate.rb +93 -0
  296. data/wallee-ruby-sdk.gemspec +47 -0
  297. metadata +380 -0
@@ -0,0 +1,300 @@
1
+ =begin
2
+ Wallee API: 1.0.0
3
+
4
+ The wallee API allows an easy interaction with the wallee web service.
5
+
6
+
7
+
8
+ Licensed under the Apache License, Version 2.0 (the "License");
9
+ you may not use this file except in compliance with the License.
10
+ You may obtain a copy of the License at
11
+
12
+ http://www.apache.org/licenses/LICENSE-2.0
13
+
14
+ Unless required by applicable law or agreed to in writing, software
15
+ distributed under the License is distributed on an "AS IS" BASIS,
16
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17
+ See the License for the specific language governing permissions and
18
+ limitations under the License.
19
+
20
+ =end
21
+
22
+ require 'date'
23
+
24
+ module Wallee
25
+ # A subscription product represents a product to which a subscriber can subscribe to. A product defines how much the subscription costs and in what cycles the subscribe is charged.
26
+ class SubscriptionProduct
27
+ # The allowed payment method configurations control which payment methods can be used with this product. When none is selected all methods will be allowed.
28
+ attr_accessor :allowed_payment_method_configurations
29
+
30
+ # When a payment fails, the subscription to which the payment belongs to will be suspended. When the suspension is not removed within the specified period the subscription will be terminated. A payment is considered as failed when the subscriber issues a refund or when a subscription charge fails.
31
+ attr_accessor :failed_payment_suspension_period
32
+
33
+ # The ID is the primary key of the entity. The ID identifies the entity uniquely.
34
+ attr_accessor :id
35
+
36
+ # The linked space id holds the ID of the space to which the entity belongs to.
37
+ attr_accessor :linked_space_id
38
+
39
+ # The product name is used internally to identify the configuration in administrative interfaces. For example it is used within search fields and hence it should be distinct and descriptive.
40
+ attr_accessor :name
41
+
42
+ # The planned purge date indicates when the entity is permanently removed. When the date is null the entity is not planned to be removed.
43
+ attr_accessor :planned_purge_date
44
+
45
+ # The product reference identifies the product for external systems. This field may contain the product's SKU.
46
+ attr_accessor :reference
47
+
48
+ # The sort order controls in which order the product is listed. The sort order is used to order the products in ascending order.
49
+ attr_accessor :sort_order
50
+
51
+ #
52
+ attr_accessor :space_id
53
+
54
+ #
55
+ attr_accessor :state
56
+
57
+ # The version number indicates the version of the entity. The version is incremented whenever the entity is changed.
58
+ attr_accessor :version
59
+
60
+
61
+ # Attribute mapping from ruby-style variable name to JSON key.
62
+ def self.attribute_map
63
+ {
64
+ :'allowed_payment_method_configurations' => :'allowedPaymentMethodConfigurations',
65
+ :'failed_payment_suspension_period' => :'failedPaymentSuspensionPeriod',
66
+ :'id' => :'id',
67
+ :'linked_space_id' => :'linkedSpaceId',
68
+ :'name' => :'name',
69
+ :'planned_purge_date' => :'plannedPurgeDate',
70
+ :'reference' => :'reference',
71
+ :'sort_order' => :'sortOrder',
72
+ :'space_id' => :'spaceId',
73
+ :'state' => :'state',
74
+ :'version' => :'version'
75
+ }
76
+ end
77
+
78
+ # Attribute type mapping.
79
+ def self.swagger_types
80
+ {
81
+ :'allowed_payment_method_configurations' => :'Array<Integer>',
82
+ :'failed_payment_suspension_period' => :'String',
83
+ :'id' => :'Integer',
84
+ :'linked_space_id' => :'Integer',
85
+ :'name' => :'String',
86
+ :'planned_purge_date' => :'DateTime',
87
+ :'reference' => :'String',
88
+ :'sort_order' => :'Integer',
89
+ :'space_id' => :'Integer',
90
+ :'state' => :'SubscriptionProductState',
91
+ :'version' => :'Integer'
92
+ }
93
+ end
94
+
95
+ # Initializes the object
96
+ # @param [Hash] attributes Model attributes in the form of hash
97
+ def initialize(attributes = {})
98
+ return unless attributes.is_a?(Hash)
99
+
100
+ # convert string to symbol for hash key
101
+ attributes = attributes.each_with_object({}){|(k,v), h| h[k.to_sym] = v}
102
+
103
+ if attributes.has_key?(:'allowedPaymentMethodConfigurations')
104
+ if (value = attributes[:'allowedPaymentMethodConfigurations']).is_a?(Array)
105
+ self.allowed_payment_method_configurations = value
106
+ end
107
+ end
108
+
109
+ if attributes.has_key?(:'failedPaymentSuspensionPeriod')
110
+ self.failed_payment_suspension_period = attributes[:'failedPaymentSuspensionPeriod']
111
+ end
112
+
113
+ if attributes.has_key?(:'id')
114
+ self.id = attributes[:'id']
115
+ end
116
+
117
+ if attributes.has_key?(:'linkedSpaceId')
118
+ self.linked_space_id = attributes[:'linkedSpaceId']
119
+ end
120
+
121
+ if attributes.has_key?(:'name')
122
+ self.name = attributes[:'name']
123
+ end
124
+
125
+ if attributes.has_key?(:'plannedPurgeDate')
126
+ self.planned_purge_date = attributes[:'plannedPurgeDate']
127
+ end
128
+
129
+ if attributes.has_key?(:'reference')
130
+ self.reference = attributes[:'reference']
131
+ end
132
+
133
+ if attributes.has_key?(:'sortOrder')
134
+ self.sort_order = attributes[:'sortOrder']
135
+ end
136
+
137
+ if attributes.has_key?(:'spaceId')
138
+ self.space_id = attributes[:'spaceId']
139
+ end
140
+
141
+ if attributes.has_key?(:'state')
142
+ self.state = attributes[:'state']
143
+ end
144
+
145
+ if attributes.has_key?(:'version')
146
+ self.version = attributes[:'version']
147
+ end
148
+
149
+ end
150
+
151
+ # Show invalid properties with the reasons. Usually used together with valid?
152
+ # @return Array for valid properies with the reasons
153
+ def list_invalid_properties
154
+ invalid_properties = Array.new
155
+ return invalid_properties
156
+ end
157
+
158
+ # Check to see if the all the properties in the model are valid
159
+ # @return true if the model is valid
160
+ def valid?
161
+ return true
162
+ end
163
+
164
+ # Checks equality by comparing each attribute.
165
+ # @param [Object] Object to be compared
166
+ def ==(o)
167
+ return true if self.equal?(o)
168
+ self.class == o.class &&
169
+ allowed_payment_method_configurations == o.allowed_payment_method_configurations &&
170
+ failed_payment_suspension_period == o.failed_payment_suspension_period &&
171
+ id == o.id &&
172
+ linked_space_id == o.linked_space_id &&
173
+ name == o.name &&
174
+ planned_purge_date == o.planned_purge_date &&
175
+ reference == o.reference &&
176
+ sort_order == o.sort_order &&
177
+ space_id == o.space_id &&
178
+ state == o.state &&
179
+ version == o.version
180
+ end
181
+
182
+ # @see the `==` method
183
+ # @param [Object] Object to be compared
184
+ def eql?(o)
185
+ self == o
186
+ end
187
+
188
+ # Calculates hash code according to all attributes.
189
+ # @return [Fixnum] Hash code
190
+ def hash
191
+ [allowed_payment_method_configurations, failed_payment_suspension_period, id, linked_space_id, name, planned_purge_date, reference, sort_order, space_id, state, version].hash
192
+ end
193
+
194
+ # Builds the object from hash
195
+ # @param [Hash] attributes Model attributes in the form of hash
196
+ # @return [Object] Returns the model itself
197
+ def build_from_hash(attributes)
198
+ return nil unless attributes.is_a?(Hash)
199
+ self.class.swagger_types.each_pair do |key, type|
200
+ if type =~ /\AArray<(.*)>/i
201
+ # check to ensure the input is an array given that the the attribute
202
+ # is documented as an array but the input is not
203
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
204
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map{ |v| _deserialize($1, v) } )
205
+ end
206
+ elsif !attributes[self.class.attribute_map[key]].nil?
207
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
208
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
209
+ end
210
+
211
+ self
212
+ end
213
+
214
+ # Deserializes the data based on type
215
+ # @param string type Data type
216
+ # @param string value Value to be deserialized
217
+ # @return [Object] Deserialized data
218
+ def _deserialize(type, value)
219
+ case type.to_sym
220
+ when :DateTime
221
+ DateTime.parse(value)
222
+ when :Date
223
+ Date.parse(value)
224
+ when :String
225
+ value.to_s
226
+ when :Integer
227
+ value.to_i
228
+ when :Float
229
+ value.to_f
230
+ when :BOOLEAN
231
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
232
+ true
233
+ else
234
+ false
235
+ end
236
+ when :Object
237
+ # generic object (usually a Hash), return directly
238
+ value
239
+ when /\AArray<(?<inner_type>.+)>\z/
240
+ inner_type = Regexp.last_match[:inner_type]
241
+ value.map { |v| _deserialize(inner_type, v) }
242
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
243
+ k_type = Regexp.last_match[:k_type]
244
+ v_type = Regexp.last_match[:v_type]
245
+ {}.tap do |hash|
246
+ value.each do |k, v|
247
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
248
+ end
249
+ end
250
+ else # model
251
+ temp_model = Wallee.const_get(type).new
252
+ temp_model.build_from_hash(value)
253
+ end
254
+ end
255
+
256
+ # Returns the string representation of the object
257
+ # @return [String] String presentation of the object
258
+ def to_s
259
+ to_hash.to_s
260
+ end
261
+
262
+ # to_body is an alias to to_hash (backward compatibility)
263
+ # @return [Hash] Returns the object in the form of hash
264
+ def to_body
265
+ to_hash
266
+ end
267
+
268
+ # Returns the object in the form of hash
269
+ # @return [Hash] Returns the object in the form of hash
270
+ def to_hash
271
+ hash = {}
272
+ self.class.attribute_map.each_pair do |attr, param|
273
+ value = self.send(attr)
274
+ next if value.nil?
275
+ hash[param] = _to_hash(value)
276
+ end
277
+ hash
278
+ end
279
+
280
+ # Outputs non-array value in the form of hash
281
+ # For object, use to_hash. Otherwise, just return the value
282
+ # @param [Object] value Any valid value
283
+ # @return [Hash] Returns the value in the form of hash
284
+ def _to_hash(value)
285
+ if value.is_a?(Array)
286
+ value.compact.map{ |v| _to_hash(v) }
287
+ elsif value.is_a?(Hash)
288
+ {}.tap do |hash|
289
+ value.each { |k, v| hash[k] = _to_hash(v) }
290
+ end
291
+ elsif value.respond_to? :to_hash
292
+ value.to_hash
293
+ else
294
+ value
295
+ end
296
+ end
297
+
298
+ end
299
+
300
+ end
@@ -0,0 +1,310 @@
1
+ =begin
2
+ Wallee API: 1.0.0
3
+
4
+ The wallee API allows an easy interaction with the wallee web service.
5
+
6
+
7
+
8
+ Licensed under the Apache License, Version 2.0 (the "License");
9
+ you may not use this file except in compliance with the License.
10
+ You may obtain a copy of the License at
11
+
12
+ http://www.apache.org/licenses/LICENSE-2.0
13
+
14
+ Unless required by applicable law or agreed to in writing, software
15
+ distributed under the License is distributed on an "AS IS" BASIS,
16
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17
+ See the License for the specific language governing permissions and
18
+ limitations under the License.
19
+
20
+ =end
21
+
22
+ require 'date'
23
+
24
+ module Wallee
25
+ # A subscription product represents a product to which a subscriber can subscribe to. A product defines how much the subscription costs and in what cycles the subscribe is charged.
26
+ class SubscriptionProductActive
27
+ # The allowed payment method configurations control which payment methods can be used with this product. When none is selected all methods will be allowed.
28
+ attr_accessor :allowed_payment_method_configurations
29
+
30
+ # When a payment fails, the subscription to which the payment belongs to will be suspended. When the suspension is not removed within the specified period the subscription will be terminated. A payment is considered as failed when the subscriber issues a refund or when a subscription charge fails.
31
+ attr_accessor :failed_payment_suspension_period
32
+
33
+ # The ID is the primary key of the entity. The ID identifies the entity uniquely.
34
+ attr_accessor :id
35
+
36
+ # The linked space id holds the ID of the space to which the entity belongs to.
37
+ attr_accessor :linked_space_id
38
+
39
+ # The product name is used internally to identify the configuration in administrative interfaces. For example it is used within search fields and hence it should be distinct and descriptive.
40
+ attr_accessor :name
41
+
42
+ # The planned purge date indicates when the entity is permanently removed. When the date is null the entity is not planned to be removed.
43
+ attr_accessor :planned_purge_date
44
+
45
+ # The product reference identifies the product for external systems. This field may contain the product's SKU.
46
+ attr_accessor :reference
47
+
48
+ # The sort order controls in which order the product is listed. The sort order is used to order the products in ascending order.
49
+ attr_accessor :sort_order
50
+
51
+ #
52
+ attr_accessor :space_id
53
+
54
+ #
55
+ attr_accessor :state
56
+
57
+ # The version number indicates the version of the entity. The version is incremented whenever the entity is changed.
58
+ attr_accessor :version
59
+
60
+
61
+ # Attribute mapping from ruby-style variable name to JSON key.
62
+ def self.attribute_map
63
+ {
64
+ :'allowed_payment_method_configurations' => :'allowedPaymentMethodConfigurations',
65
+ :'failed_payment_suspension_period' => :'failedPaymentSuspensionPeriod',
66
+ :'id' => :'id',
67
+ :'linked_space_id' => :'linkedSpaceId',
68
+ :'name' => :'name',
69
+ :'planned_purge_date' => :'plannedPurgeDate',
70
+ :'reference' => :'reference',
71
+ :'sort_order' => :'sortOrder',
72
+ :'space_id' => :'spaceId',
73
+ :'state' => :'state',
74
+ :'version' => :'version'
75
+ }
76
+ end
77
+
78
+ # Attribute type mapping.
79
+ def self.swagger_types
80
+ {
81
+ :'allowed_payment_method_configurations' => :'Array<Integer>',
82
+ :'failed_payment_suspension_period' => :'String',
83
+ :'id' => :'Integer',
84
+ :'linked_space_id' => :'Integer',
85
+ :'name' => :'String',
86
+ :'planned_purge_date' => :'DateTime',
87
+ :'reference' => :'String',
88
+ :'sort_order' => :'Integer',
89
+ :'space_id' => :'Integer',
90
+ :'state' => :'SubscriptionProductState',
91
+ :'version' => :'Integer'
92
+ }
93
+ end
94
+
95
+ # Initializes the object
96
+ # @param [Hash] attributes Model attributes in the form of hash
97
+ def initialize(attributes = {})
98
+ return unless attributes.is_a?(Hash)
99
+
100
+ # convert string to symbol for hash key
101
+ attributes = attributes.each_with_object({}){|(k,v), h| h[k.to_sym] = v}
102
+
103
+ if attributes.has_key?(:'allowedPaymentMethodConfigurations')
104
+ if (value = attributes[:'allowedPaymentMethodConfigurations']).is_a?(Array)
105
+ self.allowed_payment_method_configurations = value
106
+ end
107
+ end
108
+
109
+ if attributes.has_key?(:'failedPaymentSuspensionPeriod')
110
+ self.failed_payment_suspension_period = attributes[:'failedPaymentSuspensionPeriod']
111
+ end
112
+
113
+ if attributes.has_key?(:'id')
114
+ self.id = attributes[:'id']
115
+ end
116
+
117
+ if attributes.has_key?(:'linkedSpaceId')
118
+ self.linked_space_id = attributes[:'linkedSpaceId']
119
+ end
120
+
121
+ if attributes.has_key?(:'name')
122
+ self.name = attributes[:'name']
123
+ end
124
+
125
+ if attributes.has_key?(:'plannedPurgeDate')
126
+ self.planned_purge_date = attributes[:'plannedPurgeDate']
127
+ end
128
+
129
+ if attributes.has_key?(:'reference')
130
+ self.reference = attributes[:'reference']
131
+ end
132
+
133
+ if attributes.has_key?(:'sortOrder')
134
+ self.sort_order = attributes[:'sortOrder']
135
+ end
136
+
137
+ if attributes.has_key?(:'spaceId')
138
+ self.space_id = attributes[:'spaceId']
139
+ end
140
+
141
+ if attributes.has_key?(:'state')
142
+ self.state = attributes[:'state']
143
+ end
144
+
145
+ if attributes.has_key?(:'version')
146
+ self.version = attributes[:'version']
147
+ end
148
+
149
+ end
150
+
151
+ # Show invalid properties with the reasons. Usually used together with valid?
152
+ # @return Array for valid properies with the reasons
153
+ def list_invalid_properties
154
+ invalid_properties = Array.new
155
+ if @id.nil?
156
+ invalid_properties.push("invalid value for 'id', id cannot be nil.")
157
+ end
158
+
159
+ if @version.nil?
160
+ invalid_properties.push("invalid value for 'version', version cannot be nil.")
161
+ end
162
+
163
+ return invalid_properties
164
+ end
165
+
166
+ # Check to see if the all the properties in the model are valid
167
+ # @return true if the model is valid
168
+ def valid?
169
+ return false if @id.nil?
170
+ return false if @version.nil?
171
+ return true
172
+ end
173
+
174
+ # Checks equality by comparing each attribute.
175
+ # @param [Object] Object to be compared
176
+ def ==(o)
177
+ return true if self.equal?(o)
178
+ self.class == o.class &&
179
+ allowed_payment_method_configurations == o.allowed_payment_method_configurations &&
180
+ failed_payment_suspension_period == o.failed_payment_suspension_period &&
181
+ id == o.id &&
182
+ linked_space_id == o.linked_space_id &&
183
+ name == o.name &&
184
+ planned_purge_date == o.planned_purge_date &&
185
+ reference == o.reference &&
186
+ sort_order == o.sort_order &&
187
+ space_id == o.space_id &&
188
+ state == o.state &&
189
+ version == o.version
190
+ end
191
+
192
+ # @see the `==` method
193
+ # @param [Object] Object to be compared
194
+ def eql?(o)
195
+ self == o
196
+ end
197
+
198
+ # Calculates hash code according to all attributes.
199
+ # @return [Fixnum] Hash code
200
+ def hash
201
+ [allowed_payment_method_configurations, failed_payment_suspension_period, id, linked_space_id, name, planned_purge_date, reference, sort_order, space_id, state, version].hash
202
+ end
203
+
204
+ # Builds the object from hash
205
+ # @param [Hash] attributes Model attributes in the form of hash
206
+ # @return [Object] Returns the model itself
207
+ def build_from_hash(attributes)
208
+ return nil unless attributes.is_a?(Hash)
209
+ self.class.swagger_types.each_pair do |key, type|
210
+ if type =~ /\AArray<(.*)>/i
211
+ # check to ensure the input is an array given that the the attribute
212
+ # is documented as an array but the input is not
213
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
214
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map{ |v| _deserialize($1, v) } )
215
+ end
216
+ elsif !attributes[self.class.attribute_map[key]].nil?
217
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
218
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
219
+ end
220
+
221
+ self
222
+ end
223
+
224
+ # Deserializes the data based on type
225
+ # @param string type Data type
226
+ # @param string value Value to be deserialized
227
+ # @return [Object] Deserialized data
228
+ def _deserialize(type, value)
229
+ case type.to_sym
230
+ when :DateTime
231
+ DateTime.parse(value)
232
+ when :Date
233
+ Date.parse(value)
234
+ when :String
235
+ value.to_s
236
+ when :Integer
237
+ value.to_i
238
+ when :Float
239
+ value.to_f
240
+ when :BOOLEAN
241
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
242
+ true
243
+ else
244
+ false
245
+ end
246
+ when :Object
247
+ # generic object (usually a Hash), return directly
248
+ value
249
+ when /\AArray<(?<inner_type>.+)>\z/
250
+ inner_type = Regexp.last_match[:inner_type]
251
+ value.map { |v| _deserialize(inner_type, v) }
252
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
253
+ k_type = Regexp.last_match[:k_type]
254
+ v_type = Regexp.last_match[:v_type]
255
+ {}.tap do |hash|
256
+ value.each do |k, v|
257
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
258
+ end
259
+ end
260
+ else # model
261
+ temp_model = Wallee.const_get(type).new
262
+ temp_model.build_from_hash(value)
263
+ end
264
+ end
265
+
266
+ # Returns the string representation of the object
267
+ # @return [String] String presentation of the object
268
+ def to_s
269
+ to_hash.to_s
270
+ end
271
+
272
+ # to_body is an alias to to_hash (backward compatibility)
273
+ # @return [Hash] Returns the object in the form of hash
274
+ def to_body
275
+ to_hash
276
+ end
277
+
278
+ # Returns the object in the form of hash
279
+ # @return [Hash] Returns the object in the form of hash
280
+ def to_hash
281
+ hash = {}
282
+ self.class.attribute_map.each_pair do |attr, param|
283
+ value = self.send(attr)
284
+ next if value.nil?
285
+ hash[param] = _to_hash(value)
286
+ end
287
+ hash
288
+ end
289
+
290
+ # Outputs non-array value in the form of hash
291
+ # For object, use to_hash. Otherwise, just return the value
292
+ # @param [Object] value Any valid value
293
+ # @return [Hash] Returns the value in the form of hash
294
+ def _to_hash(value)
295
+ if value.is_a?(Array)
296
+ value.compact.map{ |v| _to_hash(v) }
297
+ elsif value.is_a?(Hash)
298
+ {}.tap do |hash|
299
+ value.each { |k, v| hash[k] = _to_hash(v) }
300
+ end
301
+ elsif value.respond_to? :to_hash
302
+ value.to_hash
303
+ else
304
+ value
305
+ end
306
+ end
307
+
308
+ end
309
+
310
+ end