postfinancecheckout-ruby-sdk 3.0.2

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 (364) hide show
  1. checksums.yaml +7 -0
  2. data/Gemfile +8 -0
  3. data/LICENSE +201 -0
  4. data/README.md +137 -0
  5. data/Rakefile +13 -0
  6. data/lib/.DS_Store +0 -0
  7. data/lib/postfinancecheckout-ruby-sdk.rb +392 -0
  8. data/lib/postfinancecheckout-ruby-sdk/api/account_service_api.rb +368 -0
  9. data/lib/postfinancecheckout-ruby-sdk/api/application_user_service_api.rb +368 -0
  10. data/lib/postfinancecheckout-ruby-sdk/api/bank_account_service_api.rb +213 -0
  11. data/lib/postfinancecheckout-ruby-sdk/api/bank_transaction_service_api.rb +213 -0
  12. data/lib/postfinancecheckout-ruby-sdk/api/charge_attempt_service_api.rb +213 -0
  13. data/lib/postfinancecheckout-ruby-sdk/api/charge_bank_transaction_service_api.rb +213 -0
  14. data/lib/postfinancecheckout-ruby-sdk/api/charge_flow_level_payment_link_service_api.rb +213 -0
  15. data/lib/postfinancecheckout-ruby-sdk/api/charge_flow_level_service_api.rb +276 -0
  16. data/lib/postfinancecheckout-ruby-sdk/api/charge_flow_service_api.rb +348 -0
  17. data/lib/postfinancecheckout-ruby-sdk/api/condition_type_service_api.rb +139 -0
  18. data/lib/postfinancecheckout-ruby-sdk/api/country_service_api.rb +81 -0
  19. data/lib/postfinancecheckout-ruby-sdk/api/country_state_service_api.rb +139 -0
  20. data/lib/postfinancecheckout-ruby-sdk/api/currency_bank_account_service_api.rb +213 -0
  21. data/lib/postfinancecheckout-ruby-sdk/api/currency_service_api.rb +81 -0
  22. data/lib/postfinancecheckout-ruby-sdk/api/customer_address_service_api.rb +460 -0
  23. data/lib/postfinancecheckout-ruby-sdk/api/customer_comment_service_api.rb +522 -0
  24. data/lib/postfinancecheckout-ruby-sdk/api/customer_service_api.rb +398 -0
  25. data/lib/postfinancecheckout-ruby-sdk/api/delivery_indication_service_api.rb +337 -0
  26. data/lib/postfinancecheckout-ruby-sdk/api/document_template_service_api.rb +213 -0
  27. data/lib/postfinancecheckout-ruby-sdk/api/document_template_type_service_api.rb +139 -0
  28. data/lib/postfinancecheckout-ruby-sdk/api/external_transfer_bank_transaction_service_api.rb +213 -0
  29. data/lib/postfinancecheckout-ruby-sdk/api/human_user_service_api.rb +425 -0
  30. data/lib/postfinancecheckout-ruby-sdk/api/internal_transfer_bank_transaction_service_api.rb +213 -0
  31. data/lib/postfinancecheckout-ruby-sdk/api/label_description_group_service_api.rb +139 -0
  32. data/lib/postfinancecheckout-ruby-sdk/api/label_description_service_api.rb +139 -0
  33. data/lib/postfinancecheckout-ruby-sdk/api/language_service_api.rb +81 -0
  34. data/lib/postfinancecheckout-ruby-sdk/api/legal_organization_form_service_api.rb +197 -0
  35. data/lib/postfinancecheckout-ruby-sdk/api/manual_task_service_api.rb +213 -0
  36. data/lib/postfinancecheckout-ruby-sdk/api/payment_connector_configuration_service_api.rb +213 -0
  37. data/lib/postfinancecheckout-ruby-sdk/api/payment_connector_service_api.rb +139 -0
  38. data/lib/postfinancecheckout-ruby-sdk/api/payment_link_service_api.rb +398 -0
  39. data/lib/postfinancecheckout-ruby-sdk/api/payment_method_brand_service_api.rb +139 -0
  40. data/lib/postfinancecheckout-ruby-sdk/api/payment_method_configuration_service_api.rb +213 -0
  41. data/lib/postfinancecheckout-ruby-sdk/api/payment_method_service_api.rb +139 -0
  42. data/lib/postfinancecheckout-ruby-sdk/api/payment_processor_configuration_service_api.rb +213 -0
  43. data/lib/postfinancecheckout-ruby-sdk/api/payment_processor_service_api.rb +139 -0
  44. data/lib/postfinancecheckout-ruby-sdk/api/payment_terminal_service_api.rb +213 -0
  45. data/lib/postfinancecheckout-ruby-sdk/api/payment_terminal_till_service_api.rb +170 -0
  46. data/lib/postfinancecheckout-ruby-sdk/api/permission_service_api.rb +139 -0
  47. data/lib/postfinancecheckout-ruby-sdk/api/refund_bank_transaction_service_api.rb +213 -0
  48. data/lib/postfinancecheckout-ruby-sdk/api/refund_comment_service_api.rb +464 -0
  49. data/lib/postfinancecheckout-ruby-sdk/api/refund_recovery_bank_transaction_service_api.rb +213 -0
  50. data/lib/postfinancecheckout-ruby-sdk/api/refund_service_api.rb +532 -0
  51. data/lib/postfinancecheckout-ruby-sdk/api/shopify_recurring_order_service_api.rb +274 -0
  52. data/lib/postfinancecheckout-ruby-sdk/api/shopify_subscriber_service_api.rb +275 -0
  53. data/lib/postfinancecheckout-ruby-sdk/api/shopify_subscription_product_service_api.rb +337 -0
  54. data/lib/postfinancecheckout-ruby-sdk/api/shopify_subscription_service_api.rb +466 -0
  55. data/lib/postfinancecheckout-ruby-sdk/api/shopify_subscription_suspension_service_api.rb +337 -0
  56. data/lib/postfinancecheckout-ruby-sdk/api/shopify_subscription_version_service_api.rb +213 -0
  57. data/lib/postfinancecheckout-ruby-sdk/api/shopify_transaction_service_api.rb +213 -0
  58. data/lib/postfinancecheckout-ruby-sdk/api/space_service_api.rb +368 -0
  59. data/lib/postfinancecheckout-ruby-sdk/api/static_value_service_api.rb +139 -0
  60. data/lib/postfinancecheckout-ruby-sdk/api/token_service_api.rb +650 -0
  61. data/lib/postfinancecheckout-ruby-sdk/api/token_version_service_api.rb +276 -0
  62. data/lib/postfinancecheckout-ruby-sdk/api/transaction_comment_service_api.rb +464 -0
  63. data/lib/postfinancecheckout-ruby-sdk/api/transaction_completion_service_api.rb +463 -0
  64. data/lib/postfinancecheckout-ruby-sdk/api/transaction_iframe_service_api.rb +91 -0
  65. data/lib/postfinancecheckout-ruby-sdk/api/transaction_invoice_comment_service_api.rb +464 -0
  66. data/lib/postfinancecheckout-ruby-sdk/api/transaction_invoice_service_api.rb +600 -0
  67. data/lib/postfinancecheckout-ruby-sdk/api/transaction_lightbox_service_api.rb +91 -0
  68. data/lib/postfinancecheckout-ruby-sdk/api/transaction_mobile_sdk_service_api.rb +86 -0
  69. data/lib/postfinancecheckout-ruby-sdk/api/transaction_payment_page_service_api.rb +91 -0
  70. data/lib/postfinancecheckout-ruby-sdk/api/transaction_service_api.rb +1210 -0
  71. data/lib/postfinancecheckout-ruby-sdk/api/transaction_terminal_service_api.rb +161 -0
  72. data/lib/postfinancecheckout-ruby-sdk/api/transaction_void_service_api.rb +339 -0
  73. data/lib/postfinancecheckout-ruby-sdk/api/user_account_role_service_api.rb +219 -0
  74. data/lib/postfinancecheckout-ruby-sdk/api/user_space_role_service_api.rb +216 -0
  75. data/lib/postfinancecheckout-ruby-sdk/api/webhook_listener_service_api.rb +398 -0
  76. data/lib/postfinancecheckout-ruby-sdk/api/webhook_url_service_api.rb +398 -0
  77. data/lib/postfinancecheckout-ruby-sdk/api_client.rb +405 -0
  78. data/lib/postfinancecheckout-ruby-sdk/api_error.rb +43 -0
  79. data/lib/postfinancecheckout-ruby-sdk/configuration.rb +140 -0
  80. data/lib/postfinancecheckout-ruby-sdk/models/abstract_account_update.rb +234 -0
  81. data/lib/postfinancecheckout-ruby-sdk/models/abstract_application_user_update.rb +225 -0
  82. data/lib/postfinancecheckout-ruby-sdk/models/abstract_customer_active.rb +312 -0
  83. data/lib/postfinancecheckout-ruby-sdk/models/abstract_customer_address_active.rb +200 -0
  84. data/lib/postfinancecheckout-ruby-sdk/models/abstract_customer_comment_active.rb +205 -0
  85. data/lib/postfinancecheckout-ruby-sdk/models/abstract_human_user_update.rb +320 -0
  86. data/lib/postfinancecheckout-ruby-sdk/models/abstract_payment_link_update.rb +309 -0
  87. data/lib/postfinancecheckout-ruby-sdk/models/abstract_refund_comment_active.rb +205 -0
  88. data/lib/postfinancecheckout-ruby-sdk/models/abstract_shopify_subscription_product_update.rb +320 -0
  89. data/lib/postfinancecheckout-ruby-sdk/models/abstract_space_update.rb +286 -0
  90. data/lib/postfinancecheckout-ruby-sdk/models/abstract_token_update.rb +270 -0
  91. data/lib/postfinancecheckout-ruby-sdk/models/abstract_transaction_comment_active.rb +205 -0
  92. data/lib/postfinancecheckout-ruby-sdk/models/abstract_transaction_invoice_comment_active.rb +205 -0
  93. data/lib/postfinancecheckout-ruby-sdk/models/abstract_transaction_pending.rb +486 -0
  94. data/lib/postfinancecheckout-ruby-sdk/models/abstract_webhook_listener_update.rb +237 -0
  95. data/lib/postfinancecheckout-ruby-sdk/models/abstract_webhook_url_update.rb +249 -0
  96. data/lib/postfinancecheckout-ruby-sdk/models/account.rb +375 -0
  97. data/lib/postfinancecheckout-ruby-sdk/models/account_create.rb +260 -0
  98. data/lib/postfinancecheckout-ruby-sdk/models/account_state.rb +39 -0
  99. data/lib/postfinancecheckout-ruby-sdk/models/account_type.rb +36 -0
  100. data/lib/postfinancecheckout-ruby-sdk/models/account_update.rb +265 -0
  101. data/lib/postfinancecheckout-ruby-sdk/models/address.rb +606 -0
  102. data/lib/postfinancecheckout-ruby-sdk/models/address_create.rb +606 -0
  103. data/lib/postfinancecheckout-ruby-sdk/models/application_user.rb +286 -0
  104. data/lib/postfinancecheckout-ruby-sdk/models/application_user_create.rb +241 -0
  105. data/lib/postfinancecheckout-ruby-sdk/models/application_user_create_with_mac_key.rb +296 -0
  106. data/lib/postfinancecheckout-ruby-sdk/models/application_user_update.rb +256 -0
  107. data/lib/postfinancecheckout-ruby-sdk/models/bank_account.rb +291 -0
  108. data/lib/postfinancecheckout-ruby-sdk/models/bank_account_environment.rb +35 -0
  109. data/lib/postfinancecheckout-ruby-sdk/models/bank_account_state.rb +37 -0
  110. data/lib/postfinancecheckout-ruby-sdk/models/bank_account_type.rb +227 -0
  111. data/lib/postfinancecheckout-ruby-sdk/models/bank_transaction.rb +387 -0
  112. data/lib/postfinancecheckout-ruby-sdk/models/bank_transaction_flow_direction.rb +35 -0
  113. data/lib/postfinancecheckout-ruby-sdk/models/bank_transaction_source.rb +215 -0
  114. data/lib/postfinancecheckout-ruby-sdk/models/bank_transaction_state.rb +35 -0
  115. data/lib/postfinancecheckout-ruby-sdk/models/bank_transaction_type.rb +215 -0
  116. data/lib/postfinancecheckout-ruby-sdk/models/charge.rb +331 -0
  117. data/lib/postfinancecheckout-ruby-sdk/models/charge_attempt.rb +468 -0
  118. data/lib/postfinancecheckout-ruby-sdk/models/charge_attempt_environment.rb +35 -0
  119. data/lib/postfinancecheckout-ruby-sdk/models/charge_attempt_state.rb +36 -0
  120. data/lib/postfinancecheckout-ruby-sdk/models/charge_bank_transaction.rb +291 -0
  121. data/lib/postfinancecheckout-ruby-sdk/models/charge_flow.rb +263 -0
  122. data/lib/postfinancecheckout-ruby-sdk/models/charge_flow_level.rb +311 -0
  123. data/lib/postfinancecheckout-ruby-sdk/models/charge_flow_level_configuration.rb +296 -0
  124. data/lib/postfinancecheckout-ruby-sdk/models/charge_flow_level_configuration_type.rb +227 -0
  125. data/lib/postfinancecheckout-ruby-sdk/models/charge_flow_level_payment_link.rb +231 -0
  126. data/lib/postfinancecheckout-ruby-sdk/models/charge_flow_level_state.rb +36 -0
  127. data/lib/postfinancecheckout-ruby-sdk/models/charge_state.rb +36 -0
  128. data/lib/postfinancecheckout-ruby-sdk/models/charge_type.rb +37 -0
  129. data/lib/postfinancecheckout-ruby-sdk/models/client_error.rb +231 -0
  130. data/lib/postfinancecheckout-ruby-sdk/models/client_error_type.rb +36 -0
  131. data/lib/postfinancecheckout-ruby-sdk/models/completion_line_item.rb +226 -0
  132. data/lib/postfinancecheckout-ruby-sdk/models/completion_line_item_create.rb +245 -0
  133. data/lib/postfinancecheckout-ruby-sdk/models/condition.rb +266 -0
  134. data/lib/postfinancecheckout-ruby-sdk/models/condition_type.rb +215 -0
  135. data/lib/postfinancecheckout-ruby-sdk/models/connector_invocation.rb +271 -0
  136. data/lib/postfinancecheckout-ruby-sdk/models/connector_invocation_stage.rb +37 -0
  137. data/lib/postfinancecheckout-ruby-sdk/models/creation_entity_state.rb +38 -0
  138. data/lib/postfinancecheckout-ruby-sdk/models/criteria_operator.rb +45 -0
  139. data/lib/postfinancecheckout-ruby-sdk/models/currency_bank_account.rb +241 -0
  140. data/lib/postfinancecheckout-ruby-sdk/models/customer.rb +353 -0
  141. data/lib/postfinancecheckout-ruby-sdk/models/customer_active.rb +343 -0
  142. data/lib/postfinancecheckout-ruby-sdk/models/customer_address.rb +261 -0
  143. data/lib/postfinancecheckout-ruby-sdk/models/customer_address_active.rb +231 -0
  144. data/lib/postfinancecheckout-ruby-sdk/models/customer_address_create.rb +216 -0
  145. data/lib/postfinancecheckout-ruby-sdk/models/customer_address_type.rb +36 -0
  146. data/lib/postfinancecheckout-ruby-sdk/models/customer_comment.rb +296 -0
  147. data/lib/postfinancecheckout-ruby-sdk/models/customer_comment_active.rb +236 -0
  148. data/lib/postfinancecheckout-ruby-sdk/models/customer_comment_create.rb +221 -0
  149. data/lib/postfinancecheckout-ruby-sdk/models/customer_create.rb +313 -0
  150. data/lib/postfinancecheckout-ruby-sdk/models/customer_postal_address.rb +606 -0
  151. data/lib/postfinancecheckout-ruby-sdk/models/customer_postal_address_create.rb +606 -0
  152. data/lib/postfinancecheckout-ruby-sdk/models/customers_presence.rb +36 -0
  153. data/lib/postfinancecheckout-ruby-sdk/models/data_collection_type.rb +35 -0
  154. data/lib/postfinancecheckout-ruby-sdk/models/database_translated_string.rb +215 -0
  155. data/lib/postfinancecheckout-ruby-sdk/models/database_translated_string_item.rb +226 -0
  156. data/lib/postfinancecheckout-ruby-sdk/models/delivery_indication.rb +321 -0
  157. data/lib/postfinancecheckout-ruby-sdk/models/delivery_indication_decision_reason.rb +215 -0
  158. data/lib/postfinancecheckout-ruby-sdk/models/delivery_indication_state.rb +37 -0
  159. data/lib/postfinancecheckout-ruby-sdk/models/document_template.rb +306 -0
  160. data/lib/postfinancecheckout-ruby-sdk/models/document_template_type.rb +235 -0
  161. data/lib/postfinancecheckout-ruby-sdk/models/document_template_type_group.rb +203 -0
  162. data/lib/postfinancecheckout-ruby-sdk/models/entity_export_request.rb +208 -0
  163. data/lib/postfinancecheckout-ruby-sdk/models/entity_query.rb +233 -0
  164. data/lib/postfinancecheckout-ruby-sdk/models/entity_query_filter.rb +238 -0
  165. data/lib/postfinancecheckout-ruby-sdk/models/entity_query_filter_type.rb +36 -0
  166. data/lib/postfinancecheckout-ruby-sdk/models/entity_query_order_by.rb +211 -0
  167. data/lib/postfinancecheckout-ruby-sdk/models/entity_query_order_by_type.rb +35 -0
  168. data/lib/postfinancecheckout-ruby-sdk/models/environment.rb +35 -0
  169. data/lib/postfinancecheckout-ruby-sdk/models/external_transfer_bank_transaction.rb +251 -0
  170. data/lib/postfinancecheckout-ruby-sdk/models/failure_category.rb +38 -0
  171. data/lib/postfinancecheckout-ruby-sdk/models/failure_reason.rb +237 -0
  172. data/lib/postfinancecheckout-ruby-sdk/models/feature.rb +277 -0
  173. data/lib/postfinancecheckout-ruby-sdk/models/feature_category.rb +225 -0
  174. data/lib/postfinancecheckout-ruby-sdk/models/gender.rb +35 -0
  175. data/lib/postfinancecheckout-ruby-sdk/models/human_user.rb +361 -0
  176. data/lib/postfinancecheckout-ruby-sdk/models/human_user_create.rb +331 -0
  177. data/lib/postfinancecheckout-ruby-sdk/models/human_user_update.rb +351 -0
  178. data/lib/postfinancecheckout-ruby-sdk/models/internal_transfer_bank_transaction.rb +231 -0
  179. data/lib/postfinancecheckout-ruby-sdk/models/label.rb +231 -0
  180. data/lib/postfinancecheckout-ruby-sdk/models/label_descriptor.rb +267 -0
  181. data/lib/postfinancecheckout-ruby-sdk/models/label_descriptor_category.rb +35 -0
  182. data/lib/postfinancecheckout-ruby-sdk/models/label_descriptor_group.rb +225 -0
  183. data/lib/postfinancecheckout-ruby-sdk/models/label_descriptor_type.rb +215 -0
  184. data/lib/postfinancecheckout-ruby-sdk/models/legal_organization_form.rb +235 -0
  185. data/lib/postfinancecheckout-ruby-sdk/models/line_item.rb +449 -0
  186. data/lib/postfinancecheckout-ruby-sdk/models/line_item_attribute.rb +231 -0
  187. data/lib/postfinancecheckout-ruby-sdk/models/line_item_attribute_create.rb +249 -0
  188. data/lib/postfinancecheckout-ruby-sdk/models/line_item_create.rb +372 -0
  189. data/lib/postfinancecheckout-ruby-sdk/models/line_item_reduction.rb +226 -0
  190. data/lib/postfinancecheckout-ruby-sdk/models/line_item_reduction_create.rb +245 -0
  191. data/lib/postfinancecheckout-ruby-sdk/models/line_item_type.rb +37 -0
  192. data/lib/postfinancecheckout-ruby-sdk/models/localized_string.rb +211 -0
  193. data/lib/postfinancecheckout-ruby-sdk/models/manual_task.rb +283 -0
  194. data/lib/postfinancecheckout-ruby-sdk/models/manual_task_action.rb +223 -0
  195. data/lib/postfinancecheckout-ruby-sdk/models/manual_task_action_style.rb +36 -0
  196. data/lib/postfinancecheckout-ruby-sdk/models/manual_task_state.rb +36 -0
  197. data/lib/postfinancecheckout-ruby-sdk/models/manual_task_type.rb +227 -0
  198. data/lib/postfinancecheckout-ruby-sdk/models/one_click_payment_mode.rb +36 -0
  199. data/lib/postfinancecheckout-ruby-sdk/models/payment_adjustment.rb +231 -0
  200. data/lib/postfinancecheckout-ruby-sdk/models/payment_adjustment_type.rb +215 -0
  201. data/lib/postfinancecheckout-ruby-sdk/models/payment_connector.rb +321 -0
  202. data/lib/postfinancecheckout-ruby-sdk/models/payment_connector_configuration.rb +342 -0
  203. data/lib/postfinancecheckout-ruby-sdk/models/payment_connector_feature.rb +211 -0
  204. data/lib/postfinancecheckout-ruby-sdk/models/payment_contract.rb +331 -0
  205. data/lib/postfinancecheckout-ruby-sdk/models/payment_contract_state.rb +38 -0
  206. data/lib/postfinancecheckout-ruby-sdk/models/payment_contract_type.rb +225 -0
  207. data/lib/postfinancecheckout-ruby-sdk/models/payment_information_hash.rb +211 -0
  208. data/lib/postfinancecheckout-ruby-sdk/models/payment_information_hash_type.rb +203 -0
  209. data/lib/postfinancecheckout-ruby-sdk/models/payment_link.rb +390 -0
  210. data/lib/postfinancecheckout-ruby-sdk/models/payment_link_active.rb +350 -0
  211. data/lib/postfinancecheckout-ruby-sdk/models/payment_link_address_handling_mode.rb +36 -0
  212. data/lib/postfinancecheckout-ruby-sdk/models/payment_link_create.rb +345 -0
  213. data/lib/postfinancecheckout-ruby-sdk/models/payment_link_protection_mode.rb +35 -0
  214. data/lib/postfinancecheckout-ruby-sdk/models/payment_link_update.rb +340 -0
  215. data/lib/postfinancecheckout-ruby-sdk/models/payment_method.rb +261 -0
  216. data/lib/postfinancecheckout-ruby-sdk/models/payment_method_brand.rb +245 -0
  217. data/lib/postfinancecheckout-ruby-sdk/models/payment_method_configuration.rb +370 -0
  218. data/lib/postfinancecheckout-ruby-sdk/models/payment_primary_risk_taker.rb +36 -0
  219. data/lib/postfinancecheckout-ruby-sdk/models/payment_processor.rb +271 -0
  220. data/lib/postfinancecheckout-ruby-sdk/models/payment_processor_configuration.rb +276 -0
  221. data/lib/postfinancecheckout-ruby-sdk/models/payment_terminal.rb +306 -0
  222. data/lib/postfinancecheckout-ruby-sdk/models/payment_terminal_address.rb +396 -0
  223. data/lib/postfinancecheckout-ruby-sdk/models/payment_terminal_configuration.rb +266 -0
  224. data/lib/postfinancecheckout-ruby-sdk/models/payment_terminal_configuration_state.rb +37 -0
  225. data/lib/postfinancecheckout-ruby-sdk/models/payment_terminal_configuration_version.rb +323 -0
  226. data/lib/postfinancecheckout-ruby-sdk/models/payment_terminal_configuration_version_state.rb +38 -0
  227. data/lib/postfinancecheckout-ruby-sdk/models/payment_terminal_location.rb +266 -0
  228. data/lib/postfinancecheckout-ruby-sdk/models/payment_terminal_location_state.rb +37 -0
  229. data/lib/postfinancecheckout-ruby-sdk/models/payment_terminal_location_version.rb +281 -0
  230. data/lib/postfinancecheckout-ruby-sdk/models/payment_terminal_location_version_state.rb +38 -0
  231. data/lib/postfinancecheckout-ruby-sdk/models/payment_terminal_receipt_type.rb +215 -0
  232. data/lib/postfinancecheckout-ruby-sdk/models/payment_terminal_state.rb +38 -0
  233. data/lib/postfinancecheckout-ruby-sdk/models/payment_terminal_type.rb +215 -0
  234. data/lib/postfinancecheckout-ruby-sdk/models/permission.rb +299 -0
  235. data/lib/postfinancecheckout-ruby-sdk/models/refund.rb +567 -0
  236. data/lib/postfinancecheckout-ruby-sdk/models/refund_bank_transaction.rb +281 -0
  237. data/lib/postfinancecheckout-ruby-sdk/models/refund_comment.rb +296 -0
  238. data/lib/postfinancecheckout-ruby-sdk/models/refund_comment_active.rb +236 -0
  239. data/lib/postfinancecheckout-ruby-sdk/models/refund_comment_create.rb +221 -0
  240. data/lib/postfinancecheckout-ruby-sdk/models/refund_create.rb +306 -0
  241. data/lib/postfinancecheckout-ruby-sdk/models/refund_recovery_bank_transaction.rb +293 -0
  242. data/lib/postfinancecheckout-ruby-sdk/models/refund_state.rb +39 -0
  243. data/lib/postfinancecheckout-ruby-sdk/models/refund_type.rb +37 -0
  244. data/lib/postfinancecheckout-ruby-sdk/models/rendered_document.rb +223 -0
  245. data/lib/postfinancecheckout-ruby-sdk/models/rendered_terminal_receipt.rb +223 -0
  246. data/lib/postfinancecheckout-ruby-sdk/models/resource_path.rb +275 -0
  247. data/lib/postfinancecheckout-ruby-sdk/models/resource_state.rb +36 -0
  248. data/lib/postfinancecheckout-ruby-sdk/models/rest_address_format.rb +227 -0
  249. data/lib/postfinancecheckout-ruby-sdk/models/rest_address_format_field.rb +43 -0
  250. data/lib/postfinancecheckout-ruby-sdk/models/rest_country.rb +243 -0
  251. data/lib/postfinancecheckout-ruby-sdk/models/rest_country_state.rb +221 -0
  252. data/lib/postfinancecheckout-ruby-sdk/models/rest_currency.rb +211 -0
  253. data/lib/postfinancecheckout-ruby-sdk/models/rest_language.rb +241 -0
  254. data/lib/postfinancecheckout-ruby-sdk/models/role.rb +263 -0
  255. data/lib/postfinancecheckout-ruby-sdk/models/role_state.rb +37 -0
  256. data/lib/postfinancecheckout-ruby-sdk/models/sales_channel.rb +245 -0
  257. data/lib/postfinancecheckout-ruby-sdk/models/scope.rb +350 -0
  258. data/lib/postfinancecheckout-ruby-sdk/models/server_error.rb +211 -0
  259. data/lib/postfinancecheckout-ruby-sdk/models/shopify_additional_line_item_data.rb +35 -0
  260. data/lib/postfinancecheckout-ruby-sdk/models/shopify_integration.rb +470 -0
  261. data/lib/postfinancecheckout-ruby-sdk/models/shopify_integration_payment_app_version.rb +34 -0
  262. data/lib/postfinancecheckout-ruby-sdk/models/shopify_integration_subscription_app_version.rb +36 -0
  263. data/lib/postfinancecheckout-ruby-sdk/models/shopify_recurring_order.rb +351 -0
  264. data/lib/postfinancecheckout-ruby-sdk/models/shopify_recurring_order_state.rb +39 -0
  265. data/lib/postfinancecheckout-ruby-sdk/models/shopify_recurring_order_update_request.rb +201 -0
  266. data/lib/postfinancecheckout-ruby-sdk/models/shopify_subscriber.rb +281 -0
  267. data/lib/postfinancecheckout-ruby-sdk/models/shopify_subscriber_active.rb +241 -0
  268. data/lib/postfinancecheckout-ruby-sdk/models/shopify_subscriber_creation.rb +216 -0
  269. data/lib/postfinancecheckout-ruby-sdk/models/shopify_subscriber_state.rb +36 -0
  270. data/lib/postfinancecheckout-ruby-sdk/models/shopify_subscription.rb +375 -0
  271. data/lib/postfinancecheckout-ruby-sdk/models/shopify_subscription_address.rb +546 -0
  272. data/lib/postfinancecheckout-ruby-sdk/models/shopify_subscription_address_create.rb +546 -0
  273. data/lib/postfinancecheckout-ruby-sdk/models/shopify_subscription_billing_interval_unit.rb +39 -0
  274. data/lib/postfinancecheckout-ruby-sdk/models/shopify_subscription_creation_request.rb +363 -0
  275. data/lib/postfinancecheckout-ruby-sdk/models/shopify_subscription_model_billing_configuration.rb +271 -0
  276. data/lib/postfinancecheckout-ruby-sdk/models/shopify_subscription_model_item.rb +233 -0
  277. data/lib/postfinancecheckout-ruby-sdk/models/shopify_subscription_model_tax_line.rb +201 -0
  278. data/lib/postfinancecheckout-ruby-sdk/models/shopify_subscription_product.rb +471 -0
  279. data/lib/postfinancecheckout-ruby-sdk/models/shopify_subscription_product_create.rb +366 -0
  280. data/lib/postfinancecheckout-ruby-sdk/models/shopify_subscription_product_pricing_option.rb +38 -0
  281. data/lib/postfinancecheckout-ruby-sdk/models/shopify_subscription_product_state.rb +39 -0
  282. data/lib/postfinancecheckout-ruby-sdk/models/shopify_subscription_product_update.rb +351 -0
  283. data/lib/postfinancecheckout-ruby-sdk/models/shopify_subscription_state.rb +39 -0
  284. data/lib/postfinancecheckout-ruby-sdk/models/shopify_subscription_suspension.rb +311 -0
  285. data/lib/postfinancecheckout-ruby-sdk/models/shopify_subscription_suspension_create.rb +226 -0
  286. data/lib/postfinancecheckout-ruby-sdk/models/shopify_subscription_suspension_initiator.rb +35 -0
  287. data/lib/postfinancecheckout-ruby-sdk/models/shopify_subscription_suspension_state.rb +35 -0
  288. data/lib/postfinancecheckout-ruby-sdk/models/shopify_subscription_suspension_type.rb +35 -0
  289. data/lib/postfinancecheckout-ruby-sdk/models/shopify_subscription_update_addresses_request.rb +211 -0
  290. data/lib/postfinancecheckout-ruby-sdk/models/shopify_subscription_update_request.rb +233 -0
  291. data/lib/postfinancecheckout-ruby-sdk/models/shopify_subscription_version.rb +463 -0
  292. data/lib/postfinancecheckout-ruby-sdk/models/shopify_subscription_version_item.rb +233 -0
  293. data/lib/postfinancecheckout-ruby-sdk/models/shopify_subscription_version_item_price_strategy.rb +35 -0
  294. data/lib/postfinancecheckout-ruby-sdk/models/shopify_subscription_version_state.rb +36 -0
  295. data/lib/postfinancecheckout-ruby-sdk/models/shopify_subscription_weekday.rb +40 -0
  296. data/lib/postfinancecheckout-ruby-sdk/models/shopify_tax_line.rb +231 -0
  297. data/lib/postfinancecheckout-ruby-sdk/models/shopify_transaction.rb +301 -0
  298. data/lib/postfinancecheckout-ruby-sdk/models/shopify_transaction_state.rb +38 -0
  299. data/lib/postfinancecheckout-ruby-sdk/models/space.rb +407 -0
  300. data/lib/postfinancecheckout-ruby-sdk/models/space_address.rb +416 -0
  301. data/lib/postfinancecheckout-ruby-sdk/models/space_address_create.rb +416 -0
  302. data/lib/postfinancecheckout-ruby-sdk/models/space_create.rb +302 -0
  303. data/lib/postfinancecheckout-ruby-sdk/models/space_update.rb +317 -0
  304. data/lib/postfinancecheckout-ruby-sdk/models/space_view.rb +275 -0
  305. data/lib/postfinancecheckout-ruby-sdk/models/static_value.rb +227 -0
  306. data/lib/postfinancecheckout-ruby-sdk/models/tax.rb +225 -0
  307. data/lib/postfinancecheckout-ruby-sdk/models/tax_create.rb +239 -0
  308. data/lib/postfinancecheckout-ruby-sdk/models/tenant_database.rb +226 -0
  309. data/lib/postfinancecheckout-ruby-sdk/models/terminal_receipt_fetch_request.rb +221 -0
  310. data/lib/postfinancecheckout-ruby-sdk/models/terminal_receipt_format.rb +35 -0
  311. data/lib/postfinancecheckout-ruby-sdk/models/token.rb +341 -0
  312. data/lib/postfinancecheckout-ruby-sdk/models/token_create.rb +296 -0
  313. data/lib/postfinancecheckout-ruby-sdk/models/token_update.rb +301 -0
  314. data/lib/postfinancecheckout-ruby-sdk/models/token_version.rb +445 -0
  315. data/lib/postfinancecheckout-ruby-sdk/models/token_version_state.rb +36 -0
  316. data/lib/postfinancecheckout-ruby-sdk/models/token_version_type.rb +225 -0
  317. data/lib/postfinancecheckout-ruby-sdk/models/tokenization_mode.rb +37 -0
  318. data/lib/postfinancecheckout-ruby-sdk/models/transaction.rb +1011 -0
  319. data/lib/postfinancecheckout-ruby-sdk/models/transaction_aware_entity.rb +211 -0
  320. data/lib/postfinancecheckout-ruby-sdk/models/transaction_comment.rb +296 -0
  321. data/lib/postfinancecheckout-ruby-sdk/models/transaction_comment_active.rb +236 -0
  322. data/lib/postfinancecheckout-ruby-sdk/models/transaction_comment_create.rb +221 -0
  323. data/lib/postfinancecheckout-ruby-sdk/models/transaction_completion.rb +528 -0
  324. data/lib/postfinancecheckout-ruby-sdk/models/transaction_completion_behavior.rb +36 -0
  325. data/lib/postfinancecheckout-ruby-sdk/models/transaction_completion_mode.rb +36 -0
  326. data/lib/postfinancecheckout-ruby-sdk/models/transaction_completion_request.rb +291 -0
  327. data/lib/postfinancecheckout-ruby-sdk/models/transaction_completion_state.rb +38 -0
  328. data/lib/postfinancecheckout-ruby-sdk/models/transaction_create.rb +596 -0
  329. data/lib/postfinancecheckout-ruby-sdk/models/transaction_environment_selection_strategy.rb +36 -0
  330. data/lib/postfinancecheckout-ruby-sdk/models/transaction_group.rb +276 -0
  331. data/lib/postfinancecheckout-ruby-sdk/models/transaction_group_state.rb +36 -0
  332. data/lib/postfinancecheckout-ruby-sdk/models/transaction_invoice.rb +452 -0
  333. data/lib/postfinancecheckout-ruby-sdk/models/transaction_invoice_comment.rb +296 -0
  334. data/lib/postfinancecheckout-ruby-sdk/models/transaction_invoice_comment_active.rb +236 -0
  335. data/lib/postfinancecheckout-ruby-sdk/models/transaction_invoice_comment_create.rb +221 -0
  336. data/lib/postfinancecheckout-ruby-sdk/models/transaction_invoice_replacement.rb +296 -0
  337. data/lib/postfinancecheckout-ruby-sdk/models/transaction_invoice_state.rb +40 -0
  338. data/lib/postfinancecheckout-ruby-sdk/models/transaction_line_item_update_request.rb +208 -0
  339. data/lib/postfinancecheckout-ruby-sdk/models/transaction_line_item_version.rb +313 -0
  340. data/lib/postfinancecheckout-ruby-sdk/models/transaction_pending.rb +517 -0
  341. data/lib/postfinancecheckout-ruby-sdk/models/transaction_state.rb +43 -0
  342. data/lib/postfinancecheckout-ruby-sdk/models/transaction_user_interface_type.rb +38 -0
  343. data/lib/postfinancecheckout-ruby-sdk/models/transaction_void.rb +373 -0
  344. data/lib/postfinancecheckout-ruby-sdk/models/transaction_void_mode.rb +35 -0
  345. data/lib/postfinancecheckout-ruby-sdk/models/transaction_void_state.rb +37 -0
  346. data/lib/postfinancecheckout-ruby-sdk/models/two_factor_authentication_type.rb +235 -0
  347. data/lib/postfinancecheckout-ruby-sdk/models/user.rb +241 -0
  348. data/lib/postfinancecheckout-ruby-sdk/models/user_account_role.rb +241 -0
  349. data/lib/postfinancecheckout-ruby-sdk/models/user_space_role.rb +231 -0
  350. data/lib/postfinancecheckout-ruby-sdk/models/user_type.rb +38 -0
  351. data/lib/postfinancecheckout-ruby-sdk/models/webhook_identity.rb +256 -0
  352. data/lib/postfinancecheckout-ruby-sdk/models/webhook_listener.rb +308 -0
  353. data/lib/postfinancecheckout-ruby-sdk/models/webhook_listener_create.rb +278 -0
  354. data/lib/postfinancecheckout-ruby-sdk/models/webhook_listener_entity.rb +213 -0
  355. data/lib/postfinancecheckout-ruby-sdk/models/webhook_listener_update.rb +268 -0
  356. data/lib/postfinancecheckout-ruby-sdk/models/webhook_url.rb +300 -0
  357. data/lib/postfinancecheckout-ruby-sdk/models/webhook_url_create.rb +250 -0
  358. data/lib/postfinancecheckout-ruby-sdk/models/webhook_url_update.rb +280 -0
  359. data/lib/postfinancecheckout-ruby-sdk/version.rb +20 -0
  360. data/postfinancecheckout-ruby-sdk.gemspec +44 -0
  361. data/test/condition_type_service_test.rb +22 -0
  362. data/test/transaction_create_service_test.rb +89 -0
  363. data/test/transaction_payment_page_service_test.rb +91 -0
  364. metadata +469 -0
@@ -0,0 +1,36 @@
1
+ =begin
2
+ The PostFinance Checkout API allows an easy interaction with the PostFinance Checkout 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 PostFinanceCheckout
21
+ class ShopifySubscriberState
22
+
23
+ ACTIVE = 'ACTIVE'.freeze
24
+ DELETING = 'DELETING'.freeze
25
+ DELETED = 'DELETED'.freeze
26
+
27
+ # Builds the enum from string
28
+ # @param [String] The enum value in the form of the string
29
+ # @return [String] The enum value
30
+ def build_from_hash(value)
31
+ constantValues = ShopifySubscriberState.constants.select { |c| ShopifySubscriberState::const_get(c) == value }
32
+ raise "Invalid ENUM value #{value} for class #ShopifySubscriberState" if constantValues.empty?
33
+ value
34
+ end
35
+ end
36
+ end
@@ -0,0 +1,375 @@
1
+ =begin
2
+ The PostFinance Checkout API allows an easy interaction with the PostFinance Checkout 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 PostFinanceCheckout
21
+ #
22
+ class ShopifySubscription
23
+ #
24
+ attr_accessor :created_by
25
+
26
+ #
27
+ attr_accessor :created_on
28
+
29
+ # 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.
30
+ attr_accessor :external_id
31
+
32
+ # The ID is the primary key of the entity. The ID identifies the entity uniquely.
33
+ attr_accessor :id
34
+
35
+ #
36
+ attr_accessor :initial_execution_date
37
+
38
+ #
39
+ attr_accessor :initial_payment_transaction
40
+
41
+ #
42
+ attr_accessor :initial_shopify_transaction
43
+
44
+ #
45
+ attr_accessor :language
46
+
47
+ # The linked space id holds the ID of the space to which the entity belongs to.
48
+ attr_accessor :linked_space_id
49
+
50
+ #
51
+ attr_accessor :order_recurrence_number
52
+
53
+ #
54
+ attr_accessor :shop
55
+
56
+ #
57
+ attr_accessor :state
58
+
59
+ #
60
+ attr_accessor :subscriber
61
+
62
+ #
63
+ attr_accessor :terminated_by
64
+
65
+ #
66
+ attr_accessor :terminated_on
67
+
68
+ #
69
+ attr_accessor :termination_request_date
70
+
71
+ # The version number indicates the version of the entity. The version is incremented whenever the entity is changed.
72
+ attr_accessor :version
73
+
74
+ # Attribute mapping from ruby-style variable name to JSON key.
75
+ def self.attribute_map
76
+ {
77
+ :'created_by' => :'createdBy',
78
+ :'created_on' => :'createdOn',
79
+ :'external_id' => :'externalId',
80
+ :'id' => :'id',
81
+ :'initial_execution_date' => :'initialExecutionDate',
82
+ :'initial_payment_transaction' => :'initialPaymentTransaction',
83
+ :'initial_shopify_transaction' => :'initialShopifyTransaction',
84
+ :'language' => :'language',
85
+ :'linked_space_id' => :'linkedSpaceId',
86
+ :'order_recurrence_number' => :'orderRecurrenceNumber',
87
+ :'shop' => :'shop',
88
+ :'state' => :'state',
89
+ :'subscriber' => :'subscriber',
90
+ :'terminated_by' => :'terminatedBy',
91
+ :'terminated_on' => :'terminatedOn',
92
+ :'termination_request_date' => :'terminationRequestDate',
93
+ :'version' => :'version'
94
+ }
95
+ end
96
+
97
+ # Attribute type mapping.
98
+ def self.swagger_types
99
+ {
100
+ :'created_by' => :'Integer',
101
+ :'created_on' => :'DateTime',
102
+ :'external_id' => :'String',
103
+ :'id' => :'Integer',
104
+ :'initial_execution_date' => :'DateTime',
105
+ :'initial_payment_transaction' => :'Integer',
106
+ :'initial_shopify_transaction' => :'Integer',
107
+ :'language' => :'String',
108
+ :'linked_space_id' => :'Integer',
109
+ :'order_recurrence_number' => :'Integer',
110
+ :'shop' => :'Integer',
111
+ :'state' => :'ShopifySubscriptionState',
112
+ :'subscriber' => :'ShopifySubscriber',
113
+ :'terminated_by' => :'Integer',
114
+ :'terminated_on' => :'DateTime',
115
+ :'termination_request_date' => :'DateTime',
116
+ :'version' => :'Integer'
117
+ }
118
+ end
119
+
120
+ # Initializes the object
121
+ # @param [Hash] attributes Model attributes in the form of hash
122
+ def initialize(attributes = {})
123
+ return unless attributes.is_a?(Hash)
124
+
125
+ # convert string to symbol for hash key
126
+ attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
127
+
128
+ if attributes.has_key?(:'createdBy')
129
+ self.created_by = attributes[:'createdBy']
130
+ end
131
+
132
+ if attributes.has_key?(:'createdOn')
133
+ self.created_on = attributes[:'createdOn']
134
+ end
135
+
136
+ if attributes.has_key?(:'externalId')
137
+ self.external_id = attributes[:'externalId']
138
+ end
139
+
140
+ if attributes.has_key?(:'id')
141
+ self.id = attributes[:'id']
142
+ end
143
+
144
+ if attributes.has_key?(:'initialExecutionDate')
145
+ self.initial_execution_date = attributes[:'initialExecutionDate']
146
+ end
147
+
148
+ if attributes.has_key?(:'initialPaymentTransaction')
149
+ self.initial_payment_transaction = attributes[:'initialPaymentTransaction']
150
+ end
151
+
152
+ if attributes.has_key?(:'initialShopifyTransaction')
153
+ self.initial_shopify_transaction = attributes[:'initialShopifyTransaction']
154
+ end
155
+
156
+ if attributes.has_key?(:'language')
157
+ self.language = attributes[:'language']
158
+ end
159
+
160
+ if attributes.has_key?(:'linkedSpaceId')
161
+ self.linked_space_id = attributes[:'linkedSpaceId']
162
+ end
163
+
164
+ if attributes.has_key?(:'orderRecurrenceNumber')
165
+ self.order_recurrence_number = attributes[:'orderRecurrenceNumber']
166
+ end
167
+
168
+ if attributes.has_key?(:'shop')
169
+ self.shop = attributes[:'shop']
170
+ end
171
+
172
+ if attributes.has_key?(:'state')
173
+ self.state = attributes[:'state']
174
+ end
175
+
176
+ if attributes.has_key?(:'subscriber')
177
+ self.subscriber = attributes[:'subscriber']
178
+ end
179
+
180
+ if attributes.has_key?(:'terminatedBy')
181
+ self.terminated_by = attributes[:'terminatedBy']
182
+ end
183
+
184
+ if attributes.has_key?(:'terminatedOn')
185
+ self.terminated_on = attributes[:'terminatedOn']
186
+ end
187
+
188
+ if attributes.has_key?(:'terminationRequestDate')
189
+ self.termination_request_date = attributes[:'terminationRequestDate']
190
+ end
191
+
192
+ if attributes.has_key?(:'version')
193
+ self.version = attributes[:'version']
194
+ end
195
+ end
196
+
197
+ # Show invalid properties with the reasons. Usually used together with valid?
198
+ # @return Array for valid properties with the reasons
199
+ def list_invalid_properties
200
+ invalid_properties = Array.new
201
+ if !@external_id.nil? && @external_id.to_s.length > 100
202
+ invalid_properties.push('invalid value for "external_id", the character length must be smaller than or equal to 100.')
203
+ end
204
+
205
+ if !@external_id.nil? && @external_id.to_s.length < 1
206
+ invalid_properties.push('invalid value for "external_id", the character length must be great than or equal to 1.')
207
+ end
208
+
209
+ invalid_properties
210
+ end
211
+
212
+ # Check to see if the all the properties in the model are valid
213
+ # @return true if the model is valid
214
+ def valid?
215
+ return false if !@external_id.nil? && @external_id.to_s.length > 100
216
+ return false if !@external_id.nil? && @external_id.to_s.length < 1
217
+ true
218
+ end
219
+
220
+ # Custom attribute writer method with validation
221
+ # @param [Object] external_id Value to be assigned
222
+ def external_id=(external_id)
223
+ if !external_id.nil? && external_id.to_s.length > 100
224
+ fail ArgumentError, '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
+ fail ArgumentError, 'invalid value for "external_id", the character length must be great than or equal to 1.'
229
+ end
230
+
231
+ @external_id = external_id
232
+ end
233
+
234
+ # Checks equality by comparing each attribute.
235
+ # @param [Object] Object to be compared
236
+ def ==(o)
237
+ return true if self.equal?(o)
238
+ self.class == o.class &&
239
+ created_by == o.created_by &&
240
+ created_on == o.created_on &&
241
+ external_id == o.external_id &&
242
+ id == o.id &&
243
+ initial_execution_date == o.initial_execution_date &&
244
+ initial_payment_transaction == o.initial_payment_transaction &&
245
+ initial_shopify_transaction == o.initial_shopify_transaction &&
246
+ language == o.language &&
247
+ linked_space_id == o.linked_space_id &&
248
+ order_recurrence_number == o.order_recurrence_number &&
249
+ shop == o.shop &&
250
+ state == o.state &&
251
+ subscriber == o.subscriber &&
252
+ terminated_by == o.terminated_by &&
253
+ terminated_on == o.terminated_on &&
254
+ termination_request_date == o.termination_request_date &&
255
+ version == o.version
256
+ end
257
+
258
+ # @see the `==` method
259
+ # @param [Object] Object to be compared
260
+ def eql?(o)
261
+ self == o
262
+ end
263
+
264
+ # Calculates hash code according to all attributes.
265
+ # @return [Fixnum] Hash code
266
+ def hash
267
+ [created_by, created_on, external_id, id, initial_execution_date, initial_payment_transaction, initial_shopify_transaction, language, linked_space_id, order_recurrence_number, shop, state, subscriber, terminated_by, terminated_on, termination_request_date, version].hash
268
+ end
269
+
270
+ # Builds the object from hash
271
+ # @param [Hash] attributes Model attributes in the form of hash
272
+ # @return [Object] Returns the model itself
273
+ def build_from_hash(attributes)
274
+ return nil unless attributes.is_a?(Hash)
275
+ self.class.swagger_types.each_pair do |key, type|
276
+ if type =~ /\AArray<(.*)>/i
277
+ # check to ensure the input is an array given that the attribute
278
+ # is documented as an array but the input is not
279
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
280
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map{ |v| _deserialize($1, v) } )
281
+ end
282
+ elsif !attributes[self.class.attribute_map[key]].nil?
283
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
284
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
285
+ end
286
+
287
+ self
288
+ end
289
+
290
+ # Deserializes the data based on type
291
+ # @param string type Data type
292
+ # @param string value Value to be deserialized
293
+ # @return [Object] Deserialized data
294
+ def _deserialize(type, value)
295
+ case type.to_sym
296
+ when :DateTime
297
+ DateTime.parse(value)
298
+ when :Date
299
+ Date.parse(value)
300
+ when :String
301
+ value.to_s
302
+ when :Integer
303
+ value.to_i
304
+ when :Float
305
+ value.to_f
306
+ when :BOOLEAN
307
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
308
+ true
309
+ else
310
+ false
311
+ end
312
+ when :Object
313
+ # generic object (usually a Hash), return directly
314
+ value
315
+ when /\AArray<(?<inner_type>.+)>\z/
316
+ inner_type = Regexp.last_match[:inner_type]
317
+ value.map { |v| _deserialize(inner_type, v) }
318
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
319
+ k_type = Regexp.last_match[:k_type]
320
+ v_type = Regexp.last_match[:v_type]
321
+ {}.tap do |hash|
322
+ value.each do |k, v|
323
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
324
+ end
325
+ end
326
+ else # model
327
+ temp_model = PostFinanceCheckout.const_get(type).new
328
+ temp_model.build_from_hash(value)
329
+ end
330
+ end
331
+
332
+ # Returns the string representation of the object
333
+ # @return [String] String presentation of the object
334
+ def to_s
335
+ to_hash.to_s
336
+ end
337
+
338
+ # to_body is an alias to to_hash (backward compatibility)
339
+ # @return [Hash] Returns the object in the form of hash
340
+ def to_body
341
+ to_hash
342
+ end
343
+
344
+ # Returns the object in the form of hash
345
+ # @return [Hash] Returns the object in the form of hash
346
+ def to_hash
347
+ hash = {}
348
+ self.class.attribute_map.each_pair do |attr, param|
349
+ value = self.send(attr)
350
+ next if value.nil?
351
+ hash[param] = _to_hash(value)
352
+ end
353
+ hash
354
+ end
355
+
356
+ # Outputs non-array value in the form of hash
357
+ # For object, use to_hash. Otherwise, just return the value
358
+ # @param [Object] value Any valid value
359
+ # @return [Hash] Returns the value in the form of hash
360
+ def _to_hash(value)
361
+ if value.is_a?(Array)
362
+ value.compact.map{ |v| _to_hash(v) }
363
+ elsif value.is_a?(Hash)
364
+ {}.tap do |hash|
365
+ value.each { |k, v| hash[k] = _to_hash(v) }
366
+ end
367
+ elsif value.respond_to? :to_hash
368
+ value.to_hash
369
+ else
370
+ value
371
+ end
372
+ end
373
+
374
+ end
375
+ end
@@ -0,0 +1,546 @@
1
+ =begin
2
+ The PostFinance Checkout API allows an easy interaction with the PostFinance Checkout 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 PostFinanceCheckout
21
+ #
22
+ class ShopifySubscriptionAddress
23
+ #
24
+ attr_accessor :city
25
+
26
+ #
27
+ attr_accessor :commercial_register_number
28
+
29
+ #
30
+ attr_accessor :country
31
+
32
+ #
33
+ attr_accessor :date_of_birth
34
+
35
+ #
36
+ attr_accessor :dependent_locality
37
+
38
+ #
39
+ attr_accessor :email_address
40
+
41
+ #
42
+ attr_accessor :family_name
43
+
44
+ #
45
+ attr_accessor :gender
46
+
47
+ #
48
+ attr_accessor :given_name
49
+
50
+ #
51
+ attr_accessor :legal_organization_form
52
+
53
+ #
54
+ attr_accessor :mobile_phone_number
55
+
56
+ #
57
+ attr_accessor :organization_name
58
+
59
+ #
60
+ attr_accessor :phone_number
61
+
62
+ #
63
+ attr_accessor :postal_state
64
+
65
+ #
66
+ attr_accessor :postcode
67
+
68
+ #
69
+ attr_accessor :sales_tax_number
70
+
71
+ #
72
+ attr_accessor :salutation
73
+
74
+ #
75
+ attr_accessor :social_security_number
76
+
77
+ # The sorting code identifies the post office at which the post box is located in.
78
+ attr_accessor :sorting_code
79
+
80
+ #
81
+ attr_accessor :street
82
+
83
+ # Attribute mapping from ruby-style variable name to JSON key.
84
+ def self.attribute_map
85
+ {
86
+ :'city' => :'city',
87
+ :'commercial_register_number' => :'commercialRegisterNumber',
88
+ :'country' => :'country',
89
+ :'date_of_birth' => :'dateOfBirth',
90
+ :'dependent_locality' => :'dependentLocality',
91
+ :'email_address' => :'emailAddress',
92
+ :'family_name' => :'familyName',
93
+ :'gender' => :'gender',
94
+ :'given_name' => :'givenName',
95
+ :'legal_organization_form' => :'legalOrganizationForm',
96
+ :'mobile_phone_number' => :'mobilePhoneNumber',
97
+ :'organization_name' => :'organizationName',
98
+ :'phone_number' => :'phoneNumber',
99
+ :'postal_state' => :'postalState',
100
+ :'postcode' => :'postcode',
101
+ :'sales_tax_number' => :'salesTaxNumber',
102
+ :'salutation' => :'salutation',
103
+ :'social_security_number' => :'socialSecurityNumber',
104
+ :'sorting_code' => :'sortingCode',
105
+ :'street' => :'street'
106
+ }
107
+ end
108
+
109
+ # Attribute type mapping.
110
+ def self.swagger_types
111
+ {
112
+ :'city' => :'String',
113
+ :'commercial_register_number' => :'String',
114
+ :'country' => :'String',
115
+ :'date_of_birth' => :'Date',
116
+ :'dependent_locality' => :'String',
117
+ :'email_address' => :'String',
118
+ :'family_name' => :'String',
119
+ :'gender' => :'Gender',
120
+ :'given_name' => :'String',
121
+ :'legal_organization_form' => :'LegalOrganizationForm',
122
+ :'mobile_phone_number' => :'String',
123
+ :'organization_name' => :'String',
124
+ :'phone_number' => :'String',
125
+ :'postal_state' => :'String',
126
+ :'postcode' => :'String',
127
+ :'sales_tax_number' => :'String',
128
+ :'salutation' => :'String',
129
+ :'social_security_number' => :'String',
130
+ :'sorting_code' => :'String',
131
+ :'street' => :'String'
132
+ }
133
+ end
134
+
135
+ # Initializes the object
136
+ # @param [Hash] attributes Model attributes in the form of hash
137
+ def initialize(attributes = {})
138
+ return unless attributes.is_a?(Hash)
139
+
140
+ # convert string to symbol for hash key
141
+ attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
142
+
143
+ if attributes.has_key?(:'city')
144
+ self.city = attributes[:'city']
145
+ end
146
+
147
+ if attributes.has_key?(:'commercialRegisterNumber')
148
+ self.commercial_register_number = attributes[:'commercialRegisterNumber']
149
+ end
150
+
151
+ if attributes.has_key?(:'country')
152
+ self.country = attributes[:'country']
153
+ end
154
+
155
+ if attributes.has_key?(:'dateOfBirth')
156
+ self.date_of_birth = attributes[:'dateOfBirth']
157
+ end
158
+
159
+ if attributes.has_key?(:'dependentLocality')
160
+ self.dependent_locality = attributes[:'dependentLocality']
161
+ end
162
+
163
+ if attributes.has_key?(:'emailAddress')
164
+ self.email_address = attributes[:'emailAddress']
165
+ end
166
+
167
+ if attributes.has_key?(:'familyName')
168
+ self.family_name = attributes[:'familyName']
169
+ end
170
+
171
+ if attributes.has_key?(:'gender')
172
+ self.gender = attributes[:'gender']
173
+ end
174
+
175
+ if attributes.has_key?(:'givenName')
176
+ self.given_name = attributes[:'givenName']
177
+ end
178
+
179
+ if attributes.has_key?(:'legalOrganizationForm')
180
+ self.legal_organization_form = attributes[:'legalOrganizationForm']
181
+ end
182
+
183
+ if attributes.has_key?(:'mobilePhoneNumber')
184
+ self.mobile_phone_number = attributes[:'mobilePhoneNumber']
185
+ end
186
+
187
+ if attributes.has_key?(:'organizationName')
188
+ self.organization_name = attributes[:'organizationName']
189
+ end
190
+
191
+ if attributes.has_key?(:'phoneNumber')
192
+ self.phone_number = attributes[:'phoneNumber']
193
+ end
194
+
195
+ if attributes.has_key?(:'postalState')
196
+ self.postal_state = attributes[:'postalState']
197
+ end
198
+
199
+ if attributes.has_key?(:'postcode')
200
+ self.postcode = attributes[:'postcode']
201
+ end
202
+
203
+ if attributes.has_key?(:'salesTaxNumber')
204
+ self.sales_tax_number = attributes[:'salesTaxNumber']
205
+ end
206
+
207
+ if attributes.has_key?(:'salutation')
208
+ self.salutation = attributes[:'salutation']
209
+ end
210
+
211
+ if attributes.has_key?(:'socialSecurityNumber')
212
+ self.social_security_number = attributes[:'socialSecurityNumber']
213
+ end
214
+
215
+ if attributes.has_key?(:'sortingCode')
216
+ self.sorting_code = attributes[:'sortingCode']
217
+ end
218
+
219
+ if attributes.has_key?(:'street')
220
+ self.street = attributes[:'street']
221
+ end
222
+ end
223
+
224
+ # Show invalid properties with the reasons. Usually used together with valid?
225
+ # @return Array for valid properties with the reasons
226
+ def list_invalid_properties
227
+ invalid_properties = Array.new
228
+ if !@commercial_register_number.nil? && @commercial_register_number.to_s.length > 100
229
+ invalid_properties.push('invalid value for "commercial_register_number", the character length must be smaller than or equal to 100.')
230
+ end
231
+
232
+ if !@dependent_locality.nil? && @dependent_locality.to_s.length > 100
233
+ invalid_properties.push('invalid value for "dependent_locality", the character length must be smaller than or equal to 100.')
234
+ end
235
+
236
+ if !@email_address.nil? && @email_address.to_s.length > 254
237
+ invalid_properties.push('invalid value for "email_address", the character length must be smaller than or equal to 254.')
238
+ end
239
+
240
+ if !@given_name.nil? && @given_name.to_s.length > 100
241
+ invalid_properties.push('invalid value for "given_name", the character length must be smaller than or equal to 100.')
242
+ end
243
+
244
+ if !@mobile_phone_number.nil? && @mobile_phone_number.to_s.length > 100
245
+ invalid_properties.push('invalid value for "mobile_phone_number", the character length must be smaller than or equal to 100.')
246
+ end
247
+
248
+ if !@organization_name.nil? && @organization_name.to_s.length > 100
249
+ invalid_properties.push('invalid value for "organization_name", the character length must be smaller than or equal to 100.')
250
+ end
251
+
252
+ if !@phone_number.nil? && @phone_number.to_s.length > 100
253
+ invalid_properties.push('invalid value for "phone_number", the character length must be smaller than or equal to 100.')
254
+ end
255
+
256
+ if !@sales_tax_number.nil? && @sales_tax_number.to_s.length > 100
257
+ invalid_properties.push('invalid value for "sales_tax_number", the character length must be smaller than or equal to 100.')
258
+ end
259
+
260
+ if !@salutation.nil? && @salutation.to_s.length > 20
261
+ invalid_properties.push('invalid value for "salutation", the character length must be smaller than or equal to 20.')
262
+ end
263
+
264
+ if !@social_security_number.nil? && @social_security_number.to_s.length > 100
265
+ invalid_properties.push('invalid value for "social_security_number", the character length must be smaller than or equal to 100.')
266
+ end
267
+
268
+ if !@sorting_code.nil? && @sorting_code.to_s.length > 100
269
+ invalid_properties.push('invalid value for "sorting_code", the character length must be smaller than or equal to 100.')
270
+ end
271
+
272
+ invalid_properties
273
+ end
274
+
275
+ # Check to see if the all the properties in the model are valid
276
+ # @return true if the model is valid
277
+ def valid?
278
+ return false if !@commercial_register_number.nil? && @commercial_register_number.to_s.length > 100
279
+ return false if !@dependent_locality.nil? && @dependent_locality.to_s.length > 100
280
+ return false if !@email_address.nil? && @email_address.to_s.length > 254
281
+ return false if !@given_name.nil? && @given_name.to_s.length > 100
282
+ return false if !@mobile_phone_number.nil? && @mobile_phone_number.to_s.length > 100
283
+ return false if !@organization_name.nil? && @organization_name.to_s.length > 100
284
+ return false if !@phone_number.nil? && @phone_number.to_s.length > 100
285
+ return false if !@sales_tax_number.nil? && @sales_tax_number.to_s.length > 100
286
+ return false if !@salutation.nil? && @salutation.to_s.length > 20
287
+ return false if !@social_security_number.nil? && @social_security_number.to_s.length > 100
288
+ return false if !@sorting_code.nil? && @sorting_code.to_s.length > 100
289
+ true
290
+ end
291
+
292
+ # Custom attribute writer method with validation
293
+ # @param [Object] commercial_register_number Value to be assigned
294
+ def commercial_register_number=(commercial_register_number)
295
+ if !commercial_register_number.nil? && commercial_register_number.to_s.length > 100
296
+ fail ArgumentError, 'invalid value for "commercial_register_number", the character length must be smaller than or equal to 100.'
297
+ end
298
+
299
+ @commercial_register_number = commercial_register_number
300
+ end
301
+
302
+ # Custom attribute writer method with validation
303
+ # @param [Object] dependent_locality Value to be assigned
304
+ def dependent_locality=(dependent_locality)
305
+ if !dependent_locality.nil? && dependent_locality.to_s.length > 100
306
+ fail ArgumentError, 'invalid value for "dependent_locality", the character length must be smaller than or equal to 100.'
307
+ end
308
+
309
+ @dependent_locality = dependent_locality
310
+ end
311
+
312
+ # Custom attribute writer method with validation
313
+ # @param [Object] email_address Value to be assigned
314
+ def email_address=(email_address)
315
+ if !email_address.nil? && email_address.to_s.length > 254
316
+ fail ArgumentError, 'invalid value for "email_address", the character length must be smaller than or equal to 254.'
317
+ end
318
+
319
+ @email_address = email_address
320
+ end
321
+
322
+ # Custom attribute writer method with validation
323
+ # @param [Object] given_name Value to be assigned
324
+ def given_name=(given_name)
325
+ if !given_name.nil? && given_name.to_s.length > 100
326
+ fail ArgumentError, 'invalid value for "given_name", the character length must be smaller than or equal to 100.'
327
+ end
328
+
329
+ @given_name = given_name
330
+ end
331
+
332
+ # Custom attribute writer method with validation
333
+ # @param [Object] mobile_phone_number Value to be assigned
334
+ def mobile_phone_number=(mobile_phone_number)
335
+ if !mobile_phone_number.nil? && mobile_phone_number.to_s.length > 100
336
+ fail ArgumentError, 'invalid value for "mobile_phone_number", the character length must be smaller than or equal to 100.'
337
+ end
338
+
339
+ @mobile_phone_number = mobile_phone_number
340
+ end
341
+
342
+ # Custom attribute writer method with validation
343
+ # @param [Object] organization_name Value to be assigned
344
+ def organization_name=(organization_name)
345
+ if !organization_name.nil? && organization_name.to_s.length > 100
346
+ fail ArgumentError, 'invalid value for "organization_name", the character length must be smaller than or equal to 100.'
347
+ end
348
+
349
+ @organization_name = organization_name
350
+ end
351
+
352
+ # Custom attribute writer method with validation
353
+ # @param [Object] phone_number Value to be assigned
354
+ def phone_number=(phone_number)
355
+ if !phone_number.nil? && phone_number.to_s.length > 100
356
+ fail ArgumentError, 'invalid value for "phone_number", the character length must be smaller than or equal to 100.'
357
+ end
358
+
359
+ @phone_number = phone_number
360
+ end
361
+
362
+ # Custom attribute writer method with validation
363
+ # @param [Object] sales_tax_number Value to be assigned
364
+ def sales_tax_number=(sales_tax_number)
365
+ if !sales_tax_number.nil? && sales_tax_number.to_s.length > 100
366
+ fail ArgumentError, 'invalid value for "sales_tax_number", the character length must be smaller than or equal to 100.'
367
+ end
368
+
369
+ @sales_tax_number = sales_tax_number
370
+ end
371
+
372
+ # Custom attribute writer method with validation
373
+ # @param [Object] salutation Value to be assigned
374
+ def salutation=(salutation)
375
+ if !salutation.nil? && salutation.to_s.length > 20
376
+ fail ArgumentError, 'invalid value for "salutation", the character length must be smaller than or equal to 20.'
377
+ end
378
+
379
+ @salutation = salutation
380
+ end
381
+
382
+ # Custom attribute writer method with validation
383
+ # @param [Object] social_security_number Value to be assigned
384
+ def social_security_number=(social_security_number)
385
+ if !social_security_number.nil? && social_security_number.to_s.length > 100
386
+ fail ArgumentError, 'invalid value for "social_security_number", the character length must be smaller than or equal to 100.'
387
+ end
388
+
389
+ @social_security_number = social_security_number
390
+ end
391
+
392
+ # Custom attribute writer method with validation
393
+ # @param [Object] sorting_code Value to be assigned
394
+ def sorting_code=(sorting_code)
395
+ if !sorting_code.nil? && sorting_code.to_s.length > 100
396
+ fail ArgumentError, 'invalid value for "sorting_code", the character length must be smaller than or equal to 100.'
397
+ end
398
+
399
+ @sorting_code = sorting_code
400
+ end
401
+
402
+ # Checks equality by comparing each attribute.
403
+ # @param [Object] Object to be compared
404
+ def ==(o)
405
+ return true if self.equal?(o)
406
+ self.class == o.class &&
407
+ city == o.city &&
408
+ commercial_register_number == o.commercial_register_number &&
409
+ country == o.country &&
410
+ date_of_birth == o.date_of_birth &&
411
+ dependent_locality == o.dependent_locality &&
412
+ email_address == o.email_address &&
413
+ family_name == o.family_name &&
414
+ gender == o.gender &&
415
+ given_name == o.given_name &&
416
+ legal_organization_form == o.legal_organization_form &&
417
+ mobile_phone_number == o.mobile_phone_number &&
418
+ organization_name == o.organization_name &&
419
+ phone_number == o.phone_number &&
420
+ postal_state == o.postal_state &&
421
+ postcode == o.postcode &&
422
+ sales_tax_number == o.sales_tax_number &&
423
+ salutation == o.salutation &&
424
+ social_security_number == o.social_security_number &&
425
+ sorting_code == o.sorting_code &&
426
+ street == o.street
427
+ end
428
+
429
+ # @see the `==` method
430
+ # @param [Object] Object to be compared
431
+ def eql?(o)
432
+ self == o
433
+ end
434
+
435
+ # Calculates hash code according to all attributes.
436
+ # @return [Fixnum] Hash code
437
+ def hash
438
+ [city, commercial_register_number, country, date_of_birth, dependent_locality, email_address, family_name, gender, given_name, legal_organization_form, mobile_phone_number, organization_name, phone_number, postal_state, postcode, sales_tax_number, salutation, social_security_number, sorting_code, street].hash
439
+ end
440
+
441
+ # Builds the object from hash
442
+ # @param [Hash] attributes Model attributes in the form of hash
443
+ # @return [Object] Returns the model itself
444
+ def build_from_hash(attributes)
445
+ return nil unless attributes.is_a?(Hash)
446
+ self.class.swagger_types.each_pair do |key, type|
447
+ if type =~ /\AArray<(.*)>/i
448
+ # check to ensure the input is an array given that the attribute
449
+ # is documented as an array but the input is not
450
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
451
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map{ |v| _deserialize($1, v) } )
452
+ end
453
+ elsif !attributes[self.class.attribute_map[key]].nil?
454
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
455
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
456
+ end
457
+
458
+ self
459
+ end
460
+
461
+ # Deserializes the data based on type
462
+ # @param string type Data type
463
+ # @param string value Value to be deserialized
464
+ # @return [Object] Deserialized data
465
+ def _deserialize(type, value)
466
+ case type.to_sym
467
+ when :DateTime
468
+ DateTime.parse(value)
469
+ when :Date
470
+ Date.parse(value)
471
+ when :String
472
+ value.to_s
473
+ when :Integer
474
+ value.to_i
475
+ when :Float
476
+ value.to_f
477
+ when :BOOLEAN
478
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
479
+ true
480
+ else
481
+ false
482
+ end
483
+ when :Object
484
+ # generic object (usually a Hash), return directly
485
+ value
486
+ when /\AArray<(?<inner_type>.+)>\z/
487
+ inner_type = Regexp.last_match[:inner_type]
488
+ value.map { |v| _deserialize(inner_type, v) }
489
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
490
+ k_type = Regexp.last_match[:k_type]
491
+ v_type = Regexp.last_match[:v_type]
492
+ {}.tap do |hash|
493
+ value.each do |k, v|
494
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
495
+ end
496
+ end
497
+ else # model
498
+ temp_model = PostFinanceCheckout.const_get(type).new
499
+ temp_model.build_from_hash(value)
500
+ end
501
+ end
502
+
503
+ # Returns the string representation of the object
504
+ # @return [String] String presentation of the object
505
+ def to_s
506
+ to_hash.to_s
507
+ end
508
+
509
+ # to_body is an alias to to_hash (backward compatibility)
510
+ # @return [Hash] Returns the object in the form of hash
511
+ def to_body
512
+ to_hash
513
+ end
514
+
515
+ # Returns the object in the form of hash
516
+ # @return [Hash] Returns the object in the form of hash
517
+ def to_hash
518
+ hash = {}
519
+ self.class.attribute_map.each_pair do |attr, param|
520
+ value = self.send(attr)
521
+ next if value.nil?
522
+ hash[param] = _to_hash(value)
523
+ end
524
+ hash
525
+ end
526
+
527
+ # Outputs non-array value in the form of hash
528
+ # For object, use to_hash. Otherwise, just return the value
529
+ # @param [Object] value Any valid value
530
+ # @return [Hash] Returns the value in the form of hash
531
+ def _to_hash(value)
532
+ if value.is_a?(Array)
533
+ value.compact.map{ |v| _to_hash(v) }
534
+ elsif value.is_a?(Hash)
535
+ {}.tap do |hash|
536
+ value.each { |k, v| hash[k] = _to_hash(v) }
537
+ end
538
+ elsif value.respond_to? :to_hash
539
+ value.to_hash
540
+ else
541
+ value
542
+ end
543
+ end
544
+
545
+ end
546
+ end