dodopayments 0.0.1.pre.alpha.0 → 1.16.1

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 (381) hide show
  1. checksums.yaml +4 -4
  2. data/.ignore +2 -0
  3. data/CHANGELOG.md +132 -0
  4. data/README.md +84 -23
  5. data/SECURITY.md +27 -0
  6. data/lib/dodopayments/client.rb +15 -19
  7. data/lib/dodopayments/errors.rb +168 -159
  8. data/lib/dodopayments/internal/default_page_number_pagination.rb +91 -0
  9. data/lib/dodopayments/internal/transport/base_client.rb +486 -0
  10. data/lib/dodopayments/internal/transport/pooled_net_requester.rb +197 -0
  11. data/lib/dodopayments/internal/type/array_of.rb +143 -0
  12. data/lib/dodopayments/internal/type/base_model.rb +423 -0
  13. data/lib/dodopayments/internal/type/base_page.rb +47 -0
  14. data/lib/dodopayments/internal/type/boolean.rb +60 -0
  15. data/lib/dodopayments/internal/type/converter.rb +271 -0
  16. data/lib/dodopayments/internal/type/enum.rb +129 -0
  17. data/lib/dodopayments/internal/type/hash_of.rb +163 -0
  18. data/lib/dodopayments/internal/type/io_like.rb +77 -0
  19. data/lib/dodopayments/internal/type/request_parameters.rb +49 -0
  20. data/lib/dodopayments/internal/type/union.rb +232 -0
  21. data/lib/dodopayments/internal/type/unknown.rb +64 -0
  22. data/lib/dodopayments/internal/util.rb +782 -0
  23. data/lib/dodopayments/internal.rb +12 -0
  24. data/lib/dodopayments/models/attach_existing_customer.rb +2 -2
  25. data/lib/dodopayments/models/billing_address.rb +2 -2
  26. data/lib/dodopayments/models/country_code.rb +7 -3
  27. data/lib/dodopayments/models/create_new_customer.rb +5 -5
  28. data/lib/dodopayments/models/customer.rb +3 -2
  29. data/lib/dodopayments/models/customer_create_params.rb +5 -4
  30. data/lib/dodopayments/models/customer_limited_details.rb +2 -2
  31. data/lib/dodopayments/models/customer_list_params.rb +5 -4
  32. data/lib/dodopayments/models/customer_portal_session.rb +2 -2
  33. data/lib/dodopayments/models/customer_request.rb +5 -6
  34. data/lib/dodopayments/models/customer_retrieve_params.rb +5 -4
  35. data/lib/dodopayments/models/customer_update_params.rb +5 -4
  36. data/lib/dodopayments/models/customers/customer_portal_create_params.rb +6 -5
  37. data/lib/dodopayments/models/discount.rb +7 -6
  38. data/lib/dodopayments/models/discount_create_params.rb +13 -12
  39. data/lib/dodopayments/models/discount_delete_params.rb +5 -4
  40. data/lib/dodopayments/models/discount_list_params.rb +5 -4
  41. data/lib/dodopayments/models/discount_retrieve_params.rb +5 -4
  42. data/lib/dodopayments/models/discount_type.rb +7 -2
  43. data/lib/dodopayments/models/discount_update_params.rb +11 -10
  44. data/lib/dodopayments/models/dispute.rb +4 -3
  45. data/lib/dodopayments/models/dispute_list_params.rb +5 -4
  46. data/lib/dodopayments/models/dispute_retrieve_params.rb +5 -4
  47. data/lib/dodopayments/models/dispute_stage.rb +7 -2
  48. data/lib/dodopayments/models/dispute_status.rb +7 -2
  49. data/lib/dodopayments/models/intent_status.rb +7 -2
  50. data/lib/dodopayments/models/invoices/payment_retrieve_params.rb +5 -4
  51. data/lib/dodopayments/models/license_activate_params.rb +5 -4
  52. data/lib/dodopayments/models/license_deactivate_params.rb +5 -4
  53. data/lib/dodopayments/models/license_key.rb +4 -3
  54. data/lib/dodopayments/models/license_key_duration.rb +2 -2
  55. data/lib/dodopayments/models/license_key_instance.rb +3 -2
  56. data/lib/dodopayments/models/license_key_instance_list_params.rb +5 -4
  57. data/lib/dodopayments/models/license_key_instance_retrieve_params.rb +5 -4
  58. data/lib/dodopayments/models/license_key_instance_update_params.rb +5 -4
  59. data/lib/dodopayments/models/license_key_list_params.rb +5 -4
  60. data/lib/dodopayments/models/license_key_retrieve_params.rb +5 -4
  61. data/lib/dodopayments/models/license_key_status.rb +7 -2
  62. data/lib/dodopayments/models/license_key_update_params.rb +9 -8
  63. data/lib/dodopayments/models/license_validate_params.rb +5 -4
  64. data/lib/dodopayments/models/license_validate_response.rb +4 -3
  65. data/lib/dodopayments/models/misc_list_supported_countries_params.rb +5 -4
  66. data/lib/dodopayments/models/misc_list_supported_countries_response.rb +2 -1
  67. data/lib/dodopayments/models/one_time_product_cart_item.rb +4 -3
  68. data/lib/dodopayments/models/payment.rb +18 -11
  69. data/lib/dodopayments/models/payment_create_params.rb +232 -9
  70. data/lib/dodopayments/models/payment_create_response.rb +6 -5
  71. data/lib/dodopayments/models/payment_list_params.rb +5 -4
  72. data/lib/dodopayments/models/payment_list_response.rb +12 -5
  73. data/lib/dodopayments/models/payment_retrieve_params.rb +5 -4
  74. data/lib/dodopayments/models/payout_list_params.rb +5 -4
  75. data/lib/dodopayments/models/payout_list_response.rb +21 -6
  76. data/lib/dodopayments/models/price.rb +41 -30
  77. data/lib/dodopayments/models/product.rb +17 -10
  78. data/lib/dodopayments/models/product_create_params.rb +16 -11
  79. data/lib/dodopayments/models/product_delete_params.rb +5 -4
  80. data/lib/dodopayments/models/product_list_params.rb +10 -9
  81. data/lib/dodopayments/models/product_list_response.rb +30 -17
  82. data/lib/dodopayments/models/product_retrieve_params.rb +5 -4
  83. data/lib/dodopayments/models/product_unarchive_params.rb +5 -4
  84. data/lib/dodopayments/models/product_update_params.rb +22 -17
  85. data/lib/dodopayments/models/products/image_update_params.rb +6 -5
  86. data/lib/dodopayments/models/products/image_update_response.rb +3 -2
  87. data/lib/dodopayments/models/refund.rb +11 -4
  88. data/lib/dodopayments/models/refund_create_params.rb +6 -13
  89. data/lib/dodopayments/models/refund_list_params.rb +5 -4
  90. data/lib/dodopayments/models/refund_retrieve_params.rb +5 -4
  91. data/lib/dodopayments/models/refund_status.rb +7 -2
  92. data/lib/dodopayments/models/subscription.rb +21 -7
  93. data/lib/dodopayments/models/subscription_charge_params.rb +27 -0
  94. data/lib/dodopayments/models/subscription_charge_response.rb +20 -0
  95. data/lib/dodopayments/models/subscription_create_params.rb +262 -8
  96. data/lib/dodopayments/models/subscription_create_response.rb +6 -5
  97. data/lib/dodopayments/models/subscription_list_params.rb +5 -4
  98. data/lib/dodopayments/models/subscription_retrieve_params.rb +5 -4
  99. data/lib/dodopayments/models/subscription_status.rb +7 -2
  100. data/lib/dodopayments/models/subscription_update_params.rb +19 -6
  101. data/lib/dodopayments/models/time_interval.rb +7 -2
  102. data/lib/dodopayments/models/webhook_event.rb +3 -2
  103. data/lib/dodopayments/models/webhook_event_list_params.rb +6 -5
  104. data/lib/dodopayments/models/webhook_event_retrieve_params.rb +5 -4
  105. data/lib/dodopayments/request_options.rb +12 -47
  106. data/lib/dodopayments/resources/customers/customer_portal.rb +10 -8
  107. data/lib/dodopayments/resources/customers.rb +30 -29
  108. data/lib/dodopayments/resources/discounts.rb +45 -69
  109. data/lib/dodopayments/resources/disputes.rb +20 -22
  110. data/lib/dodopayments/resources/invoices/payments.rb +8 -5
  111. data/lib/dodopayments/resources/invoices.rb +2 -0
  112. data/lib/dodopayments/resources/license_key_instances.rb +23 -21
  113. data/lib/dodopayments/resources/license_keys.rb +27 -32
  114. data/lib/dodopayments/resources/licenses.rb +20 -18
  115. data/lib/dodopayments/resources/misc.rb +7 -3
  116. data/lib/dodopayments/resources/payments.rb +36 -43
  117. data/lib/dodopayments/resources/payouts.rb +9 -7
  118. data/lib/dodopayments/resources/products/images.rb +9 -7
  119. data/lib/dodopayments/resources/products.rb +59 -87
  120. data/lib/dodopayments/resources/refunds.rb +25 -29
  121. data/lib/dodopayments/resources/subscriptions.rb +68 -54
  122. data/lib/dodopayments/resources/webhook_events.rb +20 -21
  123. data/lib/dodopayments/version.rb +1 -1
  124. data/lib/dodopayments.rb +34 -7
  125. data/manifest.yaml +1 -0
  126. data/rbi/lib/dodopayments/client.rbi +32 -47
  127. data/rbi/lib/dodopayments/errors.rbi +125 -161
  128. data/rbi/lib/dodopayments/internal/default_page_number_pagination.rbi +18 -0
  129. data/rbi/lib/dodopayments/internal/transport/base_client.rbi +199 -0
  130. data/rbi/lib/dodopayments/internal/transport/pooled_net_requester.rbi +60 -0
  131. data/rbi/lib/dodopayments/internal/type/array_of.rbi +85 -0
  132. data/rbi/lib/dodopayments/internal/type/base_model.rbi +214 -0
  133. data/rbi/lib/dodopayments/internal/type/base_page.rbi +36 -0
  134. data/rbi/lib/dodopayments/internal/type/boolean.rbi +48 -0
  135. data/rbi/lib/dodopayments/internal/type/converter.rbi +120 -0
  136. data/rbi/lib/dodopayments/internal/type/enum.rbi +69 -0
  137. data/rbi/lib/dodopayments/internal/type/hash_of.rbi +85 -0
  138. data/rbi/lib/dodopayments/internal/type/io_like.rbi +46 -0
  139. data/rbi/lib/dodopayments/internal/type/request_parameters.rbi +21 -0
  140. data/rbi/lib/dodopayments/internal/type/union.rbi +77 -0
  141. data/rbi/lib/dodopayments/internal/type/unknown.rbi +40 -0
  142. data/rbi/lib/dodopayments/internal/util.rbi +297 -0
  143. data/rbi/lib/dodopayments/internal.rbi +12 -0
  144. data/rbi/lib/dodopayments/models/attach_existing_customer.rbi +4 -11
  145. data/rbi/lib/dodopayments/models/billing_address.rbi +20 -38
  146. data/rbi/lib/dodopayments/models/country_code.rbi +256 -256
  147. data/rbi/lib/dodopayments/models/create_new_customer.rbi +11 -30
  148. data/rbi/lib/dodopayments/models/customer.rbi +9 -41
  149. data/rbi/lib/dodopayments/models/customer_create_params.rbi +9 -26
  150. data/rbi/lib/dodopayments/models/customer_limited_details.rbi +6 -23
  151. data/rbi/lib/dodopayments/models/customer_list_params.rbi +8 -20
  152. data/rbi/lib/dodopayments/models/customer_portal_session.rbi +4 -11
  153. data/rbi/lib/dodopayments/models/customer_request.rbi +4 -7
  154. data/rbi/lib/dodopayments/models/customer_retrieve_params.rbi +6 -8
  155. data/rbi/lib/dodopayments/models/customer_update_params.rbi +8 -20
  156. data/rbi/lib/dodopayments/models/customers/customer_portal_create_params.rbi +7 -14
  157. data/rbi/lib/dodopayments/models/discount.rbi +20 -78
  158. data/rbi/lib/dodopayments/models/discount_create_params.rbi +23 -61
  159. data/rbi/lib/dodopayments/models/discount_delete_params.rbi +6 -8
  160. data/rbi/lib/dodopayments/models/discount_list_params.rbi +8 -20
  161. data/rbi/lib/dodopayments/models/discount_retrieve_params.rbi +6 -8
  162. data/rbi/lib/dodopayments/models/discount_type.rbi +8 -8
  163. data/rbi/lib/dodopayments/models/discount_update_params.rbi +21 -59
  164. data/rbi/lib/dodopayments/models/dispute.rbi +27 -59
  165. data/rbi/lib/dodopayments/models/dispute_list_params.rbi +19 -57
  166. data/rbi/lib/dodopayments/models/dispute_retrieve_params.rbi +6 -8
  167. data/rbi/lib/dodopayments/models/dispute_stage.rbi +10 -10
  168. data/rbi/lib/dodopayments/models/dispute_status.rbi +14 -14
  169. data/rbi/lib/dodopayments/models/intent_status.rbi +22 -18
  170. data/rbi/lib/dodopayments/models/invoices/payment_retrieve_params.rbi +6 -8
  171. data/rbi/lib/dodopayments/models/license_activate_params.rbi +8 -20
  172. data/rbi/lib/dodopayments/models/license_deactivate_params.rbi +8 -20
  173. data/rbi/lib/dodopayments/models/license_key.rbi +19 -82
  174. data/rbi/lib/dodopayments/models/license_key_duration.rbi +8 -20
  175. data/rbi/lib/dodopayments/models/license_key_instance.rbi +8 -35
  176. data/rbi/lib/dodopayments/models/license_key_instance_list_params.rbi +9 -26
  177. data/rbi/lib/dodopayments/models/license_key_instance_retrieve_params.rbi +6 -8
  178. data/rbi/lib/dodopayments/models/license_key_instance_update_params.rbi +7 -17
  179. data/rbi/lib/dodopayments/models/license_key_list_params.rbi +21 -40
  180. data/rbi/lib/dodopayments/models/license_key_retrieve_params.rbi +6 -8
  181. data/rbi/lib/dodopayments/models/license_key_status.rbi +10 -10
  182. data/rbi/lib/dodopayments/models/license_key_update_params.rbi +12 -29
  183. data/rbi/lib/dodopayments/models/license_validate_params.rbi +8 -20
  184. data/rbi/lib/dodopayments/models/license_validate_response.rbi +4 -11
  185. data/rbi/lib/dodopayments/models/misc_list_supported_countries_params.rbi +6 -8
  186. data/rbi/lib/dodopayments/models/misc_list_supported_countries_response.rbi +5 -1
  187. data/rbi/lib/dodopayments/models/one_time_product_cart_item.rbi +8 -24
  188. data/rbi/lib/dodopayments/models/payment.rbi +197 -308
  189. data/rbi/lib/dodopayments/models/payment_create_params.rbi +261 -61
  190. data/rbi/lib/dodopayments/models/payment_create_response.rbi +16 -60
  191. data/rbi/lib/dodopayments/models/payment_list_params.rbi +16 -54
  192. data/rbi/lib/dodopayments/models/payment_list_response.rbi +178 -228
  193. data/rbi/lib/dodopayments/models/payment_retrieve_params.rbi +6 -8
  194. data/rbi/lib/dodopayments/models/payout_list_params.rbi +8 -20
  195. data/rbi/lib/dodopayments/models/payout_list_response.rbi +197 -271
  196. data/rbi/lib/dodopayments/models/price.rbi +368 -464
  197. data/rbi/lib/dodopayments/models/product.rbi +48 -119
  198. data/rbi/lib/dodopayments/models/product_create_params.rbi +46 -86
  199. data/rbi/lib/dodopayments/models/product_delete_params.rbi +6 -8
  200. data/rbi/lib/dodopayments/models/product_list_params.rbi +15 -34
  201. data/rbi/lib/dodopayments/models/product_list_response.rbi +209 -275
  202. data/rbi/lib/dodopayments/models/product_retrieve_params.rbi +6 -8
  203. data/rbi/lib/dodopayments/models/product_unarchive_params.rbi +6 -8
  204. data/rbi/lib/dodopayments/models/product_update_params.rbi +55 -102
  205. data/rbi/lib/dodopayments/models/products/image_update_params.rbi +7 -14
  206. data/rbi/lib/dodopayments/models/products/image_update_response.rbi +5 -17
  207. data/rbi/lib/dodopayments/models/refund.rbi +181 -213
  208. data/rbi/lib/dodopayments/models/refund_create_params.rbi +13 -39
  209. data/rbi/lib/dodopayments/models/refund_list_params.rbi +15 -48
  210. data/rbi/lib/dodopayments/models/refund_retrieve_params.rbi +6 -8
  211. data/rbi/lib/dodopayments/models/refund_status.rbi +11 -11
  212. data/rbi/lib/dodopayments/models/subscription.rbi +202 -283
  213. data/rbi/lib/dodopayments/models/subscription_charge_params.rbi +27 -0
  214. data/rbi/lib/dodopayments/models/subscription_charge_response.rbi +16 -0
  215. data/rbi/lib/dodopayments/models/subscription_create_params.rbi +315 -69
  216. data/rbi/lib/dodopayments/models/subscription_create_response.rbi +15 -51
  217. data/rbi/lib/dodopayments/models/subscription_list_params.rbi +15 -48
  218. data/rbi/lib/dodopayments/models/subscription_retrieve_params.rbi +6 -8
  219. data/rbi/lib/dodopayments/models/subscription_status.rbi +14 -14
  220. data/rbi/lib/dodopayments/models/subscription_update_params.rbi +25 -21
  221. data/rbi/lib/dodopayments/models/time_interval.rbi +11 -11
  222. data/rbi/lib/dodopayments/models/webhook_event.rbi +11 -54
  223. data/rbi/lib/dodopayments/models/webhook_event_list_params.rbi +12 -45
  224. data/rbi/lib/dodopayments/models/webhook_event_retrieve_params.rbi +6 -8
  225. data/rbi/lib/dodopayments/request_options.rbi +18 -81
  226. data/rbi/lib/dodopayments/resources/customers/customer_portal.rbi +5 -7
  227. data/rbi/lib/dodopayments/resources/customers.rbi +12 -20
  228. data/rbi/lib/dodopayments/resources/discounts.rbi +27 -37
  229. data/rbi/lib/dodopayments/resources/disputes.rbi +9 -13
  230. data/rbi/lib/dodopayments/resources/invoices/payments.rbi +4 -5
  231. data/rbi/lib/dodopayments/resources/invoices.rbi +3 -4
  232. data/rbi/lib/dodopayments/resources/license_key_instances.rbi +9 -15
  233. data/rbi/lib/dodopayments/resources/license_keys.rbi +13 -19
  234. data/rbi/lib/dodopayments/resources/licenses.rbi +8 -11
  235. data/rbi/lib/dodopayments/resources/misc.rbi +12 -6
  236. data/rbi/lib/dodopayments/resources/payments.rbi +32 -21
  237. data/rbi/lib/dodopayments/resources/payouts.rbi +5 -7
  238. data/rbi/lib/dodopayments/resources/products/images.rbi +4 -6
  239. data/rbi/lib/dodopayments/resources/products.rbi +43 -44
  240. data/rbi/lib/dodopayments/resources/refunds.rbi +10 -20
  241. data/rbi/lib/dodopayments/resources/subscriptions.rbi +57 -24
  242. data/rbi/lib/dodopayments/resources/webhook_events.rbi +7 -10
  243. data/rbi/lib/dodopayments/version.rbi +1 -1
  244. data/sig/dodopayments/client.rbs +8 -8
  245. data/sig/dodopayments/errors.rbs +98 -96
  246. data/sig/dodopayments/internal/default_page_number_pagination.rbs +11 -0
  247. data/sig/dodopayments/internal/transport/base_client.rbs +110 -0
  248. data/sig/dodopayments/internal/transport/pooled_net_requester.rbs +41 -0
  249. data/sig/dodopayments/internal/type/array_of.rbs +43 -0
  250. data/sig/dodopayments/internal/type/base_model.rbs +92 -0
  251. data/sig/dodopayments/internal/type/base_page.rbs +24 -0
  252. data/sig/dodopayments/internal/type/boolean.rbs +23 -0
  253. data/sig/dodopayments/internal/type/converter.rbs +54 -0
  254. data/sig/dodopayments/internal/type/enum.rbs +29 -0
  255. data/sig/dodopayments/internal/type/hash_of.rbs +43 -0
  256. data/sig/dodopayments/internal/type/io_like.rbs +23 -0
  257. data/sig/dodopayments/internal/type/request_parameters.rbs +15 -0
  258. data/sig/dodopayments/internal/type/union.rbs +47 -0
  259. data/sig/dodopayments/internal/type/unknown.rbs +23 -0
  260. data/sig/dodopayments/internal/util.rbs +156 -0
  261. data/sig/dodopayments/internal.rbs +5 -0
  262. data/sig/dodopayments/models/attach_existing_customer.rbs +2 -7
  263. data/sig/dodopayments/models/billing_address.rbs +8 -12
  264. data/sig/dodopayments/models/country_code.rbs +4 -2
  265. data/sig/dodopayments/models/create_new_customer.rbs +7 -12
  266. data/sig/dodopayments/models/customer.rbs +9 -13
  267. data/sig/dodopayments/models/customer_create_params.rbs +10 -15
  268. data/sig/dodopayments/models/customer_limited_details.rbs +2 -7
  269. data/sig/dodopayments/models/customer_list_params.rbs +9 -14
  270. data/sig/dodopayments/models/customer_portal_session.rbs +2 -7
  271. data/sig/dodopayments/models/customer_request.rbs +4 -2
  272. data/sig/dodopayments/models/customer_retrieve_params.rbs +6 -10
  273. data/sig/dodopayments/models/customer_update_params.rbs +9 -14
  274. data/sig/dodopayments/models/customers/customer_portal_create_params.rbs +8 -13
  275. data/sig/dodopayments/models/discount.rbs +14 -18
  276. data/sig/dodopayments/models/discount_create_params.rbs +14 -19
  277. data/sig/dodopayments/models/discount_delete_params.rbs +6 -10
  278. data/sig/dodopayments/models/discount_list_params.rbs +9 -14
  279. data/sig/dodopayments/models/discount_retrieve_params.rbs +6 -10
  280. data/sig/dodopayments/models/discount_type.rbs +4 -2
  281. data/sig/dodopayments/models/discount_update_params.rbs +14 -19
  282. data/sig/dodopayments/models/dispute.rbs +11 -15
  283. data/sig/dodopayments/models/dispute_list_params.rbs +14 -19
  284. data/sig/dodopayments/models/dispute_retrieve_params.rbs +6 -10
  285. data/sig/dodopayments/models/dispute_stage.rbs +4 -2
  286. data/sig/dodopayments/models/dispute_status.rbs +4 -2
  287. data/sig/dodopayments/models/intent_status.rbs +4 -2
  288. data/sig/dodopayments/models/invoices/payment_retrieve_params.rbs +6 -10
  289. data/sig/dodopayments/models/license_activate_params.rbs +10 -14
  290. data/sig/dodopayments/models/license_deactivate_params.rbs +9 -14
  291. data/sig/dodopayments/models/license_key.rbs +15 -19
  292. data/sig/dodopayments/models/license_key_duration.rbs +5 -7
  293. data/sig/dodopayments/models/license_key_instance.rbs +8 -13
  294. data/sig/dodopayments/models/license_key_instance_list_params.rbs +10 -15
  295. data/sig/dodopayments/models/license_key_instance_retrieve_params.rbs +5 -10
  296. data/sig/dodopayments/models/license_key_instance_update_params.rbs +8 -10
  297. data/sig/dodopayments/models/license_key_list_params.rbs +12 -17
  298. data/sig/dodopayments/models/license_key_retrieve_params.rbs +6 -10
  299. data/sig/dodopayments/models/license_key_status.rbs +4 -2
  300. data/sig/dodopayments/models/license_key_update_params.rbs +10 -15
  301. data/sig/dodopayments/models/license_validate_params.rbs +9 -14
  302. data/sig/dodopayments/models/license_validate_response.rbs +2 -7
  303. data/sig/dodopayments/models/misc_list_supported_countries_params.rbs +5 -10
  304. data/sig/dodopayments/models/one_time_product_cart_item.rbs +6 -7
  305. data/sig/dodopayments/models/payment.rbs +28 -35
  306. data/sig/dodopayments/models/payment_create_params.rbs +373 -20
  307. data/sig/dodopayments/models/payment_create_response.rbs +11 -16
  308. data/sig/dodopayments/models/payment_list_params.rbs +14 -19
  309. data/sig/dodopayments/models/payment_list_response.rbs +17 -20
  310. data/sig/dodopayments/models/payment_retrieve_params.rbs +6 -10
  311. data/sig/dodopayments/models/payout_list_params.rbs +9 -14
  312. data/sig/dodopayments/models/payout_list_response.rbs +30 -28
  313. data/sig/dodopayments/models/price.rbs +37 -41
  314. data/sig/dodopayments/models/product.rbs +22 -24
  315. data/sig/dodopayments/models/product_create_params.rbs +20 -23
  316. data/sig/dodopayments/models/product_delete_params.rbs +6 -10
  317. data/sig/dodopayments/models/product_list_params.rbs +11 -16
  318. data/sig/dodopayments/models/product_list_response.rbs +24 -25
  319. data/sig/dodopayments/models/product_retrieve_params.rbs +6 -10
  320. data/sig/dodopayments/models/product_unarchive_params.rbs +6 -10
  321. data/sig/dodopayments/models/product_update_params.rbs +21 -24
  322. data/sig/dodopayments/models/products/image_update_params.rbs +9 -13
  323. data/sig/dodopayments/models/products/image_update_response.rbs +2 -7
  324. data/sig/dodopayments/models/refund.rbs +15 -15
  325. data/sig/dodopayments/models/refund_create_params.rbs +10 -18
  326. data/sig/dodopayments/models/refund_list_params.rbs +13 -18
  327. data/sig/dodopayments/models/refund_retrieve_params.rbs +6 -10
  328. data/sig/dodopayments/models/refund_status.rbs +4 -2
  329. data/sig/dodopayments/models/subscription.rbs +29 -27
  330. data/sig/dodopayments/models/subscription_charge_params.rbs +21 -0
  331. data/sig/dodopayments/models/subscription_charge_response.rbs +13 -0
  332. data/sig/dodopayments/models/subscription_create_params.rbs +391 -22
  333. data/sig/dodopayments/models/subscription_create_response.rbs +10 -15
  334. data/sig/dodopayments/models/subscription_list_params.rbs +13 -18
  335. data/sig/dodopayments/models/subscription_retrieve_params.rbs +6 -10
  336. data/sig/dodopayments/models/subscription_status.rbs +4 -2
  337. data/sig/dodopayments/models/subscription_update_params.rbs +18 -15
  338. data/sig/dodopayments/models/time_interval.rbs +4 -2
  339. data/sig/dodopayments/models/webhook_event.rbs +11 -15
  340. data/sig/dodopayments/models/webhook_event_list_params.rbs +13 -18
  341. data/sig/dodopayments/models/webhook_event_retrieve_params.rbs +6 -10
  342. data/sig/dodopayments/request_options.rbs +3 -13
  343. data/sig/dodopayments/resources/customers/customer_portal.rbs +5 -11
  344. data/sig/dodopayments/resources/customers.rbs +21 -42
  345. data/sig/dodopayments/resources/discounts.rbs +34 -61
  346. data/sig/dodopayments/resources/disputes.rbs +14 -24
  347. data/sig/dodopayments/resources/invoices/payments.rbs +4 -10
  348. data/sig/dodopayments/resources/license_key_instances.rbs +15 -32
  349. data/sig/dodopayments/resources/license_keys.rbs +19 -36
  350. data/sig/dodopayments/resources/licenses.rbs +15 -30
  351. data/sig/dodopayments/resources/misc.rbs +3 -8
  352. data/sig/dodopayments/resources/payments.rbs +28 -39
  353. data/sig/dodopayments/resources/payouts.rbs +5 -9
  354. data/sig/dodopayments/resources/products/images.rbs +5 -11
  355. data/sig/dodopayments/resources/products.rbs +45 -71
  356. data/sig/dodopayments/resources/refunds.rbs +18 -33
  357. data/sig/dodopayments/resources/subscriptions.rbs +44 -54
  358. data/sig/dodopayments/resources/webhook_events.rbs +13 -24
  359. data/sig/dodopayments/version.rbs +1 -1
  360. metadata +63 -27
  361. data/lib/dodopayments/base_client.rb +0 -453
  362. data/lib/dodopayments/base_model.rb +0 -1217
  363. data/lib/dodopayments/base_page.rb +0 -62
  364. data/lib/dodopayments/default_page_number_pagination.rb +0 -97
  365. data/lib/dodopayments/extern.rb +0 -9
  366. data/lib/dodopayments/pooled_net_requester.rb +0 -164
  367. data/lib/dodopayments/util.rb +0 -717
  368. data/rbi/lib/dodopayments/base_client.rbi +0 -186
  369. data/rbi/lib/dodopayments/base_model.rbi +0 -606
  370. data/rbi/lib/dodopayments/base_page.rbi +0 -40
  371. data/rbi/lib/dodopayments/default_page_number_pagination.rbi +0 -17
  372. data/rbi/lib/dodopayments/extern.rbi +0 -8
  373. data/rbi/lib/dodopayments/pooled_net_requester.rbi +0 -47
  374. data/rbi/lib/dodopayments/util.rbi +0 -270
  375. data/sig/dodopayments/base_client.rbs +0 -103
  376. data/sig/dodopayments/base_model.rbs +0 -246
  377. data/sig/dodopayments/base_page.rbs +0 -20
  378. data/sig/dodopayments/default_page_number_pagination.rbs +0 -7
  379. data/sig/dodopayments/extern.rbs +0 -4
  380. data/sig/dodopayments/pooled_net_requester.rbs +0 -30
  381. data/sig/dodopayments/util.rbs +0 -136
@@ -0,0 +1,214 @@
1
+ # typed: strong
2
+
3
+ module Dodopayments
4
+ module Internal
5
+ module Type
6
+ class BaseModel
7
+ extend Dodopayments::Internal::Type::Converter
8
+
9
+ abstract!
10
+
11
+ KnownFieldShape = T.type_alias do
12
+ {mode: T.nilable(Symbol), required: T::Boolean, nilable: T::Boolean}
13
+ end
14
+
15
+ class << self
16
+ # @api private
17
+ #
18
+ # Assumes superclass fields are totally defined before fields are accessed /
19
+ # defined on subclasses.
20
+ sig do
21
+ returns(
22
+ T::Hash[
23
+ Symbol,
24
+ T.all(
25
+ Dodopayments::Internal::Type::BaseModel::KnownFieldShape,
26
+ {type_fn: T.proc.returns(Dodopayments::Internal::Type::Converter::Input)}
27
+ )
28
+ ]
29
+ )
30
+ end
31
+ def known_fields; end
32
+
33
+ # @api private
34
+ sig do
35
+ returns(
36
+ T::Hash[
37
+ Symbol,
38
+ T.all(
39
+ Dodopayments::Internal::Type::BaseModel::KnownFieldShape,
40
+ {type: Dodopayments::Internal::Type::Converter::Input}
41
+ )
42
+ ]
43
+ )
44
+ end
45
+ def fields; end
46
+
47
+ # @api private
48
+ sig do
49
+ params(
50
+ name_sym: Symbol,
51
+ required: T::Boolean,
52
+ type_info: T.any(
53
+ {
54
+ const: T.nilable(T.any(NilClass, T::Boolean, Integer, Float, Symbol)),
55
+ enum: T.nilable(T.proc.returns(Dodopayments::Internal::Type::Converter::Input)),
56
+ union: T.nilable(T.proc.returns(Dodopayments::Internal::Type::Converter::Input)),
57
+ api_name: Symbol,
58
+ nil?: T::Boolean
59
+ },
60
+ T.proc.returns(Dodopayments::Internal::Type::Converter::Input),
61
+ Dodopayments::Internal::Type::Converter::Input
62
+ ),
63
+ spec: Dodopayments::Internal::AnyHash
64
+ )
65
+ .void
66
+ end
67
+ private def add_field(name_sym, required:, type_info:, spec:); end
68
+
69
+ # @api private
70
+ sig do
71
+ params(
72
+ name_sym: Symbol,
73
+ type_info: T.any(
74
+ Dodopayments::Internal::AnyHash,
75
+ T.proc.returns(Dodopayments::Internal::Type::Converter::Input),
76
+ Dodopayments::Internal::Type::Converter::Input
77
+ ),
78
+ spec: Dodopayments::Internal::AnyHash
79
+ )
80
+ .void
81
+ end
82
+ def required(name_sym, type_info, spec = {}); end
83
+
84
+ # @api private
85
+ sig do
86
+ params(
87
+ name_sym: Symbol,
88
+ type_info: T.any(
89
+ Dodopayments::Internal::AnyHash,
90
+ T.proc.returns(Dodopayments::Internal::Type::Converter::Input),
91
+ Dodopayments::Internal::Type::Converter::Input
92
+ ),
93
+ spec: Dodopayments::Internal::AnyHash
94
+ )
95
+ .void
96
+ end
97
+ def optional(name_sym, type_info, spec = {}); end
98
+
99
+ # @api private
100
+ #
101
+ # `request_only` attributes not excluded from `.#coerce` when receiving responses
102
+ # even if well behaved servers should not send them
103
+ sig { params(blk: T.proc.void).void }
104
+ private def request_only(&blk); end
105
+
106
+ # @api private
107
+ #
108
+ # `response_only` attributes are omitted from `.#dump` when making requests
109
+ sig { params(blk: T.proc.void).void }
110
+ private def response_only(&blk); end
111
+
112
+ sig { params(other: T.anything).returns(T::Boolean) }
113
+ def ==(other); end
114
+ end
115
+
116
+ sig { params(other: T.anything).returns(T::Boolean) }
117
+ def ==(other); end
118
+
119
+ class << self
120
+ # @api private
121
+ sig do
122
+ override
123
+ .params(
124
+ value: T.any(
125
+ Dodopayments::Internal::Type::BaseModel,
126
+ T::Hash[T.anything, T.anything],
127
+ T.anything
128
+ ),
129
+ state: Dodopayments::Internal::Type::Converter::CoerceState
130
+ )
131
+ .returns(T.any(T.attached_class, T.anything))
132
+ end
133
+ def coerce(value, state:); end
134
+
135
+ # @api private
136
+ sig do
137
+ override
138
+ .params(
139
+ value: T.any(T.attached_class, T.anything),
140
+ state: Dodopayments::Internal::Type::Converter::DumpState
141
+ )
142
+ .returns(T.any(T::Hash[T.anything, T.anything], T.anything))
143
+ end
144
+ def dump(value, state:); end
145
+ end
146
+
147
+ # Returns the raw value associated with the given key, if found. Otherwise, nil is
148
+ # returned.
149
+ #
150
+ # It is valid to lookup keys that are not in the API spec, for example to access
151
+ # undocumented features. This method does not parse response data into
152
+ # higher-level types. Lookup by anything other than a Symbol is an ArgumentError.
153
+ sig { params(key: Symbol).returns(T.nilable(T.anything)) }
154
+ def [](key); end
155
+
156
+ # Returns a Hash of the data underlying this object. O(1)
157
+ #
158
+ # Keys are Symbols and values are the raw values from the response. The return
159
+ # value indicates which values were ever set on the object. i.e. there will be a
160
+ # key in this hash if they ever were, even if the set value was nil.
161
+ #
162
+ # This method is not recursive. The returned value is shared by the object, so it
163
+ # should not be mutated.
164
+ sig { overridable.returns(Dodopayments::Internal::AnyHash) }
165
+ def to_h; end
166
+
167
+ # Returns a Hash of the data underlying this object. O(1)
168
+ #
169
+ # Keys are Symbols and values are the raw values from the response. The return
170
+ # value indicates which values were ever set on the object. i.e. there will be a
171
+ # key in this hash if they ever were, even if the set value was nil.
172
+ #
173
+ # This method is not recursive. The returned value is shared by the object, so it
174
+ # should not be mutated.
175
+ sig { overridable.returns(Dodopayments::Internal::AnyHash) }
176
+ def to_hash; end
177
+
178
+ sig { params(keys: T.nilable(T::Array[Symbol])).returns(Dodopayments::Internal::AnyHash) }
179
+ def deconstruct_keys(keys); end
180
+
181
+ class << self
182
+ sig do
183
+ params(model: Dodopayments::Internal::Type::BaseModel).returns(Dodopayments::Internal::AnyHash)
184
+ end
185
+ def walk(model); end
186
+ end
187
+
188
+ sig { params(a: T.anything).returns(String) }
189
+ def to_json(*a); end
190
+
191
+ sig { params(a: T.anything).returns(String) }
192
+ def to_yaml(*a); end
193
+
194
+ # Create a new instance of a model.
195
+ sig { params(data: T.any(T::Hash[Symbol, T.anything], T.self_type)).returns(T.attached_class) }
196
+ def self.new(data = {}); end
197
+
198
+ class << self
199
+ # @api private
200
+ sig { params(depth: Integer).returns(String) }
201
+ def inspect(depth: 0); end
202
+ end
203
+
204
+ # @api private
205
+ sig { returns(String) }
206
+ def to_s; end
207
+
208
+ # @api private
209
+ sig { returns(String) }
210
+ def inspect; end
211
+ end
212
+ end
213
+ end
214
+ end
@@ -0,0 +1,36 @@
1
+ # typed: strong
2
+
3
+ module Dodopayments
4
+ module Internal
5
+ module Type
6
+ # This module provides a base implementation for paginated responses in the SDK.
7
+ module BasePage
8
+ Elem = type_member(:out)
9
+
10
+ sig { overridable.returns(T::Boolean) }
11
+ def next_page?; end
12
+
13
+ sig { overridable.returns(T.self_type) }
14
+ def next_page; end
15
+
16
+ sig { overridable.params(blk: T.proc.params(arg0: Elem).void).void }
17
+ def auto_paging_each(&blk); end
18
+
19
+ sig { returns(T::Enumerable[Elem]) }
20
+ def to_enum; end
21
+
22
+ # @api private
23
+ sig do
24
+ params(
25
+ client: Dodopayments::Internal::Transport::BaseClient,
26
+ req: Dodopayments::Internal::Transport::BaseClient::RequestComponentsShape,
27
+ headers: T.any(T::Hash[String, String], Net::HTTPHeader),
28
+ page_data: T.anything
29
+ )
30
+ .void
31
+ end
32
+ def initialize(client:, req:, headers:, page_data:); end
33
+ end
34
+ end
35
+ end
36
+ end
@@ -0,0 +1,48 @@
1
+ # typed: strong
2
+
3
+ module Dodopayments
4
+ module Internal
5
+ module Type
6
+ # @api private
7
+ #
8
+ # Ruby has no Boolean class; this is something for models to refer to.
9
+ class Boolean
10
+ extend Dodopayments::Internal::Type::Converter
11
+
12
+ abstract!
13
+
14
+ sig { params(other: T.anything).returns(T::Boolean) }
15
+ def self.===(other); end
16
+
17
+ sig { params(other: T.anything).returns(T::Boolean) }
18
+ def self.==(other); end
19
+
20
+ class << self
21
+ # @api private
22
+ sig do
23
+ override
24
+ .params(value: T.any(
25
+ T::Boolean,
26
+ T.anything
27
+ ),
28
+ state: Dodopayments::Internal::Type::Converter::CoerceState)
29
+ .returns(T.any(T::Boolean, T.anything))
30
+ end
31
+ def coerce(value, state:); end
32
+
33
+ # @api private
34
+ sig do
35
+ override
36
+ .params(value: T.any(
37
+ T::Boolean,
38
+ T.anything
39
+ ),
40
+ state: Dodopayments::Internal::Type::Converter::DumpState)
41
+ .returns(T.any(T::Boolean, T.anything))
42
+ end
43
+ def dump(value, state:); end
44
+ end
45
+ end
46
+ end
47
+ end
48
+ end
@@ -0,0 +1,120 @@
1
+ # typed: strong
2
+
3
+ module Dodopayments
4
+ module Internal
5
+ module Type
6
+ # @api private
7
+ module Converter
8
+ Input = T.type_alias { T.any(Dodopayments::Internal::Type::Converter, T::Class[T.anything]) }
9
+
10
+ CoerceState =
11
+ T.type_alias do
12
+ {
13
+ strictness: T.any(T::Boolean, Symbol),
14
+ exactness: {yes: Integer, no: Integer, maybe: Integer},
15
+ branched: Integer
16
+ }
17
+ end
18
+
19
+ DumpState = T.type_alias { {can_retry: T::Boolean} }
20
+
21
+ # @api private
22
+ sig do
23
+ overridable
24
+ .params(value: T.anything, state: Dodopayments::Internal::Type::Converter::CoerceState)
25
+ .returns(T.anything)
26
+ end
27
+ def coerce(value, state:); end
28
+
29
+ # @api private
30
+ sig do
31
+ overridable
32
+ .params(value: T.anything, state: Dodopayments::Internal::Type::Converter::DumpState)
33
+ .returns(T.anything)
34
+ end
35
+ def dump(value, state:); end
36
+
37
+ # @api private
38
+ sig { params(depth: Integer).returns(String) }
39
+ def inspect(depth: 0); end
40
+
41
+ class << self
42
+ # @api private
43
+ sig do
44
+ params(
45
+ spec: T.any(
46
+ {
47
+ const: T.nilable(T.any(NilClass, T::Boolean, Integer, Float, Symbol)),
48
+ enum: T.nilable(T.proc.returns(Dodopayments::Internal::Type::Converter::Input)),
49
+ union: T.nilable(T.proc.returns(Dodopayments::Internal::Type::Converter::Input))
50
+ },
51
+ T.proc.returns(Dodopayments::Internal::Type::Converter::Input),
52
+ Dodopayments::Internal::Type::Converter::Input
53
+ )
54
+ )
55
+ .returns(T.proc.returns(T.anything))
56
+ end
57
+ def self.type_info(spec); end
58
+
59
+ # @api private
60
+ #
61
+ # Based on `target`, transform `value` into `target`, to the extent possible:
62
+ #
63
+ # 1. if the given `value` conforms to `target` already, return the given `value`
64
+ # 2. if it's possible and safe to convert the given `value` to `target`, then the
65
+ # converted value
66
+ # 3. otherwise, the given `value` unaltered
67
+ #
68
+ # The coercion process is subject to improvement between minor release versions.
69
+ # See https://docs.pydantic.dev/latest/concepts/unions/#smart-mode
70
+ sig do
71
+ params(
72
+ target: Dodopayments::Internal::Type::Converter::Input,
73
+ value: T.anything,
74
+ state: Dodopayments::Internal::Type::Converter::CoerceState
75
+ )
76
+ .returns(T.anything)
77
+ end
78
+ def self.coerce(
79
+ target,
80
+ value,
81
+ # The `strictness` is one of `true`, `false`, or `:strong`. This informs the
82
+ # coercion strategy when we have to decide between multiple possible conversion
83
+ # targets:
84
+ #
85
+ # - `true`: the conversion must be exact, with minimum coercion.
86
+ # - `false`: the conversion can be approximate, with some coercion.
87
+ # - `:strong`: the conversion must be exact, with no coercion, and raise an error
88
+ # if not possible.
89
+ #
90
+ # The `exactness` is `Hash` with keys being one of `yes`, `no`, or `maybe`. For
91
+ # any given conversion attempt, the exactness will be updated based on how closely
92
+ # the value recursively matches the target type:
93
+ #
94
+ # - `yes`: the value can be converted to the target type with minimum coercion.
95
+ # - `maybe`: the value can be converted to the target type with some reasonable
96
+ # coercion.
97
+ # - `no`: the value cannot be converted to the target type.
98
+ #
99
+ # See implementation below for more details.
100
+ state: {strictness: true, exactness: {yes: 0, no: 0, maybe: 0}, branched: 0}
101
+ ); end
102
+ # @api private
103
+ sig do
104
+ params(
105
+ target: Dodopayments::Internal::Type::Converter::Input,
106
+ value: T.anything,
107
+ state: Dodopayments::Internal::Type::Converter::DumpState
108
+ )
109
+ .returns(T.anything)
110
+ end
111
+ def self.dump(target, value, state: {can_retry: true}); end
112
+
113
+ # @api private
114
+ sig { params(target: T.anything, depth: Integer).returns(String) }
115
+ def self.inspect(target, depth:); end
116
+ end
117
+ end
118
+ end
119
+ end
120
+ end
@@ -0,0 +1,69 @@
1
+ # typed: strong
2
+
3
+ module Dodopayments
4
+ module Internal
5
+ module Type
6
+ # @api private
7
+ #
8
+ # A value from among a specified list of options. OpenAPI enum values map to Ruby
9
+ # values in the SDK as follows:
10
+ #
11
+ # 1. boolean => true | false
12
+ # 2. integer => Integer
13
+ # 3. float => Float
14
+ # 4. string => Symbol
15
+ #
16
+ # We can therefore convert string values to Symbols, but can't convert other
17
+ # values safely.
18
+ module Enum
19
+ include Dodopayments::Internal::Type::Converter
20
+
21
+ # All of the valid Symbol values for this enum.
22
+ sig { overridable.returns(T::Array[T.any(NilClass, T::Boolean, Integer, Float, Symbol)]) }
23
+ def values; end
24
+
25
+ # @api private
26
+ #
27
+ # Guard against thread safety issues by instantiating `@values`.
28
+ sig { void }
29
+ private def finalize!; end
30
+
31
+ sig { params(other: T.anything).returns(T::Boolean) }
32
+ def ===(other); end
33
+
34
+ sig { params(other: T.anything).returns(T::Boolean) }
35
+ def ==(other); end
36
+
37
+ # @api private
38
+ #
39
+ # Unlike with primitives, `Enum` additionally validates that the value is a member
40
+ # of the enum.
41
+ sig do
42
+ override
43
+ .params(
44
+ value: T.any(String, Symbol, T.anything),
45
+ state: Dodopayments::Internal::Type::Converter::CoerceState
46
+ )
47
+ .returns(T.any(Symbol, T.anything))
48
+ end
49
+ def coerce(value, state:); end
50
+
51
+ # @api private
52
+ sig do
53
+ override
54
+ .params(value: T.any(
55
+ Symbol,
56
+ T.anything
57
+ ),
58
+ state: Dodopayments::Internal::Type::Converter::DumpState)
59
+ .returns(T.any(Symbol, T.anything))
60
+ end
61
+ def dump(value, state:); end
62
+
63
+ # @api private
64
+ sig { params(depth: Integer).returns(String) }
65
+ def inspect(depth: 0); end
66
+ end
67
+ end
68
+ end
69
+ end
@@ -0,0 +1,85 @@
1
+ # typed: strong
2
+
3
+ module Dodopayments
4
+ module Internal
5
+ module Type
6
+ # @api private
7
+ #
8
+ # Hash of items of a given type.
9
+ class HashOf
10
+ include Dodopayments::Internal::Type::Converter
11
+
12
+ abstract!
13
+
14
+ Elem = type_member(:out)
15
+
16
+ sig do
17
+ params(
18
+ type_info: T.any(
19
+ Dodopayments::Internal::AnyHash,
20
+ T.proc.returns(Dodopayments::Internal::Type::Converter::Input),
21
+ Dodopayments::Internal::Type::Converter::Input
22
+ ),
23
+ spec: Dodopayments::Internal::AnyHash
24
+ )
25
+ .returns(T.attached_class)
26
+ end
27
+ def self.[](type_info, spec = {}); end
28
+
29
+ sig { params(other: T.anything).returns(T::Boolean) }
30
+ def ===(other); end
31
+
32
+ sig { params(other: T.anything).returns(T::Boolean) }
33
+ def ==(other); end
34
+
35
+ # @api private
36
+ sig do
37
+ override
38
+ .params(
39
+ value: T.any(T::Hash[T.anything, T.anything], T.anything),
40
+ state: Dodopayments::Internal::Type::Converter::CoerceState
41
+ )
42
+ .returns(T.any(Dodopayments::Internal::AnyHash, T.anything))
43
+ end
44
+ def coerce(value, state:); end
45
+
46
+ # @api private
47
+ sig do
48
+ override
49
+ .params(
50
+ value: T.any(T::Hash[T.anything, T.anything], T.anything),
51
+ state: Dodopayments::Internal::Type::Converter::DumpState
52
+ )
53
+ .returns(T.any(Dodopayments::Internal::AnyHash, T.anything))
54
+ end
55
+ def dump(value, state:); end
56
+
57
+ # @api private
58
+ sig { returns(Elem) }
59
+ protected def item_type; end
60
+
61
+ # @api private
62
+ sig { returns(T::Boolean) }
63
+ protected def nilable?; end
64
+
65
+ # @api private
66
+ sig do
67
+ params(
68
+ type_info: T.any(
69
+ Dodopayments::Internal::AnyHash,
70
+ T.proc.returns(Dodopayments::Internal::Type::Converter::Input),
71
+ Dodopayments::Internal::Type::Converter::Input
72
+ ),
73
+ spec: Dodopayments::Internal::AnyHash
74
+ )
75
+ .void
76
+ end
77
+ def initialize(type_info, spec = {}); end
78
+
79
+ # @api private
80
+ sig { params(depth: Integer).returns(String) }
81
+ def inspect(depth: 0); end
82
+ end
83
+ end
84
+ end
85
+ end
@@ -0,0 +1,46 @@
1
+ # typed: strong
2
+
3
+ module Dodopayments
4
+ module Internal
5
+ module Type
6
+ # @api private
7
+ #
8
+ # Either `Pathname` or `StringIO`.
9
+ class IOLike
10
+ extend Dodopayments::Internal::Type::Converter
11
+
12
+ abstract!
13
+
14
+ sig { params(other: T.anything).returns(T::Boolean) }
15
+ def self.===(other); end
16
+
17
+ sig { params(other: T.anything).returns(T::Boolean) }
18
+ def self.==(other); end
19
+
20
+ class << self
21
+ # @api private
22
+ sig do
23
+ override
24
+ .params(
25
+ value: T.any(StringIO, String, T.anything),
26
+ state: Dodopayments::Internal::Type::Converter::CoerceState
27
+ )
28
+ .returns(T.any(StringIO, T.anything))
29
+ end
30
+ def coerce(value, state:); end
31
+
32
+ # @api private
33
+ sig do
34
+ override
35
+ .params(
36
+ value: T.any(Pathname, StringIO, IO, String, T.anything),
37
+ state: Dodopayments::Internal::Type::Converter::DumpState
38
+ )
39
+ .returns(T.any(Pathname, StringIO, IO, String, T.anything))
40
+ end
41
+ def dump(value, state:); end
42
+ end
43
+ end
44
+ end
45
+ end
46
+ end
@@ -0,0 +1,21 @@
1
+ # typed: strong
2
+
3
+ module Dodopayments
4
+ module Internal
5
+ module Type
6
+ # @api private
7
+ module RequestParameters
8
+ # Options to specify HTTP behaviour for this request.
9
+ sig { returns(T.any(Dodopayments::RequestOptions, Dodopayments::Internal::AnyHash)) }
10
+ attr_accessor :request_options
11
+
12
+ # @api private
13
+ module Converter
14
+ # @api private
15
+ sig { params(params: T.anything).returns([T.anything, Dodopayments::Internal::AnyHash]) }
16
+ def dump_request(params); end
17
+ end
18
+ end
19
+ end
20
+ end
21
+ end