payjpv2 1.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 (430) hide show
  1. checksums.yaml +7 -0
  2. data/.github/workflows/ci.yml +33 -0
  3. data/.github/workflows/release.yml +46 -0
  4. data/.gitignore +39 -0
  5. data/.rspec +2 -0
  6. data/.rubocop.yml +111 -0
  7. data/Gemfile +9 -0
  8. data/Gemfile.lock +94 -0
  9. data/README.md +399 -0
  10. data/Rakefile +10 -0
  11. data/docs/ApplePayConfigRequest.md +18 -0
  12. data/docs/BalanceListResponse.md +24 -0
  13. data/docs/BalanceResponse.md +40 -0
  14. data/docs/BalanceState.md +15 -0
  15. data/docs/BalanceURLResponse.md +22 -0
  16. data/docs/BalancesApi.md +235 -0
  17. data/docs/BankInfoResponse.md +28 -0
  18. data/docs/CaptureMethod.md +15 -0
  19. data/docs/CardConfigRequest.md +18 -0
  20. data/docs/CheckoutSessionCreateRequest.md +52 -0
  21. data/docs/CheckoutSessionCustomerDetailsAddressResponse.md +28 -0
  22. data/docs/CheckoutSessionCustomerDetailsResponse.md +24 -0
  23. data/docs/CheckoutSessionDetailsResponse.md +66 -0
  24. data/docs/CheckoutSessionLineItemDataResponse.md +34 -0
  25. data/docs/CheckoutSessionLineItemListResponse.md +24 -0
  26. data/docs/CheckoutSessionListResponse.md +24 -0
  27. data/docs/CheckoutSessionMode.md +15 -0
  28. data/docs/CheckoutSessionPaymentMethodOptionsCardRequest.md +20 -0
  29. data/docs/CheckoutSessionPaymentMethodOptionsRequest.md +18 -0
  30. data/docs/CheckoutSessionStatus.md +15 -0
  31. data/docs/CheckoutSessionSubmitType.md +15 -0
  32. data/docs/CheckoutSessionUIMode.md +15 -0
  33. data/docs/CheckoutSessionUpdateRequest.md +18 -0
  34. data/docs/CheckoutSessionsApi.md +373 -0
  35. data/docs/Country.md +15 -0
  36. data/docs/Currency.md +15 -0
  37. data/docs/CustomerCreateRequest.md +26 -0
  38. data/docs/CustomerCreation.md +15 -0
  39. data/docs/CustomerListResponse.md +24 -0
  40. data/docs/CustomerResponse.md +34 -0
  41. data/docs/CustomerUpdateRequest.md +24 -0
  42. data/docs/CustomersApi.md +443 -0
  43. data/docs/DisplayPreferenceRequest.md +18 -0
  44. data/docs/ErrorResponse.md +28 -0
  45. data/docs/EventListResponse.md +24 -0
  46. data/docs/EventResponse.md +32 -0
  47. data/docs/EventsApi.md +159 -0
  48. data/docs/LineItemRequest.md +22 -0
  49. data/docs/Locale.md +15 -0
  50. data/docs/MetadataValue.md +15 -0
  51. data/docs/PayPayConfigRequest.md +18 -0
  52. data/docs/PaymentDisputeListResponse.md +24 -0
  53. data/docs/PaymentDisputeReason.md +15 -0
  54. data/docs/PaymentDisputeResponse.md +42 -0
  55. data/docs/PaymentDisputeStatus.md +15 -0
  56. data/docs/PaymentDisputesApi.md +157 -0
  57. data/docs/PaymentFlowCancelRequest.md +18 -0
  58. data/docs/PaymentFlowCancellationReason.md +15 -0
  59. data/docs/PaymentFlowCaptureRequest.md +18 -0
  60. data/docs/PaymentFlowConfirmRequest.md +28 -0
  61. data/docs/PaymentFlowCreateRequest.md +38 -0
  62. data/docs/PaymentFlowDataRequest.md +22 -0
  63. data/docs/PaymentFlowListResponse.md +24 -0
  64. data/docs/PaymentFlowPaymentMethodOptionsCardRequest.md +20 -0
  65. data/docs/PaymentFlowPaymentMethodOptionsRequest.md +18 -0
  66. data/docs/PaymentFlowResponse.md +62 -0
  67. data/docs/PaymentFlowStatus.md +15 -0
  68. data/docs/PaymentFlowUpdateRequest.md +32 -0
  69. data/docs/PaymentFlowsApi.md +599 -0
  70. data/docs/PaymentMethodApplePayCreateRequest.md +26 -0
  71. data/docs/PaymentMethodApplePayUpdateRequest.md +22 -0
  72. data/docs/PaymentMethodAttachRequest.md +18 -0
  73. data/docs/PaymentMethodBillingAddressRequest.md +28 -0
  74. data/docs/PaymentMethodBillingAddressResponse.md +28 -0
  75. data/docs/PaymentMethodBillingDetailsRequest.md +24 -0
  76. data/docs/PaymentMethodBillingDetailsResponse.md +24 -0
  77. data/docs/PaymentMethodCardBillingDetailsRequest.md +24 -0
  78. data/docs/PaymentMethodCardCreateRequest.md +26 -0
  79. data/docs/PaymentMethodCardDetailsResponse.md +28 -0
  80. data/docs/PaymentMethodCardResponse.md +38 -0
  81. data/docs/PaymentMethodCardUpdateRequest.md +22 -0
  82. data/docs/PaymentMethodConfigurationDetailsResponse.md +32 -0
  83. data/docs/PaymentMethodConfigurationDisplayPreference.md +20 -0
  84. data/docs/PaymentMethodConfigurationListResponse.md +24 -0
  85. data/docs/PaymentMethodConfigurationSettingResponse.md +20 -0
  86. data/docs/PaymentMethodConfigurationUpdateRequest.md +26 -0
  87. data/docs/PaymentMethodConfigurationsApi.md +225 -0
  88. data/docs/PaymentMethodCreateCardDetailsRequest.md +24 -0
  89. data/docs/PaymentMethodCreateRequest.md +82 -0
  90. data/docs/PaymentMethodListResponse.md +24 -0
  91. data/docs/PaymentMethodPayPayCreateRequest.md +24 -0
  92. data/docs/PaymentMethodPayPayResponse.md +36 -0
  93. data/docs/PaymentMethodPayPayUpdateRequest.md +22 -0
  94. data/docs/PaymentMethodResponse.md +38 -0
  95. data/docs/PaymentMethodTypes.md +15 -0
  96. data/docs/PaymentMethodUpdateRequest.md +82 -0
  97. data/docs/PaymentMethodsApi.md +507 -0
  98. data/docs/PaymentRefundCreateRequest.md +24 -0
  99. data/docs/PaymentRefundListResponse.md +24 -0
  100. data/docs/PaymentRefundReason.md +15 -0
  101. data/docs/PaymentRefundResponse.md +36 -0
  102. data/docs/PaymentRefundStatus.md +15 -0
  103. data/docs/PaymentRefundUpdateRequest.md +18 -0
  104. data/docs/PaymentRefundsApi.md +295 -0
  105. data/docs/PaymentTransactionListResponse.md +24 -0
  106. data/docs/PaymentTransactionResponse.md +42 -0
  107. data/docs/PaymentTransactionType.md +15 -0
  108. data/docs/PaymentTransactionsApi.md +159 -0
  109. data/docs/PriceCreateRequest.md +32 -0
  110. data/docs/PriceDetailsResponse.md +42 -0
  111. data/docs/PriceListResponse.md +24 -0
  112. data/docs/PriceType.md +15 -0
  113. data/docs/PriceUpdateRequest.md +24 -0
  114. data/docs/PricesApi.md +297 -0
  115. data/docs/ProductCreateRequest.md +28 -0
  116. data/docs/ProductDeletedResponse.md +22 -0
  117. data/docs/ProductDetailsResponse.md +32 -0
  118. data/docs/ProductListResponse.md +24 -0
  119. data/docs/ProductUpdateRequest.md +28 -0
  120. data/docs/ProductsApi.md +365 -0
  121. data/docs/SetupFlowCancelRequest.md +18 -0
  122. data/docs/SetupFlowCancellationReason.md +15 -0
  123. data/docs/SetupFlowCreateRequest.md +28 -0
  124. data/docs/SetupFlowDataRequest.md +20 -0
  125. data/docs/SetupFlowListResponse.md +24 -0
  126. data/docs/SetupFlowPaymentMethodOptionsCardRequest.md +18 -0
  127. data/docs/SetupFlowPaymentMethodOptionsRequest.md +18 -0
  128. data/docs/SetupFlowResponse.md +50 -0
  129. data/docs/SetupFlowStatus.md +15 -0
  130. data/docs/SetupFlowUpdateRequest.md +26 -0
  131. data/docs/SetupFlowsApi.md +371 -0
  132. data/docs/StatementItemResponse.md +24 -0
  133. data/docs/StatementListResponse.md +24 -0
  134. data/docs/StatementResponse.md +38 -0
  135. data/docs/StatementSubject.md +15 -0
  136. data/docs/StatementType.md +15 -0
  137. data/docs/StatementURLResponse.md +22 -0
  138. data/docs/StatementsApi.md +231 -0
  139. data/docs/TaxRateCreateRequest.md +30 -0
  140. data/docs/TaxRateDetailsResponse.md +34 -0
  141. data/docs/TaxRateListResponse.md +24 -0
  142. data/docs/TaxRateUpdateRequest.md +26 -0
  143. data/docs/TaxRatesApi.md +295 -0
  144. data/docs/TermListResponse.md +24 -0
  145. data/docs/TermResponse.md +28 -0
  146. data/docs/TermsApi.md +157 -0
  147. data/docs/Usage.md +15 -0
  148. data/example.rb +157 -0
  149. data/lib/payjpv2/api/balances_api.rb +223 -0
  150. data/lib/payjpv2/api/checkout_sessions_api.rb +360 -0
  151. data/lib/payjpv2/api/customers_api.rb +420 -0
  152. data/lib/payjpv2/api/events_api.rb +157 -0
  153. data/lib/payjpv2/api/payment_disputes_api.rb +155 -0
  154. data/lib/payjpv2/api/payment_flows_api.rb +561 -0
  155. data/lib/payjpv2/api/payment_method_configurations_api.rb +221 -0
  156. data/lib/payjpv2/api/payment_methods_api.rb +476 -0
  157. data/lib/payjpv2/api/payment_refunds_api.rb +286 -0
  158. data/lib/payjpv2/api/payment_transactions_api.rb +157 -0
  159. data/lib/payjpv2/api/prices_api.rb +288 -0
  160. data/lib/payjpv2/api/products_api.rb +346 -0
  161. data/lib/payjpv2/api/setup_flows_api.rb +348 -0
  162. data/lib/payjpv2/api/statements_api.rb +219 -0
  163. data/lib/payjpv2/api/tax_rates_api.rb +286 -0
  164. data/lib/payjpv2/api/terms_api.rb +155 -0
  165. data/lib/payjpv2/api_client.rb +410 -0
  166. data/lib/payjpv2/api_error.rb +58 -0
  167. data/lib/payjpv2/configuration.rb +315 -0
  168. data/lib/payjpv2/models/apple_pay_config_request.rb +206 -0
  169. data/lib/payjpv2/models/balance_list_response.rb +306 -0
  170. data/lib/payjpv2/models/balance_response.rb +453 -0
  171. data/lib/payjpv2/models/balance_state.rb +41 -0
  172. data/lib/payjpv2/models/balance_url_response.rb +283 -0
  173. data/lib/payjpv2/models/bank_info_response.rb +328 -0
  174. data/lib/payjpv2/models/capture_method.rb +40 -0
  175. data/lib/payjpv2/models/card_config_request.rb +206 -0
  176. data/lib/payjpv2/models/checkout_session_create_request.rb +430 -0
  177. data/lib/payjpv2/models/checkout_session_customer_details_address_response.rb +269 -0
  178. data/lib/payjpv2/models/checkout_session_customer_details_response.rb +245 -0
  179. data/lib/payjpv2/models/checkout_session_details_response.rb +627 -0
  180. data/lib/payjpv2/models/checkout_session_line_item_data_response.rb +405 -0
  181. data/lib/payjpv2/models/checkout_session_line_item_list_response.rb +306 -0
  182. data/lib/payjpv2/models/checkout_session_list_response.rb +306 -0
  183. data/lib/payjpv2/models/checkout_session_mode.rb +40 -0
  184. data/lib/payjpv2/models/checkout_session_payment_method_options_card_request.rb +258 -0
  185. data/lib/payjpv2/models/checkout_session_payment_method_options_request.rb +206 -0
  186. data/lib/payjpv2/models/checkout_session_status.rb +41 -0
  187. data/lib/payjpv2/models/checkout_session_submit_type.rb +42 -0
  188. data/lib/payjpv2/models/checkout_session_ui_mode.rb +39 -0
  189. data/lib/payjpv2/models/checkout_session_update_request.rb +208 -0
  190. data/lib/payjpv2/models/country.rb +39 -0
  191. data/lib/payjpv2/models/currency.rb +39 -0
  192. data/lib/payjpv2/models/customer_create_request.rb +295 -0
  193. data/lib/payjpv2/models/customer_creation.rb +40 -0
  194. data/lib/payjpv2/models/customer_list_response.rb +306 -0
  195. data/lib/payjpv2/models/customer_response.rb +387 -0
  196. data/lib/payjpv2/models/customer_update_request.rb +266 -0
  197. data/lib/payjpv2/models/display_preference_request.rb +240 -0
  198. data/lib/payjpv2/models/error_response.rb +291 -0
  199. data/lib/payjpv2/models/event_list_response.rb +307 -0
  200. data/lib/payjpv2/models/event_response.rb +395 -0
  201. data/lib/payjpv2/models/line_item_request.rb +252 -0
  202. data/lib/payjpv2/models/locale.rb +40 -0
  203. data/lib/payjpv2/models/metadata_value.rb +105 -0
  204. data/lib/payjpv2/models/pay_pay_config_request.rb +206 -0
  205. data/lib/payjpv2/models/payment_dispute_list_response.rb +307 -0
  206. data/lib/payjpv2/models/payment_dispute_reason.rb +53 -0
  207. data/lib/payjpv2/models/payment_dispute_response.rb +485 -0
  208. data/lib/payjpv2/models/payment_dispute_status.rb +46 -0
  209. data/lib/payjpv2/models/payment_flow_cancel_request.rb +238 -0
  210. data/lib/payjpv2/models/payment_flow_cancellation_reason.rb +46 -0
  211. data/lib/payjpv2/models/payment_flow_capture_request.rb +224 -0
  212. data/lib/payjpv2/models/payment_flow_confirm_request.rb +280 -0
  213. data/lib/payjpv2/models/payment_flow_create_request.rb +366 -0
  214. data/lib/payjpv2/models/payment_flow_data_request.rb +250 -0
  215. data/lib/payjpv2/models/payment_flow_list_response.rb +307 -0
  216. data/lib/payjpv2/models/payment_flow_payment_method_options_card_request.rb +258 -0
  217. data/lib/payjpv2/models/payment_flow_payment_method_options_request.rb +206 -0
  218. data/lib/payjpv2/models/payment_flow_response.rb +623 -0
  219. data/lib/payjpv2/models/payment_flow_status.rb +45 -0
  220. data/lib/payjpv2/models/payment_flow_update_request.rb +298 -0
  221. data/lib/payjpv2/models/payment_method_apple_pay_create_request.rb +294 -0
  222. data/lib/payjpv2/models/payment_method_apple_pay_update_request.rb +262 -0
  223. data/lib/payjpv2/models/payment_method_attach_request.rb +218 -0
  224. data/lib/payjpv2/models/payment_method_billing_address_request.rb +256 -0
  225. data/lib/payjpv2/models/payment_method_billing_address_response.rb +268 -0
  226. data/lib/payjpv2/models/payment_method_billing_details_request.rb +236 -0
  227. data/lib/payjpv2/models/payment_method_billing_details_response.rb +254 -0
  228. data/lib/payjpv2/models/payment_method_card_billing_details_request.rb +237 -0
  229. data/lib/payjpv2/models/payment_method_card_create_request.rb +306 -0
  230. data/lib/payjpv2/models/payment_method_card_details_response.rb +318 -0
  231. data/lib/payjpv2/models/payment_method_card_response.rb +440 -0
  232. data/lib/payjpv2/models/payment_method_card_update_request.rb +262 -0
  233. data/lib/payjpv2/models/payment_method_configuration_details_response.rb +383 -0
  234. data/lib/payjpv2/models/payment_method_configuration_display_preference.rb +258 -0
  235. data/lib/payjpv2/models/payment_method_configuration_list_response.rb +306 -0
  236. data/lib/payjpv2/models/payment_method_configuration_setting_response.rb +216 -0
  237. data/lib/payjpv2/models/payment_method_configuration_update_request.rb +246 -0
  238. data/lib/payjpv2/models/payment_method_create_card_details_request.rb +310 -0
  239. data/lib/payjpv2/models/payment_method_create_request.rb +57 -0
  240. data/lib/payjpv2/models/payment_method_list_response.rb +306 -0
  241. data/lib/payjpv2/models/payment_method_pay_pay_create_request.rb +272 -0
  242. data/lib/payjpv2/models/payment_method_pay_pay_response.rb +418 -0
  243. data/lib/payjpv2/models/payment_method_pay_pay_update_request.rb +262 -0
  244. data/lib/payjpv2/models/payment_method_response.rb +104 -0
  245. data/lib/payjpv2/models/payment_method_types.rb +41 -0
  246. data/lib/payjpv2/models/payment_method_update_request.rb +57 -0
  247. data/lib/payjpv2/models/payment_refund_create_request.rb +286 -0
  248. data/lib/payjpv2/models/payment_refund_list_response.rb +307 -0
  249. data/lib/payjpv2/models/payment_refund_reason.rb +41 -0
  250. data/lib/payjpv2/models/payment_refund_response.rb +429 -0
  251. data/lib/payjpv2/models/payment_refund_status.rb +43 -0
  252. data/lib/payjpv2/models/payment_refund_update_request.rb +208 -0
  253. data/lib/payjpv2/models/payment_transaction_list_response.rb +307 -0
  254. data/lib/payjpv2/models/payment_transaction_response.rb +508 -0
  255. data/lib/payjpv2/models/payment_transaction_type.rb +42 -0
  256. data/lib/payjpv2/models/price_create_request.rb +342 -0
  257. data/lib/payjpv2/models/price_details_response.rb +485 -0
  258. data/lib/payjpv2/models/price_list_response.rb +306 -0
  259. data/lib/payjpv2/models/price_type.rb +39 -0
  260. data/lib/payjpv2/models/price_update_request.rb +238 -0
  261. data/lib/payjpv2/models/product_create_request.rb +270 -0
  262. data/lib/payjpv2/models/product_deleted_response.rb +273 -0
  263. data/lib/payjpv2/models/product_details_response.rb +353 -0
  264. data/lib/payjpv2/models/product_list_response.rb +306 -0
  265. data/lib/payjpv2/models/product_update_request.rb +256 -0
  266. data/lib/payjpv2/models/setup_flow_cancel_request.rb +228 -0
  267. data/lib/payjpv2/models/setup_flow_cancellation_reason.rb +41 -0
  268. data/lib/payjpv2/models/setup_flow_create_request.rb +282 -0
  269. data/lib/payjpv2/models/setup_flow_data_request.rb +218 -0
  270. data/lib/payjpv2/models/setup_flow_list_response.rb +306 -0
  271. data/lib/payjpv2/models/setup_flow_payment_method_options_card_request.rb +238 -0
  272. data/lib/payjpv2/models/setup_flow_payment_method_options_request.rb +206 -0
  273. data/lib/payjpv2/models/setup_flow_response.rb +521 -0
  274. data/lib/payjpv2/models/setup_flow_status.rb +44 -0
  275. data/lib/payjpv2/models/setup_flow_update_request.rb +272 -0
  276. data/lib/payjpv2/models/statement_item_response.rb +297 -0
  277. data/lib/payjpv2/models/statement_list_response.rb +306 -0
  278. data/lib/payjpv2/models/statement_response.rb +431 -0
  279. data/lib/payjpv2/models/statement_subject.rb +55 -0
  280. data/lib/payjpv2/models/statement_type.rb +43 -0
  281. data/lib/payjpv2/models/statement_url_response.rb +283 -0
  282. data/lib/payjpv2/models/tax_rate_create_request.rb +336 -0
  283. data/lib/payjpv2/models/tax_rate_details_response.rb +397 -0
  284. data/lib/payjpv2/models/tax_rate_list_response.rb +306 -0
  285. data/lib/payjpv2/models/tax_rate_update_request.rb +270 -0
  286. data/lib/payjpv2/models/term_list_response.rb +306 -0
  287. data/lib/payjpv2/models/term_response.rb +349 -0
  288. data/lib/payjpv2/models/usage.rb +40 -0
  289. data/lib/payjpv2/version.rb +15 -0
  290. data/lib/payjpv2.rb +176 -0
  291. data/payjpv2.gemspec +45 -0
  292. data/spec/api/balances_api_spec.rb +142 -0
  293. data/spec/api/checkout_sessions_api_spec.rb +206 -0
  294. data/spec/api/customers_api_spec.rb +239 -0
  295. data/spec/api/events_api_spec.rb +106 -0
  296. data/spec/api/payment_disputes_api_spec.rb +105 -0
  297. data/spec/api/payment_flows_api_spec.rb +310 -0
  298. data/spec/api/payment_method_configurations_api_spec.rb +137 -0
  299. data/spec/api/payment_methods_api_spec.rb +270 -0
  300. data/spec/api/payment_refunds_api_spec.rb +170 -0
  301. data/spec/api/payment_transactions_api_spec.rb +106 -0
  302. data/spec/api/prices_api_spec.rb +171 -0
  303. data/spec/api/products_api_spec.rb +203 -0
  304. data/spec/api/setup_flows_api_spec.rb +204 -0
  305. data/spec/api/statements_api_spec.rb +140 -0
  306. data/spec/api/tax_rates_api_spec.rb +170 -0
  307. data/spec/api/terms_api_spec.rb +105 -0
  308. data/spec/models/apple_pay_config_request_spec.rb +36 -0
  309. data/spec/models/balance_list_response_spec.rb +58 -0
  310. data/spec/models/balance_response_spec.rb +106 -0
  311. data/spec/models/balance_state_spec.rb +30 -0
  312. data/spec/models/balance_url_response_spec.rb +52 -0
  313. data/spec/models/bank_info_response_spec.rb +66 -0
  314. data/spec/models/capture_method_spec.rb +30 -0
  315. data/spec/models/card_config_request_spec.rb +36 -0
  316. data/spec/models/checkout_session_create_request_spec.rb +138 -0
  317. data/spec/models/checkout_session_customer_details_address_response_spec.rb +66 -0
  318. data/spec/models/checkout_session_customer_details_response_spec.rb +54 -0
  319. data/spec/models/checkout_session_details_response_spec.rb +184 -0
  320. data/spec/models/checkout_session_line_item_data_response_spec.rb +88 -0
  321. data/spec/models/checkout_session_line_item_list_response_spec.rb +58 -0
  322. data/spec/models/checkout_session_list_response_spec.rb +58 -0
  323. data/spec/models/checkout_session_mode_spec.rb +30 -0
  324. data/spec/models/checkout_session_payment_method_options_card_request_spec.rb +50 -0
  325. data/spec/models/checkout_session_payment_method_options_request_spec.rb +36 -0
  326. data/spec/models/checkout_session_status_spec.rb +30 -0
  327. data/spec/models/checkout_session_submit_type_spec.rb +30 -0
  328. data/spec/models/checkout_session_ui_mode_spec.rb +30 -0
  329. data/spec/models/checkout_session_update_request_spec.rb +36 -0
  330. data/spec/models/country_spec.rb +30 -0
  331. data/spec/models/currency_spec.rb +30 -0
  332. data/spec/models/customer_create_request_spec.rb +60 -0
  333. data/spec/models/customer_creation_spec.rb +30 -0
  334. data/spec/models/customer_list_response_spec.rb +58 -0
  335. data/spec/models/customer_response_spec.rb +88 -0
  336. data/spec/models/customer_update_request_spec.rb +54 -0
  337. data/spec/models/display_preference_request_spec.rb +40 -0
  338. data/spec/models/error_response_spec.rb +66 -0
  339. data/spec/models/event_list_response_spec.rb +58 -0
  340. data/spec/models/event_response_spec.rb +82 -0
  341. data/spec/models/line_item_request_spec.rb +48 -0
  342. data/spec/models/locale_spec.rb +30 -0
  343. data/spec/models/metadata_value_spec.rb +21 -0
  344. data/spec/models/pay_pay_config_request_spec.rb +36 -0
  345. data/spec/models/payment_dispute_list_response_spec.rb +58 -0
  346. data/spec/models/payment_dispute_reason_spec.rb +30 -0
  347. data/spec/models/payment_dispute_response_spec.rb +112 -0
  348. data/spec/models/payment_dispute_status_spec.rb +30 -0
  349. data/spec/models/payment_flow_cancel_request_spec.rb +40 -0
  350. data/spec/models/payment_flow_cancellation_reason_spec.rb +30 -0
  351. data/spec/models/payment_flow_capture_request_spec.rb +36 -0
  352. data/spec/models/payment_flow_confirm_request_spec.rb +66 -0
  353. data/spec/models/payment_flow_create_request_spec.rb +96 -0
  354. data/spec/models/payment_flow_data_request_spec.rb +48 -0
  355. data/spec/models/payment_flow_list_response_spec.rb +58 -0
  356. data/spec/models/payment_flow_payment_method_options_card_request_spec.rb +50 -0
  357. data/spec/models/payment_flow_payment_method_options_request_spec.rb +36 -0
  358. data/spec/models/payment_flow_response_spec.rb +172 -0
  359. data/spec/models/payment_flow_status_spec.rb +30 -0
  360. data/spec/models/payment_flow_update_request_spec.rb +78 -0
  361. data/spec/models/payment_method_apple_pay_create_request_spec.rb +64 -0
  362. data/spec/models/payment_method_apple_pay_update_request_spec.rb +52 -0
  363. data/spec/models/payment_method_attach_request_spec.rb +36 -0
  364. data/spec/models/payment_method_billing_address_request_spec.rb +66 -0
  365. data/spec/models/payment_method_billing_address_response_spec.rb +66 -0
  366. data/spec/models/payment_method_billing_details_request_spec.rb +54 -0
  367. data/spec/models/payment_method_billing_details_response_spec.rb +54 -0
  368. data/spec/models/payment_method_card_billing_details_request_spec.rb +54 -0
  369. data/spec/models/payment_method_card_create_request_spec.rb +64 -0
  370. data/spec/models/payment_method_card_details_response_spec.rb +66 -0
  371. data/spec/models/payment_method_card_response_spec.rb +104 -0
  372. data/spec/models/payment_method_card_update_request_spec.rb +52 -0
  373. data/spec/models/payment_method_configuration_details_response_spec.rb +82 -0
  374. data/spec/models/payment_method_configuration_display_preference_spec.rb +50 -0
  375. data/spec/models/payment_method_configuration_list_response_spec.rb +58 -0
  376. data/spec/models/payment_method_configuration_setting_response_spec.rb +42 -0
  377. data/spec/models/payment_method_configuration_update_request_spec.rb +60 -0
  378. data/spec/models/payment_method_create_card_details_request_spec.rb +54 -0
  379. data/spec/models/payment_method_create_request_spec.rb +44 -0
  380. data/spec/models/payment_method_list_response_spec.rb +58 -0
  381. data/spec/models/payment_method_pay_pay_create_request_spec.rb +58 -0
  382. data/spec/models/payment_method_pay_pay_response_spec.rb +98 -0
  383. data/spec/models/payment_method_pay_pay_update_request_spec.rb +52 -0
  384. data/spec/models/payment_method_response_spec.rb +21 -0
  385. data/spec/models/payment_method_types_spec.rb +30 -0
  386. data/spec/models/payment_method_update_request_spec.rb +44 -0
  387. data/spec/models/payment_refund_create_request_spec.rb +54 -0
  388. data/spec/models/payment_refund_list_response_spec.rb +58 -0
  389. data/spec/models/payment_refund_reason_spec.rb +30 -0
  390. data/spec/models/payment_refund_response_spec.rb +94 -0
  391. data/spec/models/payment_refund_status_spec.rb +30 -0
  392. data/spec/models/payment_refund_update_request_spec.rb +36 -0
  393. data/spec/models/payment_transaction_list_response_spec.rb +58 -0
  394. data/spec/models/payment_transaction_response_spec.rb +112 -0
  395. data/spec/models/payment_transaction_type_spec.rb +30 -0
  396. data/spec/models/price_create_request_spec.rb +78 -0
  397. data/spec/models/price_details_response_spec.rb +112 -0
  398. data/spec/models/price_list_response_spec.rb +58 -0
  399. data/spec/models/price_type_spec.rb +30 -0
  400. data/spec/models/price_update_request_spec.rb +54 -0
  401. data/spec/models/product_create_request_spec.rb +66 -0
  402. data/spec/models/product_deleted_response_spec.rb +52 -0
  403. data/spec/models/product_details_response_spec.rb +82 -0
  404. data/spec/models/product_list_response_spec.rb +58 -0
  405. data/spec/models/product_update_request_spec.rb +66 -0
  406. data/spec/models/setup_flow_cancel_request_spec.rb +36 -0
  407. data/spec/models/setup_flow_cancellation_reason_spec.rb +30 -0
  408. data/spec/models/setup_flow_create_request_spec.rb +70 -0
  409. data/spec/models/setup_flow_data_request_spec.rb +42 -0
  410. data/spec/models/setup_flow_list_response_spec.rb +58 -0
  411. data/spec/models/setup_flow_payment_method_options_card_request_spec.rb +40 -0
  412. data/spec/models/setup_flow_payment_method_options_request_spec.rb +36 -0
  413. data/spec/models/setup_flow_response_spec.rb +136 -0
  414. data/spec/models/setup_flow_status_spec.rb +30 -0
  415. data/spec/models/setup_flow_update_request_spec.rb +64 -0
  416. data/spec/models/statement_item_response_spec.rb +54 -0
  417. data/spec/models/statement_list_response_spec.rb +58 -0
  418. data/spec/models/statement_response_spec.rb +100 -0
  419. data/spec/models/statement_subject_spec.rb +30 -0
  420. data/spec/models/statement_type_spec.rb +30 -0
  421. data/spec/models/statement_url_response_spec.rb +52 -0
  422. data/spec/models/tax_rate_create_request_spec.rb +72 -0
  423. data/spec/models/tax_rate_details_response_spec.rb +88 -0
  424. data/spec/models/tax_rate_list_response_spec.rb +58 -0
  425. data/spec/models/tax_rate_update_request_spec.rb +60 -0
  426. data/spec/models/term_list_response_spec.rb +58 -0
  427. data/spec/models/term_response_spec.rb +70 -0
  428. data/spec/models/usage_spec.rb +30 -0
  429. data/spec/spec_helper.rb +111 -0
  430. metadata +651 -0
@@ -0,0 +1,282 @@
1
+ =begin
2
+ #PAY.JP API v2
3
+
4
+ #No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
5
+
6
+ The version of the OpenAPI document: 2.0.0
7
+
8
+ Generated by: https://openapi-generator.tech
9
+ Generator version: 7.14.0
10
+
11
+ =end
12
+
13
+ require 'date'
14
+ require 'time'
15
+
16
+ module PAYJPv2
17
+ class SetupFlowCreateRequest
18
+ # この SetupFlow に関連付ける顧客の ID。SetupFlow により作られた PaymentMethod はこの顧客に紐付きます。
19
+ attr_accessor :customer_id
20
+
21
+ # この SetupFlow 固有の支払い方法の設定
22
+ attr_accessor :payment_method_options
23
+
24
+ # この SetupFlow で使用できる支払い方法の種類のリスト。 指定しない場合は、PAY.JP は支払い方法の設定から利用可能な支払い方法を動的に表示します。
25
+ attr_accessor :payment_method_types
26
+
27
+ # 支払い方法が今後どのように使用されるかを指定します。指定されていない場合、この値はデフォルトで `off_session` になります。 | 値 | |:---| | **off_session**: 定期課金など、顧客がカートなどの決済フローにいるかどうか不明な場合は `off_session` を使用してください。 | | **on_session**: 顧客がカートなどの決済フローにいる場合にのみ支払い方法を利用する場合は `on_session` を使用してください。 |
28
+ attr_accessor :usage
29
+
30
+ # 説明。
31
+ attr_accessor :description
32
+
33
+ # キーバリューの任意のデータを格納できます。20件まで登録可能で、空文字列を指定するとそのキーを削除できます。<a href=\"https://docs.pay.jp/v2/guide/developers/metadata\">詳細はメタデータのドキュメントを参照してください。</a>
34
+ attr_accessor :metadata
35
+
36
+ class EnumAttributeValidator
37
+ attr_reader :datatype
38
+ attr_reader :allowable_values
39
+
40
+ def initialize(datatype, allowable_values)
41
+ @allowable_values = allowable_values.map do |value|
42
+ case datatype.to_s
43
+ when /Integer/i
44
+ value.to_i
45
+ when /Float/i
46
+ value.to_f
47
+ else
48
+ value
49
+ end
50
+ end
51
+ end
52
+
53
+ def valid?(value)
54
+ !value || allowable_values.include?(value)
55
+ end
56
+ end
57
+
58
+ # Attribute mapping from ruby-style variable name to JSON key.
59
+ def self.attribute_map
60
+ {
61
+ :customer_id => :customer_id,
62
+ :payment_method_options => :payment_method_options,
63
+ :payment_method_types => :payment_method_types,
64
+ :usage => :usage,
65
+ :description => :description,
66
+ :metadata => :metadata
67
+ }
68
+ end
69
+
70
+ # Returns attribute mapping this model knows about
71
+ def self.acceptable_attribute_map
72
+ attribute_map
73
+ end
74
+
75
+ # Returns all the JSON keys this model knows about
76
+ def self.acceptable_attributes
77
+ acceptable_attribute_map.values
78
+ end
79
+
80
+ # Attribute type mapping.
81
+ def self.openapi_types
82
+ {
83
+ :customer_id => :'String',
84
+ :payment_method_options => :'SetupFlowPaymentMethodOptionsRequest',
85
+ :payment_method_types => :'Array<String>',
86
+ :usage => :'Usage',
87
+ :description => :'String',
88
+ :metadata => :'Hash<String, MetadataValue>'
89
+ }
90
+ end
91
+
92
+ # List of attributes with nullable: true
93
+ def self.openapi_nullable
94
+ Set.new([
95
+ ])
96
+ end
97
+
98
+ # Initializes the object
99
+ # @param [Hash] attributes Model attributes in the form of hash
100
+ def initialize(attributes = {})
101
+ if (!attributes.is_a?(Hash))
102
+ raise ArgumentError, "The input argument (attributes) must be a hash in `PAYJPv2::SetupFlowCreateRequest` initialize method"
103
+ end
104
+
105
+ # check to see if the attribute exists and convert string to symbol for hash key
106
+ acceptable_attribute_map = self.class.acceptable_attribute_map
107
+ attributes = attributes.each_with_object({}) { |(k, v), h|
108
+ if (!acceptable_attribute_map.key?(k.to_sym))
109
+ raise ArgumentError, "`#{k}` is not a valid attribute in `PAYJPv2::SetupFlowCreateRequest`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
110
+ end
111
+ h[k.to_sym] = v
112
+ }
113
+
114
+ if attributes.key?(:customer_id)
115
+ self.customer_id = attributes[:customer_id]
116
+ end
117
+
118
+ if attributes.key?(:payment_method_options)
119
+ self.payment_method_options = attributes[:payment_method_options]
120
+ end
121
+
122
+ if attributes.key?(:payment_method_types)
123
+ if (value = attributes[:payment_method_types]).is_a?(Array)
124
+ self.payment_method_types = value
125
+ end
126
+ end
127
+
128
+ if attributes.key?(:usage)
129
+ self.usage = attributes[:usage]
130
+ end
131
+
132
+ if attributes.key?(:description)
133
+ self.description = attributes[:description]
134
+ end
135
+
136
+ if attributes.key?(:metadata)
137
+ if (value = attributes[:metadata]).is_a?(Hash)
138
+ self.metadata = value
139
+ end
140
+ end
141
+ end
142
+
143
+ # Checks equality by comparing each attribute.
144
+ # @param [Object] Object to be compared
145
+ def ==(o)
146
+ return true if self.equal?(o)
147
+ self.class == o.class &&
148
+ customer_id == o.customer_id &&
149
+ payment_method_options == o.payment_method_options &&
150
+ payment_method_types == o.payment_method_types &&
151
+ usage == o.usage &&
152
+ description == o.description &&
153
+ metadata == o.metadata
154
+ end
155
+
156
+ # @see the `==` method
157
+ # @param [Object] Object to be compared
158
+ def eql?(o)
159
+ self == o
160
+ end
161
+
162
+ # Calculates hash code according to all attributes.
163
+ # @return [Integer] Hash code
164
+ def hash
165
+ [customer_id, payment_method_options, payment_method_types, usage, description, metadata].hash
166
+ end
167
+
168
+ # Builds the object from hash
169
+ # @param [Hash] attributes Model attributes in the form of hash
170
+ # @return [Object] Returns the model itself
171
+ def self.build_from_hash(attributes)
172
+ return nil unless attributes.is_a?(Hash)
173
+ attributes = attributes.transform_keys(&:to_sym)
174
+ transformed_hash = {}
175
+ openapi_types.each_pair do |key, type|
176
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
177
+ transformed_hash["#{key}"] = nil
178
+ elsif type =~ /\AArray<(.*)>/i
179
+ # check to ensure the input is an array given that the attribute
180
+ # is documented as an array but the input is not
181
+ if attributes[attribute_map[key]].is_a?(Array)
182
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
183
+ end
184
+ elsif !attributes[attribute_map[key]].nil?
185
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
186
+ end
187
+ end
188
+ new(transformed_hash)
189
+ end
190
+
191
+ # Deserializes the data based on type
192
+ # @param string type Data type
193
+ # @param string value Value to be deserialized
194
+ # @return [Object] Deserialized data
195
+ def self._deserialize(type, value)
196
+ case type.to_sym
197
+ when :Time
198
+ Time.parse(value)
199
+ when :Date
200
+ Date.parse(value)
201
+ when :String
202
+ value.to_s
203
+ when :Integer
204
+ value.to_i
205
+ when :Float
206
+ value.to_f
207
+ when :Boolean
208
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
209
+ true
210
+ else
211
+ false
212
+ end
213
+ when :Object
214
+ # generic object (usually a Hash), return directly
215
+ value
216
+ when /\AArray<(?<inner_type>.+)>\z/
217
+ inner_type = Regexp.last_match[:inner_type]
218
+ value.map { |v| _deserialize(inner_type, v) }
219
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
220
+ k_type = Regexp.last_match[:k_type]
221
+ v_type = Regexp.last_match[:v_type]
222
+ {}.tap do |hash|
223
+ value.each do |k, v|
224
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
225
+ end
226
+ end
227
+ else # model
228
+ # models (e.g. Pet) or oneOf
229
+ klass = PAYJPv2.const_get(type)
230
+ klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
231
+ end
232
+ end
233
+
234
+ # Returns the string representation of the object
235
+ # @return [String] String presentation of the object
236
+ def to_s
237
+ to_hash.to_s
238
+ end
239
+
240
+ # to_body is an alias to to_hash (backward compatibility)
241
+ # @return [Hash] Returns the object in the form of hash
242
+ def to_body
243
+ to_hash
244
+ end
245
+
246
+ # Returns the object in the form of hash
247
+ # @return [Hash] Returns the object in the form of hash
248
+ def to_hash
249
+ hash = {}
250
+ self.class.attribute_map.each_pair do |attr, param|
251
+ value = self.send(attr)
252
+ if value.nil?
253
+ is_nullable = self.class.openapi_nullable.include?(attr)
254
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
255
+ end
256
+
257
+ hash[param] = _to_hash(value)
258
+ end
259
+ hash
260
+ end
261
+
262
+ # Outputs non-array value in the form of hash
263
+ # For object, use to_hash. Otherwise, just return the value
264
+ # @param [Object] value Any valid value
265
+ # @return [Hash] Returns the value in the form of hash
266
+ def _to_hash(value)
267
+ if value.is_a?(Array)
268
+ value.compact.map { |v| _to_hash(v) }
269
+ elsif value.is_a?(Hash)
270
+ {}.tap do |hash|
271
+ value.each { |k, v| hash[k] = _to_hash(v) }
272
+ end
273
+ elsif value.respond_to? :to_hash
274
+ value.to_hash
275
+ else
276
+ value
277
+ end
278
+ end
279
+
280
+ end
281
+
282
+ end
@@ -0,0 +1,218 @@
1
+ =begin
2
+ #PAY.JP API v2
3
+
4
+ #No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
5
+
6
+ The version of the OpenAPI document: 2.0.0
7
+
8
+ Generated by: https://openapi-generator.tech
9
+ Generator version: 7.14.0
10
+
11
+ =end
12
+
13
+ require 'date'
14
+ require 'time'
15
+
16
+ module PAYJPv2
17
+ class SetupFlowDataRequest
18
+ attr_accessor :description
19
+
20
+ # キーバリューの任意のデータを格納できます。20件まで登録可能で、空文字列を指定するとそのキーを削除できます。<a href=\"https://docs.pay.jp/v2/guide/developers/metadata\">詳細はメタデータのドキュメントを参照してください。</a>
21
+ attr_accessor :metadata
22
+
23
+ # Attribute mapping from ruby-style variable name to JSON key.
24
+ def self.attribute_map
25
+ {
26
+ :description => :description,
27
+ :metadata => :metadata
28
+ }
29
+ end
30
+
31
+ # Returns attribute mapping this model knows about
32
+ def self.acceptable_attribute_map
33
+ attribute_map
34
+ end
35
+
36
+ # Returns all the JSON keys this model knows about
37
+ def self.acceptable_attributes
38
+ acceptable_attribute_map.values
39
+ end
40
+
41
+ # Attribute type mapping.
42
+ def self.openapi_types
43
+ {
44
+ :description => :'String',
45
+ :metadata => :'Hash<String, MetadataValue>'
46
+ }
47
+ end
48
+
49
+ # List of attributes with nullable: true
50
+ def self.openapi_nullable
51
+ Set.new([
52
+ :description,
53
+ ])
54
+ end
55
+
56
+ # Initializes the object
57
+ # @param [Hash] attributes Model attributes in the form of hash
58
+ def initialize(attributes = {})
59
+ if (!attributes.is_a?(Hash))
60
+ raise ArgumentError, "The input argument (attributes) must be a hash in `PAYJPv2::SetupFlowDataRequest` initialize method"
61
+ end
62
+
63
+ # check to see if the attribute exists and convert string to symbol for hash key
64
+ acceptable_attribute_map = self.class.acceptable_attribute_map
65
+ attributes = attributes.each_with_object({}) { |(k, v), h|
66
+ if (!acceptable_attribute_map.key?(k.to_sym))
67
+ raise ArgumentError, "`#{k}` is not a valid attribute in `PAYJPv2::SetupFlowDataRequest`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
68
+ end
69
+ h[k.to_sym] = v
70
+ }
71
+
72
+ if attributes.key?(:description)
73
+ self.description = attributes[:description]
74
+ end
75
+
76
+ if attributes.key?(:metadata)
77
+ if (value = attributes[:metadata]).is_a?(Hash)
78
+ self.metadata = value
79
+ end
80
+ end
81
+ end
82
+
83
+ # Checks equality by comparing each attribute.
84
+ # @param [Object] Object to be compared
85
+ def ==(o)
86
+ return true if self.equal?(o)
87
+ self.class == o.class &&
88
+ description == o.description &&
89
+ metadata == o.metadata
90
+ end
91
+
92
+ # @see the `==` method
93
+ # @param [Object] Object to be compared
94
+ def eql?(o)
95
+ self == o
96
+ end
97
+
98
+ # Calculates hash code according to all attributes.
99
+ # @return [Integer] Hash code
100
+ def hash
101
+ [description, metadata].hash
102
+ end
103
+
104
+ # Builds the object from hash
105
+ # @param [Hash] attributes Model attributes in the form of hash
106
+ # @return [Object] Returns the model itself
107
+ def self.build_from_hash(attributes)
108
+ return nil unless attributes.is_a?(Hash)
109
+ attributes = attributes.transform_keys(&:to_sym)
110
+ transformed_hash = {}
111
+ openapi_types.each_pair do |key, type|
112
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
113
+ transformed_hash["#{key}"] = nil
114
+ elsif type =~ /\AArray<(.*)>/i
115
+ # check to ensure the input is an array given that the attribute
116
+ # is documented as an array but the input is not
117
+ if attributes[attribute_map[key]].is_a?(Array)
118
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
119
+ end
120
+ elsif !attributes[attribute_map[key]].nil?
121
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
122
+ end
123
+ end
124
+ new(transformed_hash)
125
+ end
126
+
127
+ # Deserializes the data based on type
128
+ # @param string type Data type
129
+ # @param string value Value to be deserialized
130
+ # @return [Object] Deserialized data
131
+ def self._deserialize(type, value)
132
+ case type.to_sym
133
+ when :Time
134
+ Time.parse(value)
135
+ when :Date
136
+ Date.parse(value)
137
+ when :String
138
+ value.to_s
139
+ when :Integer
140
+ value.to_i
141
+ when :Float
142
+ value.to_f
143
+ when :Boolean
144
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
145
+ true
146
+ else
147
+ false
148
+ end
149
+ when :Object
150
+ # generic object (usually a Hash), return directly
151
+ value
152
+ when /\AArray<(?<inner_type>.+)>\z/
153
+ inner_type = Regexp.last_match[:inner_type]
154
+ value.map { |v| _deserialize(inner_type, v) }
155
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
156
+ k_type = Regexp.last_match[:k_type]
157
+ v_type = Regexp.last_match[:v_type]
158
+ {}.tap do |hash|
159
+ value.each do |k, v|
160
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
161
+ end
162
+ end
163
+ else # model
164
+ # models (e.g. Pet) or oneOf
165
+ klass = PAYJPv2.const_get(type)
166
+ klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
167
+ end
168
+ end
169
+
170
+ # Returns the string representation of the object
171
+ # @return [String] String presentation of the object
172
+ def to_s
173
+ to_hash.to_s
174
+ end
175
+
176
+ # to_body is an alias to to_hash (backward compatibility)
177
+ # @return [Hash] Returns the object in the form of hash
178
+ def to_body
179
+ to_hash
180
+ end
181
+
182
+ # Returns the object in the form of hash
183
+ # @return [Hash] Returns the object in the form of hash
184
+ def to_hash
185
+ hash = {}
186
+ self.class.attribute_map.each_pair do |attr, param|
187
+ value = self.send(attr)
188
+ if value.nil?
189
+ is_nullable = self.class.openapi_nullable.include?(attr)
190
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
191
+ end
192
+
193
+ hash[param] = _to_hash(value)
194
+ end
195
+ hash
196
+ end
197
+
198
+ # Outputs non-array value in the form of hash
199
+ # For object, use to_hash. Otherwise, just return the value
200
+ # @param [Object] value Any valid value
201
+ # @return [Hash] Returns the value in the form of hash
202
+ def _to_hash(value)
203
+ if value.is_a?(Array)
204
+ value.compact.map { |v| _to_hash(v) }
205
+ elsif value.is_a?(Hash)
206
+ {}.tap do |hash|
207
+ value.each { |k, v| hash[k] = _to_hash(v) }
208
+ end
209
+ elsif value.respond_to? :to_hash
210
+ value.to_hash
211
+ else
212
+ value
213
+ end
214
+ end
215
+
216
+ end
217
+
218
+ end