dodopayments 1.85.0 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +241 -0
- data/README.md +1 -1
- data/lib/dodopayments/internal/util.rb +31 -0
- data/lib/dodopayments/resources/addons.rb +2 -1
- data/lib/dodopayments/resources/balances.rb +2 -1
- data/lib/dodopayments/resources/credit_entitlements/balances.rb +6 -3
- data/lib/dodopayments/resources/credit_entitlements.rb +2 -1
- data/lib/dodopayments/resources/customers/customer_portal.rb +2 -1
- data/lib/dodopayments/resources/customers/wallets/ledger_entries.rb +2 -1
- data/lib/dodopayments/resources/customers.rb +2 -1
- data/lib/dodopayments/resources/discounts.rb +2 -1
- data/lib/dodopayments/resources/disputes.rb +2 -1
- data/lib/dodopayments/resources/license_key_instances.rb +2 -1
- data/lib/dodopayments/resources/license_keys.rb +2 -1
- data/lib/dodopayments/resources/meters.rb +2 -1
- data/lib/dodopayments/resources/payments.rb +2 -1
- data/lib/dodopayments/resources/payouts.rb +2 -1
- data/lib/dodopayments/resources/products/images.rb +2 -1
- data/lib/dodopayments/resources/products/short_links.rb +2 -1
- data/lib/dodopayments/resources/products.rb +2 -1
- data/lib/dodopayments/resources/refunds.rb +2 -1
- data/lib/dodopayments/resources/subscriptions.rb +4 -2
- data/lib/dodopayments/resources/usage_events.rb +2 -1
- data/lib/dodopayments/resources/webhooks.rb +2 -1
- data/lib/dodopayments/version.rb +1 -1
- data/rbi/dodopayments/internal/util.rbi +20 -0
- data/sig/dodopayments/internal/util.rbs +10 -0
- metadata +2 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: ef4f6bb46a70196370c107262ab0ded8e7f5e8b7ce5c1a89bdee16c40b0571fe
|
|
4
|
+
data.tar.gz: 72faeedd0e7957b2416123e1f8550b75afdc75849c20164dc096b9070e0c3799
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 151f688026db3ec5d43def5a74a4548f8871e2cce8316c5579fbee135f981e3fac81ca36ba127e955902da8dc1b93bd520b3a3a208726d3699002fc93a866eca
|
|
7
|
+
data.tar.gz: d54158f03297e86772203969b0ef8cc74aefd628979dc10ed0160ea382b6b685435f3df6be9bd8064d8c153be8930ef62130f39ecc373c03eb261c18fc123ed2
|
data/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,246 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 2.0.0 (2026-03-03)
|
|
4
|
+
|
|
5
|
+
Full Changelog: [v1.85.0...v2.0.0](https://github.com/dodopayments/dodopayments-ruby/compare/v1.85.0...v2.0.0)
|
|
6
|
+
|
|
7
|
+
### ⚠ BREAKING CHANGES
|
|
8
|
+
|
|
9
|
+
* bump min supported ruby version to 3.1 (oldest non-EOL)
|
|
10
|
+
* remove top level type aliases to relocated classes
|
|
11
|
+
* use tagged enums in sorbet type definitions
|
|
12
|
+
* support `for item in stream` style iteration on `Stream`s
|
|
13
|
+
* **model:** base model should recursively store coerced base models
|
|
14
|
+
|
|
15
|
+
### Features
|
|
16
|
+
|
|
17
|
+
* add reference links in yard ([c8112ba](https://github.com/dodopayments/dodopayments-ruby/commit/c8112ba33ce5537fcb656fb1972615acb0823df2))
|
|
18
|
+
* allow all valid `JSON` types to be encoded ([0e60330](https://github.com/dodopayments/dodopayments-ruby/commit/0e603309b24c57adcd565fb1d12affc5a08f661a))
|
|
19
|
+
* **api:** added addons ([6d29514](https://github.com/dodopayments/dodopayments-ruby/commit/6d295142298075a2744d75e501ee890d5427a613))
|
|
20
|
+
* **api:** added change plan api ([06485c5](https://github.com/dodopayments/dodopayments-ruby/commit/06485c576b59861095081813dcf535dba8fcfd07))
|
|
21
|
+
* **api:** added more models ([4429a15](https://github.com/dodopayments/dodopayments-ruby/commit/4429a153ba8bdf2f3aa4f05f799ee48cbbbab126))
|
|
22
|
+
* **api:** added typescript sdk for migration and updated org info ([489108b](https://github.com/dodopayments/dodopayments-ruby/commit/489108bfe4baf4a353c0da3dce815d212bfdb090))
|
|
23
|
+
* **api:** added unwrap functions for webhooks ([0e30a51](https://github.com/dodopayments/dodopayments-ruby/commit/0e30a51eba44226b6294b5decd49d3a0c7336817))
|
|
24
|
+
* **api:** added update payment method and updated openapi spec to v1.60.0 ([2c3c8ae](https://github.com/dodopayments/dodopayments-ruby/commit/2c3c8aea82f9c23f6658acf0cf5e91a46ffd4525))
|
|
25
|
+
* **api:** fixed api key schema to bearer ([8bf9667](https://github.com/dodopayments/dodopayments-ruby/commit/8bf966735a616fcbcc917f0c28ba5082d62e421f))
|
|
26
|
+
* **api:** fixed license key pagination issues in openapi spec ([653b19c](https://github.com/dodopayments/dodopayments-ruby/commit/653b19c534d3954cee9cc1cf058a3a4eb5c71433))
|
|
27
|
+
* **api:** fixed openapi spec issues ([691e1e4](https://github.com/dodopayments/dodopayments-ruby/commit/691e1e49fc4dbe05c39f646ffc757af61667466b))
|
|
28
|
+
* **api:** manual updates ([2141274](https://github.com/dodopayments/dodopayments-ruby/commit/2141274ccbc22584fcfc0ca5277e9aefd8bbe145))
|
|
29
|
+
* **api:** manual updates ([49eccb8](https://github.com/dodopayments/dodopayments-ruby/commit/49eccb84f1566b2b6edaa8c39cfd7ce3d86819a6))
|
|
30
|
+
* **api:** manual updates ([6182b9a](https://github.com/dodopayments/dodopayments-ruby/commit/6182b9a4e3461fa6443ad97bab90b8f20a667760))
|
|
31
|
+
* **api:** manual updates ([7daa7e8](https://github.com/dodopayments/dodopayments-ruby/commit/7daa7e896881826dac08a394e87cabde631d51e2))
|
|
32
|
+
* **api:** manual updates ([1f8be64](https://github.com/dodopayments/dodopayments-ruby/commit/1f8be64bb2ec602b611c264ad91b4aa369c44ac2))
|
|
33
|
+
* **api:** manual updates ([83aca9d](https://github.com/dodopayments/dodopayments-ruby/commit/83aca9de3cd7b0793c10a183f2a4b65fe56e8cef))
|
|
34
|
+
* **api:** manual updates ([5705689](https://github.com/dodopayments/dodopayments-ruby/commit/5705689fd510749a717d4554087e2bbd60d580df))
|
|
35
|
+
* **api:** manual updates ([50d98ad](https://github.com/dodopayments/dodopayments-ruby/commit/50d98ad0a454affb6ec69f438f24839c5212e83b))
|
|
36
|
+
* **api:** manual updates ([947a59a](https://github.com/dodopayments/dodopayments-ruby/commit/947a59a614333bb6d39217ac0b11c782363ec70b))
|
|
37
|
+
* **api:** manual updates ([a9a01b1](https://github.com/dodopayments/dodopayments-ruby/commit/a9a01b1f814809be64e5fc9207fdc6035e10d009))
|
|
38
|
+
* **api:** manual updates ([0119f42](https://github.com/dodopayments/dodopayments-ruby/commit/0119f42a79e78801eaa1d4e06b9b40c1f1b07dd7))
|
|
39
|
+
* **api:** manual updates ([823e758](https://github.com/dodopayments/dodopayments-ruby/commit/823e7583f2b76f1297961bbc84bb76ffea6ff7c3))
|
|
40
|
+
* **api:** manual updates ([0ffd1d5](https://github.com/dodopayments/dodopayments-ruby/commit/0ffd1d5f131e3557162092cfcbf450ebb162e99c))
|
|
41
|
+
* **api:** manual updates ([1a32da1](https://github.com/dodopayments/dodopayments-ruby/commit/1a32da10c544bb0c44c502b648f7a16d2747dd63))
|
|
42
|
+
* **api:** manual updates ([f0b9884](https://github.com/dodopayments/dodopayments-ruby/commit/f0b98849b153d8daf323e69c9b87ab2b90f7af44))
|
|
43
|
+
* **api:** manual updates ([a680087](https://github.com/dodopayments/dodopayments-ruby/commit/a680087c8b50c3c7f28b58454a75e2a93e80ed7d))
|
|
44
|
+
* **api:** openapi spec updated ([31b931f](https://github.com/dodopayments/dodopayments-ruby/commit/31b931f84071a79e0112adc4437f9f9061fc3ce6))
|
|
45
|
+
* **api:** update openapi spec to v1.73.0 ([6bcd390](https://github.com/dodopayments/dodopayments-ruby/commit/6bcd390343ed9c3825daa272dab1da72e9dd28be))
|
|
46
|
+
* **api:** updated code for v1.49.0 ([c97f843](https://github.com/dodopayments/dodopayments-ruby/commit/c97f843bc46614912a773918f02a4c259177e3ad))
|
|
47
|
+
* **api:** updated example ([2868d55](https://github.com/dodopayments/dodopayments-ruby/commit/2868d551c55eae61ca7550dbbea08310c72e2b2d))
|
|
48
|
+
* **api:** updated openapi spec ([6afbaa1](https://github.com/dodopayments/dodopayments-ruby/commit/6afbaa1e9d5f534f3f665fb179c54271e206197c))
|
|
49
|
+
* **api:** updated openapi spec ([3992544](https://github.com/dodopayments/dodopayments-ruby/commit/3992544db65d3663124b02aa3bbb9675546d55e9))
|
|
50
|
+
* **api:** updated openapi spec ([1c3e4df](https://github.com/dodopayments/dodopayments-ruby/commit/1c3e4df6a91000598838dbb786594db7d8f3b1fd))
|
|
51
|
+
* **api:** updated openapi spec for v1.78.1 ([ca4badc](https://github.com/dodopayments/dodopayments-ruby/commit/ca4badc441145470b772c33afb1489a44324ef73))
|
|
52
|
+
* **api:** updated openapi spec to 1.67.0 ([5f5d546](https://github.com/dodopayments/dodopayments-ruby/commit/5f5d5468c55f7ea8f3c9435e5802c7644a1d46b7))
|
|
53
|
+
* **api:** updated openapi spec to v1.51.0 and added checkout sessions ([aa2e032](https://github.com/dodopayments/dodopayments-ruby/commit/aa2e0325739776d9ee554eedcfa0e92c905d0367))
|
|
54
|
+
* **api:** updated openapi spec to v1.52.4 ([e3d9359](https://github.com/dodopayments/dodopayments-ruby/commit/e3d93593da35aa3ca1b1b3e414d9079b5c5d293f))
|
|
55
|
+
* **api:** updated openapi spec to v1.53.2 with customer credits. ([083a066](https://github.com/dodopayments/dodopayments-ruby/commit/083a066e83930f76c9d43ef27f1b7bee266ff44c))
|
|
56
|
+
* **api:** updated openapi spec to v1.55.0 ([e914764](https://github.com/dodopayments/dodopayments-ruby/commit/e9147649280d2d4cd5c88a1c04d57641bc036964))
|
|
57
|
+
* **api:** updated openapi spec to v1.56.3 ([626f6cd](https://github.com/dodopayments/dodopayments-ruby/commit/626f6cdb199b722ac7db1b058f38746a27b2b9f9))
|
|
58
|
+
* **api:** updated openapi spec to v1.61.5 ([aec38e4](https://github.com/dodopayments/dodopayments-ruby/commit/aec38e43c9a1ca86192d5de38f1d206de00c88c2))
|
|
59
|
+
* **api:** updated openapi spec to v1.66.1 ([35b5610](https://github.com/dodopayments/dodopayments-ruby/commit/35b5610c44265981fe30c4d31033dbdaba832342))
|
|
60
|
+
* **api:** updated openapi spec to v1.68.4 ([f2f7a5f](https://github.com/dodopayments/dodopayments-ruby/commit/f2f7a5f93555582146b0ba723598cf828fd19caf))
|
|
61
|
+
* **api:** updated openapi spec to v1.70.0 ([4fcbed2](https://github.com/dodopayments/dodopayments-ruby/commit/4fcbed2e6a75ce855ec1bc5fd2df00a5fed6af47))
|
|
62
|
+
* **api:** updated openapi spec to v1.74.0 ([7f9eebc](https://github.com/dodopayments/dodopayments-ruby/commit/7f9eebcf163a687648670f1bff2843bff682c8e3))
|
|
63
|
+
* **api:** updated openapi spec to v1.75.0 ([7857e53](https://github.com/dodopayments/dodopayments-ruby/commit/7857e53f436efde2c71a5ac270a3d82e2840af35))
|
|
64
|
+
* **api:** updated openapi spec to v1.81.0 ([f39831a](https://github.com/dodopayments/dodopayments-ruby/commit/f39831a7c2a75cc30b751882c07c038afe5bac71))
|
|
65
|
+
* **api:** updated openapi spec to v1.84.0 ([8c23bba](https://github.com/dodopayments/dodopayments-ruby/commit/8c23bba22c7f3ccbf48a8d017546f88e4e1895b7))
|
|
66
|
+
* **api:** updated openapispec to v1.10.1 ([e1f3743](https://github.com/dodopayments/dodopayments-ruby/commit/e1f374352cc65104320f68bac8d4478ff04ee106))
|
|
67
|
+
* **api:** updated readme example ([474d767](https://github.com/dodopayments/dodopayments-ruby/commit/474d767e16ad6fb650649a4b97ff6914798255fe))
|
|
68
|
+
* **api:** updated readme example ([893aefd](https://github.com/dodopayments/dodopayments-ruby/commit/893aefd61fdb025607943402f3eb5e1643c5b7dc))
|
|
69
|
+
* **api:** updated stainless config ([bc00e20](https://github.com/dodopayments/dodopayments-ruby/commit/bc00e20f79d4b310b58e622f44ab7893e823351e))
|
|
70
|
+
* **api:** updated to openapi spec v1.56.0 ([64694fb](https://github.com/dodopayments/dodopayments-ruby/commit/64694fb58a294d3f46a94ed535532e7575a56cbb))
|
|
71
|
+
* **api:** updated to openapi spec v1.86.0 ([cf231f8](https://github.com/dodopayments/dodopayments-ruby/commit/cf231f82c910c2d282b8492edcf797062988afa5))
|
|
72
|
+
* **api:** updates for openapi spec v1.55.7 ([e4bb38c](https://github.com/dodopayments/dodopayments-ruby/commit/e4bb38cf92973a23061d918ed64145159f8925a4))
|
|
73
|
+
* bump min supported ruby version to 3.1 (oldest non-EOL) ([c66807f](https://github.com/dodopayments/dodopayments-ruby/commit/c66807fbeecfbdeaa750deb3c6a2fcf83554340e))
|
|
74
|
+
* **client:** enable setting base URL from environment variable ([200d8af](https://github.com/dodopayments/dodopayments-ruby/commit/200d8af9620aa8dd2f4680120dcb8b38505580d6))
|
|
75
|
+
* consistently accept `AnyHash` types in parameter positions in sorbet ([c059ee7](https://github.com/dodopayments/dodopayments-ruby/commit/c059ee7583d5e4fb2a8c4d77070458c2793d70e8))
|
|
76
|
+
* expose response headers for both streams and errors ([d563c51](https://github.com/dodopayments/dodopayments-ruby/commit/d563c51cf65c6e39f86efdd09921c2d806c58bc5))
|
|
77
|
+
* handle thread interrupts in the core HTTP client ([47fb552](https://github.com/dodopayments/dodopayments-ruby/commit/47fb552d838d56c867e70ef85797aa97f51b53dd))
|
|
78
|
+
* implement `#hash` for data containers ([5b2231f](https://github.com/dodopayments/dodopayments-ruby/commit/5b2231f3aba80e6dbc81f707ab700226e5187540))
|
|
79
|
+
* implement `to_json` for base model ([f49536b](https://github.com/dodopayments/dodopayments-ruby/commit/f49536b1f9b236ccc5e9a26311ada0dd78af8cdf))
|
|
80
|
+
* **internal:** converter interface should recurse without schema ([311fe61](https://github.com/dodopayments/dodopayments-ruby/commit/311fe6124811bd70e9c3db85db028c51d40a6251))
|
|
81
|
+
* link response models to their methods in yard doc ([3983431](https://github.com/dodopayments/dodopayments-ruby/commit/39834314129a57a1927fc69a3b74fb512132850e))
|
|
82
|
+
* prevent tapioca from introspecting the gem internals ([c8092f5](https://github.com/dodopayments/dodopayments-ruby/commit/c8092f5d5d283d1fb3ba40632bf91f6ed4f399a4))
|
|
83
|
+
* remove top level type aliases to relocated classes ([6f906f2](https://github.com/dodopayments/dodopayments-ruby/commit/6f906f28a9d5dfcbee5d014b15fc4978c2138e5d))
|
|
84
|
+
* support `for item in stream` style iteration on `Stream`s ([d3e29e7](https://github.com/dodopayments/dodopayments-ruby/commit/d3e29e700214c4d36a167f98650fa1abf00c299a))
|
|
85
|
+
* support query, header, and body params that have identical names ([cd22aac](https://github.com/dodopayments/dodopayments-ruby/commit/cd22aacb0ba88b375132f3ea04e01e2024c784ad))
|
|
86
|
+
* support solargraph generics ([6173376](https://github.com/dodopayments/dodopayments-ruby/commit/61733766c21195d99d78c11f77d6e92bf4bdb2eb))
|
|
87
|
+
* support specifying content-type with FilePart class ([6b0b818](https://github.com/dodopayments/dodopayments-ruby/commit/6b0b818d6b3bf77592e40fcf627c6b1ef59be2d1))
|
|
88
|
+
* support webmock for testing ([8a0a4fb](https://github.com/dodopayments/dodopayments-ruby/commit/8a0a4fbcc1a9c5b255a26f2b15d3d9fd03e89ab5))
|
|
89
|
+
* updated openapi spec and added model and API functions for Usage Based Billing ([52c39e0](https://github.com/dodopayments/dodopayments-ruby/commit/52c39e0183bae637270fba991325e4106293d4b3))
|
|
90
|
+
* use Pathname alongside raw IO handles for file uploads ([c3aba4a](https://github.com/dodopayments/dodopayments-ruby/commit/c3aba4a43a0e9f6c7e84e0c77123f54cb05fa36d))
|
|
91
|
+
* use tagged enums in sorbet type definitions ([3b11bb1](https://github.com/dodopayments/dodopayments-ruby/commit/3b11bb1787ef1d118197d70e27cb2306b3d675f2))
|
|
92
|
+
|
|
93
|
+
|
|
94
|
+
### Bug Fixes
|
|
95
|
+
|
|
96
|
+
* absolutely qualified uris should always override the default ([5d4bb4e](https://github.com/dodopayments/dodopayments-ruby/commit/5d4bb4e6e48b5d21867412a3afce1388ecc99fc7))
|
|
97
|
+
* always send `filename=...` for multipart requests where a file is expected ([6169b9b](https://github.com/dodopayments/dodopayments-ruby/commit/6169b9bec49c46321ab629eb09a13224e6757894))
|
|
98
|
+
* always send idempotency header when specified as a request option ([aab61bc](https://github.com/dodopayments/dodopayments-ruby/commit/aab61bc66903ae92c611aab90114b0bf9ac5884c))
|
|
99
|
+
* bad documentation url for gemdocs.org ([8fe7986](https://github.com/dodopayments/dodopayments-ruby/commit/8fe79864826485aa32c908b29fe0678942a1f164))
|
|
100
|
+
* better thread safety via early initializing SSL store during HTTP client creation ([ce5600b](https://github.com/dodopayments/dodopayments-ruby/commit/ce5600b693a26023715321a0fcd9c5fa63d0a2ac))
|
|
101
|
+
* bump sorbet version and fix new type errors from the breaking change ([de1cef9](https://github.com/dodopayments/dodopayments-ruby/commit/de1cef9c2bde2aa0679c2bea738d1eff9050cfe8))
|
|
102
|
+
* calling `break` out of streams should be instantaneous ([e6930c8](https://github.com/dodopayments/dodopayments-ruby/commit/e6930c86daeb47b569797caa69d46946020098d3))
|
|
103
|
+
* **client:** always add content-length to post body, even when empty ([8a56334](https://github.com/dodopayments/dodopayments-ruby/commit/8a563349f95dc6457611808d35a70ae3e8c71f2d))
|
|
104
|
+
* **client:** loosen json header parsing ([84e3779](https://github.com/dodopayments/dodopayments-ruby/commit/84e377910377206d3fb2454a5dc4bc177bd8c44c))
|
|
105
|
+
* **client:** send correct HTTP path ([0d37b17](https://github.com/dodopayments/dodopayments-ruby/commit/0d37b1781b1cae981f046b3df361dd5e474509e2))
|
|
106
|
+
* converter should transform stringio into string where applicable ([fa77255](https://github.com/dodopayments/dodopayments-ruby/commit/fa7725542f6fa856262d343ccd0340a9c3436e49))
|
|
107
|
+
* coroutine leaks from connection pool ([5286357](https://github.com/dodopayments/dodopayments-ruby/commit/5286357844bc467be31b0581297437f1744f313f))
|
|
108
|
+
* **docs:** fix mcp installation instructions for remote servers ([f209cc0](https://github.com/dodopayments/dodopayments-ruby/commit/f209cc0840cac923a4afb9b760eef6a62f354431))
|
|
109
|
+
* ensure gem release is unaffected by renaming ([83c0ab0](https://github.com/dodopayments/dodopayments-ruby/commit/83c0ab0cde7876ccdcb448118f38385fa9d2fa68))
|
|
110
|
+
* **internal:** fix formatting script for macos ([d44d729](https://github.com/dodopayments/dodopayments-ruby/commit/d44d7293ce824c7cb16803cdbb89bb2830eb04c4))
|
|
111
|
+
* **internal:** remove duplicate imports ([9f5ba6c](https://github.com/dodopayments/dodopayments-ruby/commit/9f5ba6c2952d88400e64f9ebf27d669c4055d8fc))
|
|
112
|
+
* **internal:** update release-please to use ruby strategy for README.md ([b683ef0](https://github.com/dodopayments/dodopayments-ruby/commit/b683ef092ffeb43c64c5e0eec4d429e629ed6cd4))
|
|
113
|
+
* issue where json.parse errors when receiving HTTP 204 with nobody ([71adcdc](https://github.com/dodopayments/dodopayments-ruby/commit/71adcdc11ac2e81764d4c1bb591ea2c9978918f8))
|
|
114
|
+
* label optional keyword arguments in *.rbs type definitions ([0a8efde](https://github.com/dodopayments/dodopayments-ruby/commit/0a8efdecb15fe09b55dfebfe03f4abef43e05528))
|
|
115
|
+
* make a typo for `FilePart.content` ([af24ffc](https://github.com/dodopayments/dodopayments-ruby/commit/af24ffcb8218c2e39f5136abe53351fdcb74e635))
|
|
116
|
+
* **model:** base model should recursively store coerced base models ([7e3ec62](https://github.com/dodopayments/dodopayments-ruby/commit/7e3ec628b64c921afdecc5ed45a1a7bc905ee1ef))
|
|
117
|
+
* path interpolation template strings ([d5683b7](https://github.com/dodopayments/dodopayments-ruby/commit/d5683b7a6b2cb469327012d2553f019c2a24ef25))
|
|
118
|
+
* pre-release version string should match ruby, not semver conventions ([e7415da](https://github.com/dodopayments/dodopayments-ruby/commit/e7415da98e685ab504193d2827d863494c1f747e))
|
|
119
|
+
* properly mock time in ruby ci tests ([3ea2a0d](https://github.com/dodopayments/dodopayments-ruby/commit/3ea2a0d6f2fc09521b075f725fac3d335ae97bb0))
|
|
120
|
+
* raise connection error for errors that result from HTTP transports ([3834676](https://github.com/dodopayments/dodopayments-ruby/commit/38346761ee28f56d7daf487eb910ff9965e1bcb9))
|
|
121
|
+
* re-exported array and map models should typecheck in steep ([d171dd4](https://github.com/dodopayments/dodopayments-ruby/commit/d171dd4f41f8706c25e3dab58046e813cee966d4))
|
|
122
|
+
* resolve tapioca derived sorbet errors ([bc47cc1](https://github.com/dodopayments/dodopayments-ruby/commit/bc47cc1acbe47f1e037e3e29fd2be98c3693d81f))
|
|
123
|
+
* restore ability to configure server environment as string during client construction ([184b186](https://github.com/dodopayments/dodopayments-ruby/commit/184b186d51411d3373e54fad4e5226bd6e4241f5))
|
|
124
|
+
* shorten multipart boundary sep to less than RFC specificed max length ([98b379b](https://github.com/dodopayments/dodopayments-ruby/commit/98b379b5a0c1fad181fe3e89459b6dd8a531eb94))
|
|
125
|
+
* should not reuse buffers for `IO.copy_stream` interop ([b8baa35](https://github.com/dodopayments/dodopayments-ruby/commit/b8baa35262752b506c9c3029f1ce41b18db6f045))
|
|
126
|
+
* switch to github compatible markdown engine ([4acafa8](https://github.com/dodopayments/dodopayments-ruby/commit/4acafa8745b44f81e9520a47b761ceb69ba31639))
|
|
127
|
+
* yard example tag formatting ([884ae9d](https://github.com/dodopayments/dodopayments-ruby/commit/884ae9d9c8107228211f94e10494cf76cadb5117))
|
|
128
|
+
|
|
129
|
+
|
|
130
|
+
### Performance Improvements
|
|
131
|
+
|
|
132
|
+
* faster code formatting ([8f5e413](https://github.com/dodopayments/dodopayments-ruby/commit/8f5e413c73524aa2ba73140b587fa75790c29ebc))
|
|
133
|
+
|
|
134
|
+
|
|
135
|
+
### Chores
|
|
136
|
+
|
|
137
|
+
* `BaseModel` fields that are `BaseModel` typed should also accept `Hash` ([915e7e5](https://github.com/dodopayments/dodopayments-ruby/commit/915e7e50c6c6c991f7d3733b7842e1849255cfc8))
|
|
138
|
+
* accept all nd-json mimetype variants ([282cbb9](https://github.com/dodopayments/dodopayments-ruby/commit/282cbb9e1cb13018e6c9858001a267b44ae17771))
|
|
139
|
+
* add `[@yieldparam](https://github.com/yieldparam)` to yard doc ([764cd83](https://github.com/dodopayments/dodopayments-ruby/commit/764cd8326a3ac52090c77ad7e5ff9c54d2eedca2))
|
|
140
|
+
* add example directory ([9599dc0](https://github.com/dodopayments/dodopayments-ruby/commit/9599dc092fc1e61dc945aafe4ea056a7630f8545))
|
|
141
|
+
* add generator safe directory ([6925d9e](https://github.com/dodopayments/dodopayments-ruby/commit/6925d9e7464661902c5abadd1e10c43d30d166fd))
|
|
142
|
+
* add json schema comment for rubocop.yml ([bf58077](https://github.com/dodopayments/dodopayments-ruby/commit/bf5807710ba93f948b4425804ea5fe9ed859fa0f))
|
|
143
|
+
* add README docs for using solargraph when installing gem from git ([cc5afeb](https://github.com/dodopayments/dodopayments-ruby/commit/cc5afeb7168ff12bf8955aa594e5b51d8fe6f0ff))
|
|
144
|
+
* add type annotations for enum and union member listing methods ([933f18b](https://github.com/dodopayments/dodopayments-ruby/commit/933f18bd7e9e9a4f8a77992a8f3ce8fef6891247))
|
|
145
|
+
* allow fast-format to use bsd sed as well ([7da98a7](https://github.com/dodopayments/dodopayments-ruby/commit/7da98a7d5924257f7dcec54286a7db5728091f16))
|
|
146
|
+
* always check if current page is empty in `next_page?` ([8151945](https://github.com/dodopayments/dodopayments-ruby/commit/8151945f643a0eda5c2f7c5f2f820594e24f8d3b))
|
|
147
|
+
* always fold up method bodies in sorbet type definitions ([e838c12](https://github.com/dodopayments/dodopayments-ruby/commit/e838c12eaa9a85f91e52e4d84a7d8624aa68c68a))
|
|
148
|
+
* broadly detect json family of content-type headers ([8af10b9](https://github.com/dodopayments/dodopayments-ruby/commit/8af10b9ca2d106ff6079145efc33fa5a20d6fc5e))
|
|
149
|
+
* bump dependency version and update sorbet types ([194872c](https://github.com/dodopayments/dodopayments-ruby/commit/194872ca8a1918dfd212dc0a1e0a9afeda1d9b25))
|
|
150
|
+
* **ci:** add build step ([8b3e31e](https://github.com/dodopayments/dodopayments-ruby/commit/8b3e31e070dd3cd8ed6ff5d1b459e85bc198e49d))
|
|
151
|
+
* **ci:** add timeout thresholds for CI jobs ([6b2324e](https://github.com/dodopayments/dodopayments-ruby/commit/6b2324e00467e3ba31d1729f322fb769c5394e6a))
|
|
152
|
+
* **ci:** only use depot for staging repos ([adc65c4](https://github.com/dodopayments/dodopayments-ruby/commit/adc65c48fe043531e0b12735f59113318f95de3e))
|
|
153
|
+
* configure new SDK language ([fbf7c1f](https://github.com/dodopayments/dodopayments-ruby/commit/fbf7c1f3f1bb4cf298f8f5dd164afe1bc1bc2c72))
|
|
154
|
+
* demonstrate how to make undocumented requests in README ([15e30c1](https://github.com/dodopayments/dodopayments-ruby/commit/15e30c1fe450d03c0014458bf39488cdf82dc0ae))
|
|
155
|
+
* disable overloads in `*.rbs` definitions for readable LSP errors ([da0e8d5](https://github.com/dodopayments/dodopayments-ruby/commit/da0e8d5fac38f0af35105039338c45c2613d9145))
|
|
156
|
+
* disable unnecessary linter rules for sorbet manifests ([c76ef72](https://github.com/dodopayments/dodopayments-ruby/commit/c76ef72796447b336eee9c28408ba53444587c96))
|
|
157
|
+
* do not install brew dependencies in ./scripts/bootstrap by default ([f5efab0](https://github.com/dodopayments/dodopayments-ruby/commit/f5efab0b0ba3c3390f6812f4d1397641c2c045b3))
|
|
158
|
+
* do not label modules as abstract ([ee3ebf5](https://github.com/dodopayments/dodopayments-ruby/commit/ee3ebf5d5ea0431cfdf48eecbc4fc07fcb366962))
|
|
159
|
+
* do not use literals for version in type definitions ([ad10ce8](https://github.com/dodopayments/dodopayments-ruby/commit/ad10ce8575b706df56a34ae4ff8009cf7926ab0d))
|
|
160
|
+
* **docs:** remove www prefix ([9457927](https://github.com/dodopayments/dodopayments-ruby/commit/94579275f0ff94427953079ad865fdf9663a2923))
|
|
161
|
+
* document Client's concurrency capability ([58a127e](https://github.com/dodopayments/dodopayments-ruby/commit/58a127ea27a10f63e16846b4a71046c880fb6e9d))
|
|
162
|
+
* document LSP support in read me ([a47019f](https://github.com/dodopayments/dodopayments-ruby/commit/a47019f5c3fb191c195766f2bc9624db415647c0))
|
|
163
|
+
* documentation improvements ([7c1ca7a](https://github.com/dodopayments/dodopayments-ruby/commit/7c1ca7aa4f82584d3c4f89d69791ce867eb093b4))
|
|
164
|
+
* ensure readme.md is bumped when release please updates versions ([c1755a1](https://github.com/dodopayments/dodopayments-ruby/commit/c1755a176241ac4db602e03caaca1c9454f890c2))
|
|
165
|
+
* explicitly mark apis public under `Internal` module ([dc1c17b](https://github.com/dodopayments/dodopayments-ruby/commit/dc1c17be77d2bc1b0a4332c455199f5db26a47e6))
|
|
166
|
+
* explicitly require "base64" gem ([7e524c3](https://github.com/dodopayments/dodopayments-ruby/commit/7e524c31a95344581939439e2bbc7481543c439f))
|
|
167
|
+
* extract error classes into own module ([89bad55](https://github.com/dodopayments/dodopayments-ruby/commit/89bad555e5ef74c3511829882de8aede53f951c5))
|
|
168
|
+
* fix misc rubocop errors ([87f611e](https://github.com/dodopayments/dodopayments-ruby/commit/87f611e853867c1f8fc8db8bae91db4825bcdc89))
|
|
169
|
+
* ignore linter error for tests having large collections ([0ce86cf](https://github.com/dodopayments/dodopayments-ruby/commit/0ce86cf5a6418ddba749fc2231ee8ef47fe6f25d))
|
|
170
|
+
* ignore some spurious linter warnings and formatting changes ([d606be8](https://github.com/dodopayments/dodopayments-ruby/commit/d606be8d1462240437777a0daef7478402876eec))
|
|
171
|
+
* improve example values ([af9737c](https://github.com/dodopayments/dodopayments-ruby/commit/af9737c2e781e2f428ae69e88e0c9053ba0a018b))
|
|
172
|
+
* improve yard docs readability ([27ae393](https://github.com/dodopayments/dodopayments-ruby/commit/27ae3930726557ed9d8405c159625fd29285b4b7))
|
|
173
|
+
* **internal:** add sorbet config for SDK local development ([0c7073d](https://github.com/dodopayments/dodopayments-ruby/commit/0c7073d3ac559b2005bcb010e5e6317e397b82b8))
|
|
174
|
+
* **internal:** annotate request options with type aliases in sorbet ([ef9de86](https://github.com/dodopayments/dodopayments-ruby/commit/ef9de86cb6c37ef9486142baa2360334b8afd8f9))
|
|
175
|
+
* **internal:** codegen related update ([de72849](https://github.com/dodopayments/dodopayments-ruby/commit/de72849c70dc910fd8ade8dcdc822b6876415600))
|
|
176
|
+
* **internal:** codegen related update ([2ee3063](https://github.com/dodopayments/dodopayments-ruby/commit/2ee3063553979bce76598ae13706f54c42d9d65c))
|
|
177
|
+
* **internal:** codegen related update ([04b3973](https://github.com/dodopayments/dodopayments-ruby/commit/04b3973929484317dd187e8b7833c69a6afaf3a1))
|
|
178
|
+
* **internal:** codegen related update ([c8b13ca](https://github.com/dodopayments/dodopayments-ruby/commit/c8b13caad2127c6c46c5a81a0653d3fe7df18754))
|
|
179
|
+
* **internal:** codegen related update ([d3a61a4](https://github.com/dodopayments/dodopayments-ruby/commit/d3a61a416b95b731c08c2a5dbccf397b7c033437))
|
|
180
|
+
* **internal:** codegen related update ([37ac705](https://github.com/dodopayments/dodopayments-ruby/commit/37ac705c96dd862f68bd228c79f5b6fac85f09e2))
|
|
181
|
+
* **internal:** codegen related update ([7622434](https://github.com/dodopayments/dodopayments-ruby/commit/76224342d1d6457b5f3e952d4ef5a0fb4693e3bf))
|
|
182
|
+
* **internal:** codegen related update ([4b014a4](https://github.com/dodopayments/dodopayments-ruby/commit/4b014a45d6a41865ab79640f9aac71f3e96b2f40))
|
|
183
|
+
* **internal:** contribute.md and contributor QoL improvements ([faa951b](https://github.com/dodopayments/dodopayments-ruby/commit/faa951bda7f9bf602bddadd2897c626a2535e67e))
|
|
184
|
+
* **internal:** expand CI branch coverage ([57ab4ac](https://github.com/dodopayments/dodopayments-ruby/commit/57ab4ac4a2e82675cc4c363cb2a29e34557701dd))
|
|
185
|
+
* **internal:** improve response envelope unwrap functionality ([bd020e6](https://github.com/dodopayments/dodopayments-ruby/commit/bd020e6c47279426d937cc92f7778c178ba0e3b6))
|
|
186
|
+
* **internal:** minor refactoring of utils ([508daf1](https://github.com/dodopayments/dodopayments-ruby/commit/508daf14348624bedf613369b9ddcc54b4d4ca68))
|
|
187
|
+
* **internal:** minor type annotation improvements ([6e93642](https://github.com/dodopayments/dodopayments-ruby/commit/6e93642e7fe871d82bf61e42e19e0da2852613d4))
|
|
188
|
+
* **internal:** misc small improvements ([85b3cc3](https://github.com/dodopayments/dodopayments-ruby/commit/85b3cc39646cc103b5eda8d0125408bb71c3f2bf))
|
|
189
|
+
* **internal:** more concise handling of parameter naming conflicts ([b09b0d6](https://github.com/dodopayments/dodopayments-ruby/commit/b09b0d644db3406c5dd7a3d7b21c215886036aa3))
|
|
190
|
+
* **internal:** mostly README touch ups ([951c9ff](https://github.com/dodopayments/dodopayments-ruby/commit/951c9ffa2d054847edebd4c304c7f119e9185fc2))
|
|
191
|
+
* **internal:** protect SSE parsing pipeline from broken UTF-8 characters ([fd968b5](https://github.com/dodopayments/dodopayments-ruby/commit/fd968b5ed82938685d02b63503b2452d8019ac47))
|
|
192
|
+
* **internal:** reduce CI branch coverage ([442e1cc](https://github.com/dodopayments/dodopayments-ruby/commit/442e1ccf6ce7c934b15bdb642d2521c208becade))
|
|
193
|
+
* **internal:** remove unnecessary `rbi/lib` folder ([9f1568e](https://github.com/dodopayments/dodopayments-ruby/commit/9f1568e32d2085b50453c19995b608d351c69539))
|
|
194
|
+
* **internal:** remove workflow ([b8bdca8](https://github.com/dodopayments/dodopayments-ruby/commit/b8bdca868dc35cc6fa16f652c67dc51f0c05c776))
|
|
195
|
+
* **internal:** rubocop rules ([aa67a5c](https://github.com/dodopayments/dodopayments-ruby/commit/aa67a5c1b509bce6fd1d4a48f940165c32afbd6b))
|
|
196
|
+
* **internal:** run rubocop linter in parallel ([4a79ab0](https://github.com/dodopayments/dodopayments-ruby/commit/4a79ab084ca7a1838319ac21c636887e38f8aacb))
|
|
197
|
+
* **internal:** update `actions/checkout` version ([adf1e5e](https://github.com/dodopayments/dodopayments-ruby/commit/adf1e5e83e0cbbc01167161219e666b176d572ae))
|
|
198
|
+
* loosen const and integer coercion rules ([c8e265c](https://github.com/dodopayments/dodopayments-ruby/commit/c8e265c34a3a8d0638a5c1cf105ee2dafab57982))
|
|
199
|
+
* loosen rubocop rules that don't always make sense ([1fc8852](https://github.com/dodopayments/dodopayments-ruby/commit/1fc8852623eea594202ac41aa8d84dd671e5fd43))
|
|
200
|
+
* make client tests look prettier ([991a08d](https://github.com/dodopayments/dodopayments-ruby/commit/991a08df1c1d12f73f018e0a974723551950700c))
|
|
201
|
+
* make sorbet enums easier to read ([372e04c](https://github.com/dodopayments/dodopayments-ruby/commit/372e04caef9aa18483f20bb8cce40070c0c923de))
|
|
202
|
+
* mark non-inheritable SDK internal classes as final ([c2dc25e](https://github.com/dodopayments/dodopayments-ruby/commit/c2dc25ec48cb1132b7678c7cc71aa46f6335ac40))
|
|
203
|
+
* migrate away from deprecated `JSON#fast_generate` ([2408e07](https://github.com/dodopayments/dodopayments-ruby/commit/2408e07b26c4244ac2afd7201ecfbe61a402e62d))
|
|
204
|
+
* misc sdk polish ([5776dd3](https://github.com/dodopayments/dodopayments-ruby/commit/5776dd3a2eddfa0406d4405278209ec54cf57edd))
|
|
205
|
+
* more accurate type annotations and aliases ([bf44d64](https://github.com/dodopayments/dodopayments-ruby/commit/bf44d64b3e01b29f373a88b8a982773a1377a2a8))
|
|
206
|
+
* more accurate type annotations for SDK internals ([7e903b3](https://github.com/dodopayments/dodopayments-ruby/commit/7e903b3b37fc068d1827e4d9e1468d72afab5223))
|
|
207
|
+
* more aggressive tapioca detection logic for skipping compiler introspection ([7ee8b2a](https://github.com/dodopayments/dodopayments-ruby/commit/7ee8b2a2c94e80b10f82709e49782d9d80260e83))
|
|
208
|
+
* more readable output when tests fail ([77fd8e7](https://github.com/dodopayments/dodopayments-ruby/commit/77fd8e7b35d54b91a965351f65afd6c1cf32d3bb))
|
|
209
|
+
* move `cgi` into dependencies for ruby 4 ([4695906](https://github.com/dodopayments/dodopayments-ruby/commit/46959066824ae7478dd34708a36ed3cb3f50e7cc))
|
|
210
|
+
* move private classes into internal module ([75c8b88](https://github.com/dodopayments/dodopayments-ruby/commit/75c8b8878ea25dc59f35bee89818616395787208))
|
|
211
|
+
* order client variables by "importance" ([2b96cdd](https://github.com/dodopayments/dodopayments-ruby/commit/2b96cdd10698c9ca811a19dcdfad72a4c08657e4))
|
|
212
|
+
* re-export top level models under library namespace ([4e6afda](https://github.com/dodopayments/dodopayments-ruby/commit/4e6afda581eefa80e150d7c9fa440407e81d9378))
|
|
213
|
+
* refine `#inspect` and `#to_s` for model classes ([14cfc95](https://github.com/dodopayments/dodopayments-ruby/commit/14cfc957593d8bf9f1e1e09f95a07eb9a1cb07b8))
|
|
214
|
+
* relax sorbet enum parameters to allow `String` in addition to `Symbol` ([51bd455](https://github.com/dodopayments/dodopayments-ruby/commit/51bd45578f2bf23387b73d2c84560840db5c6acc))
|
|
215
|
+
* relocate internal modules ([68aff7a](https://github.com/dodopayments/dodopayments-ruby/commit/68aff7a9737ec724af95860697ab8706970b5efb))
|
|
216
|
+
* remove Gemfile.lock during bootstrap ([f1eccc7](https://github.com/dodopayments/dodopayments-ruby/commit/f1eccc75277114b50980245674aa8228e18ef166))
|
|
217
|
+
* remove unnecessary & confusing module ([727590d](https://github.com/dodopayments/dodopayments-ruby/commit/727590df76b9c011ea77adaf15e43407139bd063))
|
|
218
|
+
* rename confusing `Type::BooleanModel` to `Type::Boolean` ([71169db](https://github.com/dodopayments/dodopayments-ruby/commit/71169dbb04220c8bb6333d6f593874b01995117d))
|
|
219
|
+
* revert ignoring Gemfile.lock ([23de062](https://github.com/dodopayments/dodopayments-ruby/commit/23de062230bfeba7aa3080136bb63bcac551c39d))
|
|
220
|
+
* sdk client internal refactoring ([1c5f4d7](https://github.com/dodopayments/dodopayments-ruby/commit/1c5f4d7ed016ba10d9bdb24f3524c6cdcaef04cd))
|
|
221
|
+
* show truncated parameter docs in yard ([0a313c0](https://github.com/dodopayments/dodopayments-ruby/commit/0a313c068901d9474348fb484cd4b34b13d30915))
|
|
222
|
+
* simplify internal utils ([799832e](https://github.com/dodopayments/dodopayments-ruby/commit/799832e558aa816cf14312e4279cd01385c66c1b))
|
|
223
|
+
* simplify yard annotations by removing most `@!parse` directives ([dc949dd](https://github.com/dodopayments/dodopayments-ruby/commit/dc949dd935f43417d384bceb52220cd69c16a283))
|
|
224
|
+
* slightly more consistent type definition layout ([c43efe9](https://github.com/dodopayments/dodopayments-ruby/commit/c43efe948ab908714778e41b19f1bbf319c7f707))
|
|
225
|
+
* sync repo ([1506a07](https://github.com/dodopayments/dodopayments-ruby/commit/1506a070998cb16fae67c664c6cc6fa96d32cf79))
|
|
226
|
+
* update mock server docs ([ffeefff](https://github.com/dodopayments/dodopayments-ruby/commit/ffeefff8af6454b5d60e195100c8f31367db9cf0))
|
|
227
|
+
* update readme ([fe8ff7a](https://github.com/dodopayments/dodopayments-ruby/commit/fe8ff7a92854c9ec119a55ca26c291a501a31e78))
|
|
228
|
+
* update README with recommended editor plugins ([72adaa5](https://github.com/dodopayments/dodopayments-ruby/commit/72adaa58b737eb95a2a7a08d456419eec6c887bd))
|
|
229
|
+
* update SDK settings ([990f795](https://github.com/dodopayments/dodopayments-ruby/commit/990f795f48c1c6e8911fc72de58400652c6df806))
|
|
230
|
+
* update yard comment formatting ([3b01edb](https://github.com/dodopayments/dodopayments-ruby/commit/3b01edbe2622c31fe7c0de8b59aa68108042e1a8))
|
|
231
|
+
* use `@!method` instead of `@!parse` for virtual method type definitions ([a95e23a](https://github.com/dodopayments/dodopayments-ruby/commit/a95e23a9e8dbdc6f7452ae4f57094ef85349f62c))
|
|
232
|
+
* use fully qualified name in sorbet README example ([259f1d3](https://github.com/dodopayments/dodopayments-ruby/commit/259f1d3b92f7d58d52ac793a3d2aebc489ae927e))
|
|
233
|
+
* use generics instead of overloading for sorbet type definitions ([768b452](https://github.com/dodopayments/dodopayments-ruby/commit/768b4523e5e072d6062d181f5fe2ae2a277aaf47))
|
|
234
|
+
* use multi-line formatting style for really long lines ([9f3d5db](https://github.com/dodopayments/dodopayments-ruby/commit/9f3d5db8c4e81cccae8803b7343ab40ca05fc3dd))
|
|
235
|
+
* validate request option coercion correctness ([3f208de](https://github.com/dodopayments/dodopayments-ruby/commit/3f208de8e3829d6bfef9bd051c498ff81613cf75))
|
|
236
|
+
|
|
237
|
+
|
|
238
|
+
### Documentation
|
|
239
|
+
|
|
240
|
+
* illustrate environmental defaults for auth variables ([84de4bd](https://github.com/dodopayments/dodopayments-ruby/commit/84de4bdfa02196ff504a5765b2d60379d41068f7))
|
|
241
|
+
* prominently feature MCP server setup in root SDK readmes ([c5fed17](https://github.com/dodopayments/dodopayments-ruby/commit/c5fed177a666f04c83cb321f306b198c9b6baa95))
|
|
242
|
+
* **readme:** fix typo ([af6f8f6](https://github.com/dodopayments/dodopayments-ruby/commit/af6f8f6a62d92b2ca6d69796a3d945c60dab8b1b))
|
|
243
|
+
|
|
3
244
|
## 1.85.0 (2026-03-01)
|
|
4
245
|
|
|
5
246
|
Full Changelog: [v1.84.1...v1.85.0](https://github.com/dodopayments/dodopayments-ruby/compare/v1.84.1...v1.85.0)
|
data/README.md
CHANGED
|
@@ -490,6 +490,37 @@ module Dodopayments
|
|
|
490
490
|
JSONL_CONTENT = %r{^application/(:?x-(?:n|l)djson)|(:?(?:x-)?jsonl)}
|
|
491
491
|
|
|
492
492
|
class << self
|
|
493
|
+
# @api private
|
|
494
|
+
#
|
|
495
|
+
# @param query [Hash{Symbol=>Object}]
|
|
496
|
+
#
|
|
497
|
+
# @return [Hash{Symbol=>Object}]
|
|
498
|
+
def encode_query_params(query)
|
|
499
|
+
out = {}
|
|
500
|
+
query.each { write_query_param_element!(out, _1, _2) }
|
|
501
|
+
out
|
|
502
|
+
end
|
|
503
|
+
|
|
504
|
+
# @api private
|
|
505
|
+
#
|
|
506
|
+
# @param collection [Hash{Symbol=>Object}]
|
|
507
|
+
# @param key [String]
|
|
508
|
+
# @param element [Object]
|
|
509
|
+
#
|
|
510
|
+
# @return [nil]
|
|
511
|
+
private def write_query_param_element!(collection, key, element)
|
|
512
|
+
case element
|
|
513
|
+
in Hash
|
|
514
|
+
element.each do |name, value|
|
|
515
|
+
write_query_param_element!(collection, "#{key}[#{name}]", value)
|
|
516
|
+
end
|
|
517
|
+
in Array
|
|
518
|
+
collection[key] = element.map(&:to_s).join(",")
|
|
519
|
+
else
|
|
520
|
+
collection[key] = element.to_s
|
|
521
|
+
end
|
|
522
|
+
end
|
|
523
|
+
|
|
493
524
|
# @api private
|
|
494
525
|
#
|
|
495
526
|
# @param y [Enumerator::Yielder]
|
|
@@ -94,10 +94,11 @@ module Dodopayments
|
|
|
94
94
|
# @see Dodopayments::Models::AddonListParams
|
|
95
95
|
def list(params = {})
|
|
96
96
|
parsed, options = Dodopayments::AddonListParams.dump_request(params)
|
|
97
|
+
query = Dodopayments::Internal::Util.encode_query_params(parsed)
|
|
97
98
|
@client.request(
|
|
98
99
|
method: :get,
|
|
99
100
|
path: "addons",
|
|
100
|
-
query:
|
|
101
|
+
query: query,
|
|
101
102
|
page: Dodopayments::Internal::DefaultPageNumberPagination,
|
|
102
103
|
model: Dodopayments::AddonResponse,
|
|
103
104
|
options: options
|
|
@@ -31,10 +31,11 @@ module Dodopayments
|
|
|
31
31
|
# @see Dodopayments::Models::BalanceRetrieveLedgerParams
|
|
32
32
|
def retrieve_ledger(params = {})
|
|
33
33
|
parsed, options = Dodopayments::BalanceRetrieveLedgerParams.dump_request(params)
|
|
34
|
+
query = Dodopayments::Internal::Util.encode_query_params(parsed)
|
|
34
35
|
@client.request(
|
|
35
36
|
method: :get,
|
|
36
37
|
path: "balances/ledger",
|
|
37
|
-
query:
|
|
38
|
+
query: query,
|
|
38
39
|
page: Dodopayments::Internal::DefaultPageNumberPagination,
|
|
39
40
|
model: Dodopayments::BalanceLedgerEntry,
|
|
40
41
|
options: options
|
|
@@ -87,10 +87,11 @@ module Dodopayments
|
|
|
87
87
|
# @see Dodopayments::Models::CreditEntitlements::BalanceListParams
|
|
88
88
|
def list(credit_entitlement_id, params = {})
|
|
89
89
|
parsed, options = Dodopayments::CreditEntitlements::BalanceListParams.dump_request(params)
|
|
90
|
+
query = Dodopayments::Internal::Util.encode_query_params(parsed)
|
|
90
91
|
@client.request(
|
|
91
92
|
method: :get,
|
|
92
93
|
path: ["credit-entitlements/%1$s/balances", credit_entitlement_id],
|
|
93
|
-
query:
|
|
94
|
+
query: query,
|
|
94
95
|
page: Dodopayments::Internal::DefaultPageNumberPagination,
|
|
95
96
|
model: Dodopayments::CreditEntitlements::CustomerCreditBalance,
|
|
96
97
|
options: options
|
|
@@ -213,6 +214,7 @@ module Dodopayments
|
|
|
213
214
|
# @see Dodopayments::Models::CreditEntitlements::BalanceListGrantsParams
|
|
214
215
|
def list_grants(customer_id, params)
|
|
215
216
|
parsed, options = Dodopayments::CreditEntitlements::BalanceListGrantsParams.dump_request(params)
|
|
217
|
+
query = Dodopayments::Internal::Util.encode_query_params(parsed)
|
|
216
218
|
credit_entitlement_id =
|
|
217
219
|
parsed.delete(:credit_entitlement_id) do
|
|
218
220
|
raise ArgumentError.new("missing required path argument #{_1}")
|
|
@@ -220,7 +222,7 @@ module Dodopayments
|
|
|
220
222
|
@client.request(
|
|
221
223
|
method: :get,
|
|
222
224
|
path: ["credit-entitlements/%1$s/balances/%2$s/grants", credit_entitlement_id, customer_id],
|
|
223
|
-
query:
|
|
225
|
+
query: query,
|
|
224
226
|
page: Dodopayments::Internal::DefaultPageNumberPagination,
|
|
225
227
|
model: Dodopayments::Models::CreditEntitlements::BalanceListGrantsResponse,
|
|
226
228
|
options: options
|
|
@@ -279,6 +281,7 @@ module Dodopayments
|
|
|
279
281
|
# @see Dodopayments::Models::CreditEntitlements::BalanceListLedgerParams
|
|
280
282
|
def list_ledger(customer_id, params)
|
|
281
283
|
parsed, options = Dodopayments::CreditEntitlements::BalanceListLedgerParams.dump_request(params)
|
|
284
|
+
query = Dodopayments::Internal::Util.encode_query_params(parsed)
|
|
282
285
|
credit_entitlement_id =
|
|
283
286
|
parsed.delete(:credit_entitlement_id) do
|
|
284
287
|
raise ArgumentError.new("missing required path argument #{_1}")
|
|
@@ -286,7 +289,7 @@ module Dodopayments
|
|
|
286
289
|
@client.request(
|
|
287
290
|
method: :get,
|
|
288
291
|
path: ["credit-entitlements/%1$s/balances/%2$s/ledger", credit_entitlement_id, customer_id],
|
|
289
|
-
query:
|
|
292
|
+
query: query,
|
|
290
293
|
page: Dodopayments::Internal::DefaultPageNumberPagination,
|
|
291
294
|
model: Dodopayments::CreditEntitlements::CreditLedgerEntry,
|
|
292
295
|
options: options
|
|
@@ -291,10 +291,11 @@ module Dodopayments
|
|
|
291
291
|
# @see Dodopayments::Models::CreditEntitlementListParams
|
|
292
292
|
def list(params = {})
|
|
293
293
|
parsed, options = Dodopayments::CreditEntitlementListParams.dump_request(params)
|
|
294
|
+
query = Dodopayments::Internal::Util.encode_query_params(parsed)
|
|
294
295
|
@client.request(
|
|
295
296
|
method: :get,
|
|
296
297
|
path: "credit-entitlements",
|
|
297
|
-
query:
|
|
298
|
+
query: query,
|
|
298
299
|
page: Dodopayments::Internal::DefaultPageNumberPagination,
|
|
299
300
|
model: Dodopayments::CreditEntitlement,
|
|
300
301
|
options: options
|
|
@@ -17,10 +17,11 @@ module Dodopayments
|
|
|
17
17
|
# @see Dodopayments::Models::Customers::CustomerPortalCreateParams
|
|
18
18
|
def create(customer_id, params = {})
|
|
19
19
|
parsed, options = Dodopayments::Customers::CustomerPortalCreateParams.dump_request(params)
|
|
20
|
+
query = Dodopayments::Internal::Util.encode_query_params(parsed)
|
|
20
21
|
@client.request(
|
|
21
22
|
method: :post,
|
|
22
23
|
path: ["customers/%1$s/customer-portal/session", customer_id],
|
|
23
|
-
query:
|
|
24
|
+
query: query,
|
|
24
25
|
model: Dodopayments::CustomerPortalSession,
|
|
25
26
|
options: options
|
|
26
27
|
)
|
|
@@ -52,10 +52,11 @@ module Dodopayments
|
|
|
52
52
|
# @see Dodopayments::Models::Customers::Wallets::LedgerEntryListParams
|
|
53
53
|
def list(customer_id, params = {})
|
|
54
54
|
parsed, options = Dodopayments::Customers::Wallets::LedgerEntryListParams.dump_request(params)
|
|
55
|
+
query = Dodopayments::Internal::Util.encode_query_params(parsed)
|
|
55
56
|
@client.request(
|
|
56
57
|
method: :get,
|
|
57
58
|
path: ["customers/%1$s/wallets/ledger-entries", customer_id],
|
|
58
|
-
query:
|
|
59
|
+
query: query,
|
|
59
60
|
page: Dodopayments::Internal::DefaultPageNumberPagination,
|
|
60
61
|
model: Dodopayments::Customers::Wallets::CustomerWalletTransaction,
|
|
61
62
|
options: options
|
|
@@ -102,10 +102,11 @@ module Dodopayments
|
|
|
102
102
|
# @see Dodopayments::Models::CustomerListParams
|
|
103
103
|
def list(params = {})
|
|
104
104
|
parsed, options = Dodopayments::CustomerListParams.dump_request(params)
|
|
105
|
+
query = Dodopayments::Internal::Util.encode_query_params(parsed)
|
|
105
106
|
@client.request(
|
|
106
107
|
method: :get,
|
|
107
108
|
path: "customers",
|
|
108
|
-
query:
|
|
109
|
+
query: query,
|
|
109
110
|
page: Dodopayments::Internal::DefaultPageNumberPagination,
|
|
110
111
|
model: Dodopayments::Customer,
|
|
111
112
|
options: options
|
|
@@ -127,10 +127,11 @@ module Dodopayments
|
|
|
127
127
|
# @see Dodopayments::Models::DiscountListParams
|
|
128
128
|
def list(params = {})
|
|
129
129
|
parsed, options = Dodopayments::DiscountListParams.dump_request(params)
|
|
130
|
+
query = Dodopayments::Internal::Util.encode_query_params(parsed)
|
|
130
131
|
@client.request(
|
|
131
132
|
method: :get,
|
|
132
133
|
path: "discounts",
|
|
133
|
-
query:
|
|
134
|
+
query: query,
|
|
134
135
|
page: Dodopayments::Internal::DefaultPageNumberPagination,
|
|
135
136
|
model: Dodopayments::Discount,
|
|
136
137
|
options: options
|
|
@@ -44,10 +44,11 @@ module Dodopayments
|
|
|
44
44
|
# @see Dodopayments::Models::DisputeListParams
|
|
45
45
|
def list(params = {})
|
|
46
46
|
parsed, options = Dodopayments::DisputeListParams.dump_request(params)
|
|
47
|
+
query = Dodopayments::Internal::Util.encode_query_params(parsed)
|
|
47
48
|
@client.request(
|
|
48
49
|
method: :get,
|
|
49
50
|
path: "disputes",
|
|
50
|
-
query:
|
|
51
|
+
query: query,
|
|
51
52
|
page: Dodopayments::Internal::DefaultPageNumberPagination,
|
|
52
53
|
model: Dodopayments::Models::DisputeListResponse,
|
|
53
54
|
options: options
|
|
@@ -58,10 +58,11 @@ module Dodopayments
|
|
|
58
58
|
# @see Dodopayments::Models::LicenseKeyInstanceListParams
|
|
59
59
|
def list(params = {})
|
|
60
60
|
parsed, options = Dodopayments::LicenseKeyInstanceListParams.dump_request(params)
|
|
61
|
+
query = Dodopayments::Internal::Util.encode_query_params(parsed)
|
|
61
62
|
@client.request(
|
|
62
63
|
method: :get,
|
|
63
64
|
path: "license_key_instances",
|
|
64
|
-
query:
|
|
65
|
+
query: query,
|
|
65
66
|
page: Dodopayments::Internal::DefaultPageNumberPagination,
|
|
66
67
|
model: Dodopayments::LicenseKeyInstance,
|
|
67
68
|
options: options
|
|
@@ -73,10 +73,11 @@ module Dodopayments
|
|
|
73
73
|
# @see Dodopayments::Models::LicenseKeyListParams
|
|
74
74
|
def list(params = {})
|
|
75
75
|
parsed, options = Dodopayments::LicenseKeyListParams.dump_request(params)
|
|
76
|
+
query = Dodopayments::Internal::Util.encode_query_params(parsed)
|
|
76
77
|
@client.request(
|
|
77
78
|
method: :get,
|
|
78
79
|
path: "license_keys",
|
|
79
|
-
query:
|
|
80
|
+
query: query,
|
|
80
81
|
page: Dodopayments::Internal::DefaultPageNumberPagination,
|
|
81
82
|
model: Dodopayments::LicenseKey,
|
|
82
83
|
options: options
|
|
@@ -66,10 +66,11 @@ module Dodopayments
|
|
|
66
66
|
# @see Dodopayments::Models::MeterListParams
|
|
67
67
|
def list(params = {})
|
|
68
68
|
parsed, options = Dodopayments::MeterListParams.dump_request(params)
|
|
69
|
+
query = Dodopayments::Internal::Util.encode_query_params(parsed)
|
|
69
70
|
@client.request(
|
|
70
71
|
method: :get,
|
|
71
72
|
path: "meters",
|
|
72
|
-
query:
|
|
73
|
+
query: query,
|
|
73
74
|
page: Dodopayments::Internal::DefaultPageNumberPagination,
|
|
74
75
|
model: Dodopayments::Meter,
|
|
75
76
|
options: options
|
|
@@ -101,10 +101,11 @@ module Dodopayments
|
|
|
101
101
|
# @see Dodopayments::Models::PaymentListParams
|
|
102
102
|
def list(params = {})
|
|
103
103
|
parsed, options = Dodopayments::PaymentListParams.dump_request(params)
|
|
104
|
+
query = Dodopayments::Internal::Util.encode_query_params(parsed)
|
|
104
105
|
@client.request(
|
|
105
106
|
method: :get,
|
|
106
107
|
path: "payments",
|
|
107
|
-
query:
|
|
108
|
+
query: query,
|
|
108
109
|
page: Dodopayments::Internal::DefaultPageNumberPagination,
|
|
109
110
|
model: Dodopayments::Models::PaymentListResponse,
|
|
110
111
|
options: options
|
|
@@ -20,10 +20,11 @@ module Dodopayments
|
|
|
20
20
|
# @see Dodopayments::Models::PayoutListParams
|
|
21
21
|
def list(params = {})
|
|
22
22
|
parsed, options = Dodopayments::PayoutListParams.dump_request(params)
|
|
23
|
+
query = Dodopayments::Internal::Util.encode_query_params(parsed)
|
|
23
24
|
@client.request(
|
|
24
25
|
method: :get,
|
|
25
26
|
path: "payouts",
|
|
26
|
-
query:
|
|
27
|
+
query: query,
|
|
27
28
|
page: Dodopayments::Internal::DefaultPageNumberPagination,
|
|
28
29
|
model: Dodopayments::Models::PayoutListResponse,
|
|
29
30
|
options: options
|
|
@@ -17,10 +17,11 @@ module Dodopayments
|
|
|
17
17
|
# @see Dodopayments::Models::Products::ImageUpdateParams
|
|
18
18
|
def update(id, params = {})
|
|
19
19
|
parsed, options = Dodopayments::Products::ImageUpdateParams.dump_request(params)
|
|
20
|
+
query = Dodopayments::Internal::Util.encode_query_params(parsed)
|
|
20
21
|
@client.request(
|
|
21
22
|
method: :put,
|
|
22
23
|
path: ["products/%1$s/images", id],
|
|
23
|
-
query:
|
|
24
|
+
query: query,
|
|
24
25
|
model: Dodopayments::Models::Products::ImageUpdateResponse,
|
|
25
26
|
options: options
|
|
26
27
|
)
|
|
@@ -51,10 +51,11 @@ module Dodopayments
|
|
|
51
51
|
# @see Dodopayments::Models::Products::ShortLinkListParams
|
|
52
52
|
def list(params = {})
|
|
53
53
|
parsed, options = Dodopayments::Products::ShortLinkListParams.dump_request(params)
|
|
54
|
+
query = Dodopayments::Internal::Util.encode_query_params(parsed)
|
|
54
55
|
@client.request(
|
|
55
56
|
method: :get,
|
|
56
57
|
path: "products/short_links",
|
|
57
|
-
query:
|
|
58
|
+
query: query,
|
|
58
59
|
page: Dodopayments::Internal::DefaultPageNumberPagination,
|
|
59
60
|
model: Dodopayments::Models::Products::ShortLinkListResponse,
|
|
60
61
|
options: options
|
|
@@ -147,10 +147,11 @@ module Dodopayments
|
|
|
147
147
|
# @see Dodopayments::Models::ProductListParams
|
|
148
148
|
def list(params = {})
|
|
149
149
|
parsed, options = Dodopayments::ProductListParams.dump_request(params)
|
|
150
|
+
query = Dodopayments::Internal::Util.encode_query_params(parsed)
|
|
150
151
|
@client.request(
|
|
151
152
|
method: :get,
|
|
152
153
|
path: "products",
|
|
153
|
-
query:
|
|
154
|
+
query: query,
|
|
154
155
|
page: Dodopayments::Internal::DefaultPageNumberPagination,
|
|
155
156
|
model: Dodopayments::Models::ProductListResponse,
|
|
156
157
|
options: options
|
|
@@ -70,10 +70,11 @@ module Dodopayments
|
|
|
70
70
|
# @see Dodopayments::Models::RefundListParams
|
|
71
71
|
def list(params = {})
|
|
72
72
|
parsed, options = Dodopayments::RefundListParams.dump_request(params)
|
|
73
|
+
query = Dodopayments::Internal::Util.encode_query_params(parsed)
|
|
73
74
|
@client.request(
|
|
74
75
|
method: :get,
|
|
75
76
|
path: "refunds",
|
|
76
|
-
query:
|
|
77
|
+
query: query,
|
|
77
78
|
page: Dodopayments::Internal::DefaultPageNumberPagination,
|
|
78
79
|
model: Dodopayments::RefundListItem,
|
|
79
80
|
options: options
|
|
@@ -147,10 +147,11 @@ module Dodopayments
|
|
|
147
147
|
# @see Dodopayments::Models::SubscriptionListParams
|
|
148
148
|
def list(params = {})
|
|
149
149
|
parsed, options = Dodopayments::SubscriptionListParams.dump_request(params)
|
|
150
|
+
query = Dodopayments::Internal::Util.encode_query_params(parsed)
|
|
150
151
|
@client.request(
|
|
151
152
|
method: :get,
|
|
152
153
|
path: "subscriptions",
|
|
153
|
-
query:
|
|
154
|
+
query: query,
|
|
154
155
|
page: Dodopayments::Internal::DefaultPageNumberPagination,
|
|
155
156
|
model: Dodopayments::Models::SubscriptionListResponse,
|
|
156
157
|
options: options
|
|
@@ -344,10 +345,11 @@ module Dodopayments
|
|
|
344
345
|
# @see Dodopayments::Models::SubscriptionRetrieveUsageHistoryParams
|
|
345
346
|
def retrieve_usage_history(subscription_id, params = {})
|
|
346
347
|
parsed, options = Dodopayments::SubscriptionRetrieveUsageHistoryParams.dump_request(params)
|
|
348
|
+
query = Dodopayments::Internal::Util.encode_query_params(parsed)
|
|
347
349
|
@client.request(
|
|
348
350
|
method: :get,
|
|
349
351
|
path: ["subscriptions/%1$s/usage-history", subscription_id],
|
|
350
|
-
query:
|
|
352
|
+
query: query,
|
|
351
353
|
page: Dodopayments::Internal::DefaultPageNumberPagination,
|
|
352
354
|
model: Dodopayments::Models::SubscriptionRetrieveUsageHistoryResponse,
|
|
353
355
|
options: options
|
|
@@ -113,10 +113,11 @@ module Dodopayments
|
|
|
113
113
|
# @see Dodopayments::Models::UsageEventListParams
|
|
114
114
|
def list(params = {})
|
|
115
115
|
parsed, options = Dodopayments::UsageEventListParams.dump_request(params)
|
|
116
|
+
query = Dodopayments::Internal::Util.encode_query_params(parsed)
|
|
116
117
|
@client.request(
|
|
117
118
|
method: :get,
|
|
118
119
|
path: "events",
|
|
119
|
-
query:
|
|
120
|
+
query: query.transform_keys(end_: "end"),
|
|
120
121
|
page: Dodopayments::Internal::DefaultPageNumberPagination,
|
|
121
122
|
model: Dodopayments::Event,
|
|
122
123
|
options: options
|
|
@@ -116,10 +116,11 @@ module Dodopayments
|
|
|
116
116
|
# @see Dodopayments::Models::WebhookListParams
|
|
117
117
|
def list(params = {})
|
|
118
118
|
parsed, options = Dodopayments::WebhookListParams.dump_request(params)
|
|
119
|
+
query = Dodopayments::Internal::Util.encode_query_params(parsed)
|
|
119
120
|
@client.request(
|
|
120
121
|
method: :get,
|
|
121
122
|
path: "webhooks",
|
|
122
|
-
query:
|
|
123
|
+
query: query,
|
|
123
124
|
page: Dodopayments::Internal::CursorPagePagination,
|
|
124
125
|
model: Dodopayments::WebhookDetails,
|
|
125
126
|
options: options
|
data/lib/dodopayments/version.rb
CHANGED
|
@@ -301,6 +301,26 @@ module Dodopayments
|
|
|
301
301
|
T.let(%r{^application/(:?x-(?:n|l)djson)|(:?(?:x-)?jsonl)}, Regexp)
|
|
302
302
|
|
|
303
303
|
class << self
|
|
304
|
+
# @api private
|
|
305
|
+
sig do
|
|
306
|
+
params(query: Dodopayments::Internal::AnyHash).returns(
|
|
307
|
+
Dodopayments::Internal::AnyHash
|
|
308
|
+
)
|
|
309
|
+
end
|
|
310
|
+
def encode_query_params(query)
|
|
311
|
+
end
|
|
312
|
+
|
|
313
|
+
# @api private
|
|
314
|
+
sig do
|
|
315
|
+
params(
|
|
316
|
+
collection: Dodopayments::Internal::AnyHash,
|
|
317
|
+
key: String,
|
|
318
|
+
element: T.anything
|
|
319
|
+
).void
|
|
320
|
+
end
|
|
321
|
+
private def write_query_param_element!(collection, key, element)
|
|
322
|
+
end
|
|
323
|
+
|
|
304
324
|
# @api private
|
|
305
325
|
sig do
|
|
306
326
|
params(
|
|
@@ -106,6 +106,16 @@ module Dodopayments
|
|
|
106
106
|
JSON_CONTENT: Regexp
|
|
107
107
|
JSONL_CONTENT: Regexp
|
|
108
108
|
|
|
109
|
+
def encode_query_params: (
|
|
110
|
+
::Hash[Symbol, top] query
|
|
111
|
+
) -> ::Hash[Symbol, top]
|
|
112
|
+
|
|
113
|
+
private def write_query_param_element!: (
|
|
114
|
+
::Hash[Symbol, top] collection,
|
|
115
|
+
String key,
|
|
116
|
+
top element
|
|
117
|
+
) -> nil
|
|
118
|
+
|
|
109
119
|
def self?.write_multipart_content: (
|
|
110
120
|
Enumerator::Yielder y,
|
|
111
121
|
val: top,
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: dodopayments
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version:
|
|
4
|
+
version: 2.0.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Dodo Payments
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2026-03-
|
|
11
|
+
date: 2026-03-03 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: cgi
|