oauth 1.1.2 → 1.1.3

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.
data/CONTRIBUTING.md CHANGED
@@ -24,9 +24,10 @@ Follow these instructions:
24
24
 
25
25
  ## Executables vs Rake tasks
26
26
 
27
- Executables shipped by oauth can be used with or without generating the binstubs.
28
- They will work when oauth is installed globally (i.e., `gem install oauth`) and do not require that oauth be in your bundle.
27
+ Executables shipped by dependencies, such as oauth, and stone_checksums, are available
28
+ after running `bin/setup`. These include:
29
29
 
30
+ - gem_checksums
30
31
  - kettle-changelog
31
32
  - kettle-commit-msg
32
33
  - oauth-setup
@@ -35,20 +36,10 @@ They will work when oauth is installed globally (i.e., `gem install oauth`) and
35
36
  - kettle-readme-backers
36
37
  - kettle-release
37
38
 
38
- However, the rake tasks provided by oauth do require oauth to be added as a development dependency and loaded in your Rakefile.
39
- See the full list of rake tasks in head of Rakefile
39
+ There are many Rake tasks available as well. You can see them by running:
40
40
 
41
- **Gemfile**
42
- ```ruby
43
- group :development do
44
- gem "oauth", require: false
45
- end
46
- ```
47
-
48
- **Rakefile**
49
- ```ruby
50
- # Rakefile
51
- require "oauth"
41
+ ```shell
42
+ bin/rake -T
52
43
  ```
53
44
 
54
45
  ## Environment Variables for Local Development
@@ -118,10 +109,8 @@ bundle exec rake test
118
109
 
119
110
  ### Spec organization (required)
120
111
 
121
- - One spec file per class/module. For each class or module under `lib/`, keep all of its unit tests in a single spec file under `spec/` that mirrors the path and file name exactly: `lib/oauth/release_cli.rb` -> `spec/oauth/release_cli_spec.rb`.
122
- - Never add a second spec file for the same class/module. Examples of disallowed names: `*_more_spec.rb`, `*_extra_spec.rb`, `*_status_spec.rb`, or any other suffix that still targets the same class. If you find yourself wanting a second file, merge those examples into the canonical spec file for that class/module.
112
+ - One spec file per class/module. For each class or module under `lib/`, keep all of its unit tests in a single spec file under `spec/` that mirrors the path and file name exactly: `lib/oauth/my_class.rb` -> `spec/oauth/my_class_spec.rb`.
123
113
  - Exception: Integration specs that intentionally span multiple classes. Place these under `spec/integration/` (or a clearly named integration folder), and do not directly mirror a single class. Name them after the scenario, not a class.
124
- - Migration note: If a duplicate spec file exists, move all examples into the canonical file and delete the duplicate. Do not leave stubs or empty files behind.
125
114
 
126
115
  ## Lint It
127
116
 
@@ -144,7 +133,7 @@ For more detailed information about using RuboCop in this project, please see th
144
133
  Never add `# rubocop:disable ...` / `# rubocop:enable ...` comments to code or specs (except when following the few existing `rubocop:disable` patterns for a rule already being disabled elsewhere in the code). Instead:
145
134
 
146
135
  - Prefer configuration-based exclusions when a rule should not apply to certain paths or files (e.g., via `.rubocop.yml`).
147
- - When a violation is temporary and you plan to fix it later, record it in `.rubocop_gradual.lock` using the gradual workflow:
136
+ - When a violation is temporary, and you plan to fix it later, record it in `.rubocop_gradual.lock` using the gradual workflow:
148
137
  - `bundle exec rake rubocop_gradual:autocorrect` (preferred)
149
138
  - `bundle exec rake rubocop_gradual:force_update` (only when you cannot fix the violations immediately)
150
139
 
@@ -167,7 +156,7 @@ Also see GitLab Contributors: [https://gitlab.com/ruby-oauth/oauth/-/graphs/main
167
156
  **IMPORTANT**: To sign a build,
168
157
  a public key for signing gems will need to be picked up by the line in the
169
158
  `gemspec` defining the `spec.cert_chain` (check the relevant ENV variables there).
170
- All releases to RubyGems.org are signed releases.
159
+ All releases are signed releases.
171
160
  See: [RubyGems Security Guide][🔒️rubygems-security-guide]
172
161
 
173
162
  NOTE: To build without signing the gem set `SKIP_GEM_SIGNING` to any value in the environment.
@@ -176,7 +165,7 @@ NOTE: To build without signing the gem set `SKIP_GEM_SIGNING` to any value in th
176
165
 
177
166
  #### Automated process
178
167
 
179
- 1. Update version.rb to contian the correct version-to-be-released.
168
+ 1. Update version.rb to contain the correct version-to-be-released.
180
169
  2. Run `bundle exec kettle-changelog`.
181
170
  3. Run `bundle exec kettle-release`.
182
171
 
@@ -205,7 +194,7 @@ NOTE: To build without signing the gem set `SKIP_GEM_SIGNING` to any value in th
205
194
  12. Sanity check the SHA256, comparing with the output from the `bin/gem_checksums` command:
206
195
  - `sha256sum pkg/<gem name>-<version>.gem`
207
196
  13. Run `bundle exec rake release` which will create a git tag for the version,
208
- push git commits and tags, and push the `.gem` file to [rubygems.org][💎rubygems]
197
+ push git commits and tags, and push the `.gem` file to the gem host configured in the gemspec.
209
198
 
210
199
  [📜src-gl]: https://gitlab.com/ruby-oauth/oauth/
211
200
  [📜src-cb]: https://codeberg.org/ruby-oauth/oauth
@@ -216,7 +205,7 @@ NOTE: To build without signing the gem set `SKIP_GEM_SIGNING` to any value in th
216
205
  [🖐contributors]: https://github.com/ruby-oauth/oauth/graphs/contributors
217
206
  [🚎contributors-gl]: https://gitlab.com/ruby-oauth/oauth/-/graphs/main
218
207
  [🖐contributors-img]: https://contrib.rocks/image?repo=ruby-oauth/oauth
219
- [💎rubygems]: https://rubygems.org
208
+ [💎gem-coop]: https://gem.coop
220
209
  [🔒️rubygems-security-guide]: https://guides.rubygems.org/security/#building-gems
221
210
  [🔒️rubygems-checksums-pr]: https://github.com/rubygems/rubygems/pull/6022
222
211
  [🔒️rubygems-guides-pr]: https://github.com/rubygems/guides/pull/325
data/FUNDING.md CHANGED
@@ -6,7 +6,7 @@ Many paths lead to being a sponsor or a backer of this project. Are you on such
6
6
 
7
7
  [![OpenCollective Backers][🖇osc-backers-i]][🖇osc-backers] [![OpenCollective Sponsors][🖇osc-sponsors-i]][🖇osc-sponsors] [![Sponsor Me on Github][🖇sponsor-img]][🖇sponsor] [![Liberapay Goal Progress][⛳liberapay-img]][⛳liberapay] [![Donate on PayPal][🖇paypal-img]][🖇paypal]
8
8
 
9
- [![Buy me a coffee][🖇buyme-small-img]][🖇buyme] [![Donate on Polar][🖇polar-img]][🖇polar] [![Donate to my FLOSS or refugee efforts at ko-fi.com][🖇kofi-img]][🖇kofi] [![Donate to my FLOSS or refugee efforts using Patreon][🖇patreon-img]][🖇patreon]
9
+ [![Buy me a coffee][🖇buyme-small-img]][🖇buyme] [![Donate on Polar][🖇polar-img]][🖇polar] [![Donate to my FLOSS efforts at ko-fi.com][🖇kofi-img]][🖇kofi] [![Donate to my FLOSS efforts using Patreon][🖇patreon-img]][🖇patreon]
10
10
 
11
11
  [⛳liberapay-img]: https://img.shields.io/liberapay/goal/pboling.svg?logo=liberapay&color=a51611&style=flat
12
12
  [⛳liberapay]: https://liberapay.com/pboling/donate
@@ -46,7 +46,7 @@ To join the community or get help 👇️ Join the Discord.
46
46
 
47
47
  To say "thanks for maintaining such a great tool" ☝️ Join the Discord or 👇️ send money.
48
48
 
49
- [![Sponsor ruby-oauth/oauth on Open Source Collective][🖇osc-all-bottom-img]][🖇osc] 💌 [![Sponsor me on GitHub Sponsors][🖇sponsor-bottom-img]][🖇sponsor] 💌 [![Sponsor me on Liberapay][⛳liberapay-bottom-img]][⛳liberapay-img] 💌 [![Donate on PayPal][🖇paypal-bottom-img]][🖇paypal-img]
49
+ [![Sponsor ruby-oauth/oauth on Open Source Collective][🖇osc-all-bottom-img]][🖇osc] 💌 [![Sponsor me on GitHub Sponsors][🖇sponsor-bottom-img]][🖇sponsor] 💌 [![Sponsor me on Liberapay][⛳liberapay-bottom-img]][⛳liberapay] 💌 [![Donate on PayPal][🖇paypal-bottom-img]][🖇paypal]
50
50
 
51
51
  # Another Way to Support Open Source Software
52
52
 
data/README.md CHANGED
@@ -1,3 +1,32 @@
1
+ | 📍 NOTE |
2
+ |-------------------------------------------------------------------------------------------------------------------------------------------------------------------|
3
+ | RubyGems (the [GitHub org][rubygems-org], not the website) [suffered][draper-security] a [hostile takeover][ellen-takeover] in September 2025. |
4
+ | Ultimately [4 maintainers][simi-removed] were [hard removed][martin-removed] and a reason has been given for only 1 of those, while 2 others resigned in protest. |
5
+ | It is a [complicated story][draper-takeover] which is difficult to [parse quickly][draper-lies]. |
6
+ | I'm adding notes like this to gems because I [don't condone theft][draper-theft] of repositories or gems from their rightful owners. |
7
+ | If a similar theft happened with my repos/gems, I'd hope some would stand up for me. |
8
+ | Disenfranchised former-maintainers have started [gem.coop][gem-coop]. |
9
+ | Once available I will publish there exclusively; unless RubyCentral makes amends with the community. |
10
+ | The ["Technology for Humans: Joel Draper"][reinteractive-podcast] podcast episode by [reinteractive][reinteractive] is the most cogent summary I'm aware of. |
11
+ | See [here][gem-naming], [here][gem-coop] and [here][martin-ann] for more info on what comes next. |
12
+ | What I'm doing: A (WIP) proposal for [bundler/gem scopes][gem-scopes], and a (WIP) proposal for a federated [gem server][gem-server]. |
13
+
14
+ [rubygems-org]: https://github.com/rubygems/
15
+ [draper-security]: https://joel.drapper.me/p/ruby-central-security-measures/
16
+ [draper-takeover]: https://joel.drapper.me/p/ruby-central-takeover/
17
+ [ellen-takeover]: https://pup-e.com/blog/goodbye-rubygems/
18
+ [simi-removed]: https://www.reddit.com/r/ruby/s/gOk42POCaV
19
+ [martin-removed]: https://bsky.app/profile/martinemde.com/post/3m3occezxxs2q
20
+ [draper-lies]: https://joel.drapper.me/p/ruby-central-fact-check/
21
+ [draper-theft]: https://joel.drapper.me/p/ruby-central/
22
+ [reinteractive]: https://reinteractive.com/ruby-on-rails
23
+ [gem-coop]: https://gem.coop
24
+ [gem-naming]: https://github.com/gem-coop/gem.coop/issues/12
25
+ [martin-ann]: https://martinemde.com/2025/10/05/announcing-gem-coop.html
26
+ [gem-scopes]: https://github.com/galtzo-floss/bundle-namespace
27
+ [gem-server]: https://github.com/galtzo-floss/gem-server
28
+ [reinteractive-podcast]: https://youtu.be/_H4qbtC5qzU?si=BvuBU90R2wAqD2E6
29
+
1
30
  [![Galtzo FLOSS Logo by Aboling0, CC BY-SA 4.0][🖼️galtzo-i]][🖼️galtzo-discord] [![ruby-lang Logo, Yukihiro Matsumoto, Ruby Visual Identity Team, CC BY-SA 2.5][🖼️ruby-lang-i]][🖼️ruby-lang] [![oauth Logo by Chris Messina, CC BY-SA 3.0][🖼️oauth-i]][🖼️oauth]
2
31
 
3
32
  [🖼️galtzo-i]: https://logos.galtzo.com/assets/images/galtzo-floss/avatar-192px.svg
@@ -37,7 +66,7 @@ All dependencies of this gem are signed, so it can be installed with a `HighSecu
37
66
  [sibling-gem]: https://gitlab.com/ruby-oauth/oauth2
38
67
  [sibling2-gem]: https://gitlab.com/ruby-oauth/oauth-tty
39
68
 
40
- ## OAuth 1.0 vs 1.0a: What this library implements
69
+ ### OAuth 1.0 vs 1.0a: What this library implements
41
70
 
42
71
  This gem targets the OAuth 1.0a behavior (the errata that became RFC 5849), while maintaining compatibility with providers that still behave like classic 1.0.
43
72
  Here are the key differences between the two and how this gem handles them:
@@ -307,10 +336,7 @@ No sponsors yet. Be the first!
307
336
 
308
337
  ### Another way to support open-source
309
338
 
310
- > How wonderful it is that nobody need wait a single moment before starting to improve the world.<br/>
311
- >—Anne Frank
312
-
313
- I’m driven by a passion to foster a thriving open-source community – a space where people can tackle complex problems, no matter how small. Revitalizing libraries that have fallen into disrepair, and building new libraries focused on solving real-world challenges, are my passions — totaling 79 hours of FLOSS coding over just the past seven days, a pretty regular week for me. I was recently affected by layoffs, and the tech jobs market is unwelcoming. I’m reaching out here because your support would significantly aid my efforts to provide for my family, and my farm (11 🐔 chickens, 2 🐶 dogs, 3 🐰 rabbits, 8 🐈‍ cats).
339
+ I’m driven by a passion to foster a thriving open-source community – a space where people can tackle complex problems, no matter how small. Revitalizing libraries that have fallen into disrepair, and building new libraries focused on solving real-world challenges, are my passions. I was recently affected by layoffs, and the tech jobs market is unwelcoming. I’m reaching out here because your support would significantly aid my efforts to provide for my family, and my farm (11 🐔 chickens, 2 🐶 dogs, 3 🐰 rabbits, 8 🐈‍ cats).
314
340
 
315
341
  If you work at a company that uses my work, please encourage them to support me as a corporate sponsor. My work on gems you use might show up in `bundle fund`.
316
342
 
@@ -318,7 +344,7 @@ I’m developing a new library, [floss_funding][🖇floss-funding-gem], designed
318
344
 
319
345
  **[Floss-Funding.dev][🖇floss-funding.dev]: 👉️ No network calls. 👉️ No tracking. 👉️ No oversight. 👉️ Minimal crypto hashing. 💡 Easily disabled nags**
320
346
 
321
- [![OpenCollective Backers][🖇osc-backers-i]][🖇osc-backers] [![OpenCollective Sponsors][🖇osc-sponsors-i]][🖇osc-sponsors] [![Sponsor Me on Github][🖇sponsor-img]][🖇sponsor] [![Liberapay Goal Progress][⛳liberapay-img]][⛳liberapay] [![Donate on PayPal][🖇paypal-img]][🖇paypal] [![Buy me a coffee][🖇buyme-small-img]][🖇buyme] [![Donate on Polar][🖇polar-img]][🖇polar] [![Donate to my FLOSS or refugee efforts at ko-fi.com][🖇kofi-img]][🖇kofi] [![Donate to my FLOSS or refugee efforts using Patreon][🖇patreon-img]][🖇patreon]
347
+ [![OpenCollective Backers][🖇osc-backers-i]][🖇osc-backers] [![OpenCollective Sponsors][🖇osc-sponsors-i]][🖇osc-sponsors] [![Sponsor Me on Github][🖇sponsor-img]][🖇sponsor] [![Liberapay Goal Progress][⛳liberapay-img]][⛳liberapay] [![Donate on PayPal][🖇paypal-img]][🖇paypal] [![Buy me a coffee][🖇buyme-small-img]][🖇buyme] [![Donate on Polar][🖇polar-img]][🖇polar] [![Donate to my FLOSS efforts at ko-fi.com][🖇kofi-img]][🖇kofi] [![Donate to my FLOSS efforts using Patreon][🖇patreon-img]][🖇patreon]
322
348
 
323
349
  ## 🔐 Security
324
350
 
@@ -436,8 +462,8 @@ See [LICENSE.txt][📄license] for the official [Copyright Notice][📄copyright
436
462
  ## 🤑 A request for help
437
463
 
438
464
  Maintainers have teeth and need to pay their dentists.
439
- After getting laid off in an RIF in March and filled with many dozens of rejections,
440
- I'm now spending ~60+ hours a week building open source tools.
465
+ After getting laid off in an RIF in March, and encountering difficulty finding a new one,
466
+ I began spending most of my time building open source tools.
441
467
  I'm hoping to be able to pay for my kids' health insurance this month,
442
468
  so if you value the work I am doing, I need your support.
443
469
  Please consider sponsoring me or the project.
@@ -448,7 +474,7 @@ To join the community or get help 👇️ Join the Discord.
448
474
 
449
475
  To say "thanks!" ☝️ Join the Discord or 👇️ send money.
450
476
 
451
- [![Sponsor ruby-oauth/oauth on Open Source Collective][🖇osc-all-bottom-img]][🖇osc] 💌 [![Sponsor me on GitHub Sponsors][🖇sponsor-bottom-img]][🖇sponsor] 💌 [![Sponsor me on Liberapay][⛳liberapay-bottom-img]][⛳liberapay-img] 💌 [![Donate on PayPal][🖇paypal-bottom-img]][🖇paypal-img]
477
+ [![Sponsor ruby-oauth/oauth on Open Source Collective][🖇osc-all-bottom-img]][🖇osc] 💌 [![Sponsor me on GitHub Sponsors][🖇sponsor-bottom-img]][🖇sponsor] 💌 [![Sponsor me on Liberapay][⛳liberapay-bottom-img]][⛳liberapay] 💌 [![Donate on PayPal][🖇paypal-bottom-img]][🖇paypal]
452
478
 
453
479
  ### Please give the project a star ⭐ ♥.
454
480
 
@@ -493,7 +519,7 @@ Thanks for RTFM. ☺️
493
519
  [✇bundle-group-pattern]: https://gist.github.com/pboling/4564780
494
520
  [⛳️gem-namespace]: https://github.com/ruby-oauth/oauth
495
521
  [⛳️namespace-img]: https://img.shields.io/badge/namespace-Oauth-3C2D2D.svg?style=square&logo=ruby&logoColor=white
496
- [⛳️gem-name]: https://rubygems.org/gems/oauth
522
+ [⛳️gem-name]: https://bestgems.org/gems/oauth
497
523
  [⛳️name-img]: https://img.shields.io/badge/name-oauth-3C2D2D.svg?style=square&logo=rubygems&logoColor=red
498
524
  [⛳️tag-img]: https://img.shields.io/github/tag/ruby-oauth/oauth.svg
499
525
  [⛳️tag]: http://github.com/ruby-oauth/oauth/releases
@@ -542,11 +568,11 @@ Thanks for RTFM. ☺️
542
568
  [📜gh-wiki]: https://github.com/ruby-oauth/oauth/wiki
543
569
  [📜gl-wiki-img]: https://img.shields.io/badge/wiki-examples-943CD2.svg?style=for-the-badge&logo=gitlab&logoColor=white
544
570
  [📜gh-wiki-img]: https://img.shields.io/badge/wiki-examples-943CD2.svg?style=for-the-badge&logo=github&logoColor=white
545
- [👽dl-rank]: https://rubygems.org/gems/oauth
571
+ [👽dl-rank]: https://bestgems.org/gems/oauth
546
572
  [👽dl-ranki]: https://img.shields.io/gem/rd/oauth.svg
547
573
  [👽oss-help]: https://www.codetriage.com/ruby-oauth/oauth
548
574
  [👽oss-helpi]: https://www.codetriage.com/ruby-oauth/oauth/badges/users.svg
549
- [👽version]: https://rubygems.org/gems/oauth
575
+ [👽version]: https://bestgems.org/gems/oauth
550
576
  [👽versioni]: https://img.shields.io/gem/v/oauth.svg
551
577
  [🏀qlty-mnt]: https://qlty.sh/gh/ruby-oauth/projects/oauth
552
578
  [🏀qlty-mnti]: https://qlty.sh/gh/ruby-oauth/projects/oauth/maintainability.svg
@@ -633,10 +659,10 @@ Thanks for RTFM. ☺️
633
659
  [📌changelog]: CHANGELOG.md
634
660
  [📗keep-changelog]: https://keepachangelog.com/en/1.0.0/
635
661
  [📗keep-changelog-img]: https://img.shields.io/badge/keep--a--changelog-1.0.0-34495e.svg?style=flat
636
- [📌gitmoji]:https://gitmoji.dev
637
- [📌gitmoji-img]:https://img.shields.io/badge/gitmoji_commits-%20%F0%9F%98%9C%20%F0%9F%98%8D-34495e.svg?style=flat-square
662
+ [📌gitmoji]: https://gitmoji.dev
663
+ [📌gitmoji-img]: https://img.shields.io/badge/gitmoji_commits-%20%F0%9F%98%9C%20%F0%9F%98%8D-34495e.svg?style=flat-square
638
664
  [🧮kloc]: https://www.youtube.com/watch?v=dQw4w9WgXcQ
639
- [🧮kloc-img]: https://img.shields.io/badge/KLOC-0.999-FFDD67.svg?style=for-the-badge&logo=YouTube&logoColor=blue
665
+ [🧮kloc-img]: https://img.shields.io/badge/KLOC-1.000-FFDD67.svg?style=for-the-badge&logo=YouTube&logoColor=blue
640
666
  [🔐security]: SECURITY.md
641
667
  [🔐security-img]: https://img.shields.io/badge/security-policy-259D6C.svg?style=flat
642
668
  [📄copyright-notice-explainer]: https://opensource.stackexchange.com/questions/5778/why-do-licenses-such-as-the-mit-license-specify-a-single-year
data/SECURITY.md CHANGED
@@ -2,22 +2,9 @@
2
2
 
3
3
  ## Supported Versions
4
4
 
5
- | Version | Supported | Post-EOL / Enterprise |
6
- |---------|-----------|---------------------------------------|
7
- | 1.1.x | ✅ | [Tidelift Subscription][tidelift-ref] |
8
- | 1.0.x | ✅ | [Tidelift Subscription][tidelift-ref] |
9
- | 0.6.x | 🚨 | [Tidelift Subscription][tidelift-ref] |
10
- | 0.5.x | 🚨 | [Tidelift Subscription][tidelift-ref] |
11
- | <= 0.5 | ⛔ | ⛔ |
12
-
13
- LEGEND:
14
- ✅ - Supported
15
- 🚨 - Will only receive critical bug and security updates.
16
- ⛔ - No Support
17
-
18
- ### EOL Policy
19
-
20
- Non-commercial support for the oldest version of Ruby (which itself is going EOL) may be dropped each year in April.
5
+ | Version | Supported |
6
+ |----------|-----------|
7
+ | 1.latest | ✅ |
21
8
 
22
9
  ## Security contact information
23
10
 
@@ -25,14 +12,6 @@ To report a security vulnerability, please use the
25
12
  [Tidelift security contact](https://tidelift.com/security).
26
13
  Tidelift will coordinate the fix and disclosure.
27
14
 
28
- ## OAuth for Enterprise
29
-
30
- Available as part of the Tidelift Subscription.
31
-
32
- The maintainers of oauth and thousands of other packages are working with Tidelift to deliver commercial support and maintenance for the open source packages you use to build your applications. Save time, reduce risk, and improve code health, while paying the maintainers of the exact packages you use. [Learn more.][tidelift-ref]
33
-
34
- [tidelift-ref]: https://tidelift.com/subscription/pkg/rubygems-oauth?utm_source=rubygems-oauth&utm_medium=referral&utm_campaign=enterprise&utm_term=repo
35
-
36
15
  ## Additional Support
37
16
 
38
17
  If you are interested in support for versions older than the latest release,
@@ -40,13 +40,6 @@ module OAuth
40
40
  {}
41
41
  end
42
42
  end
43
-
44
- def wrap_values(hash)
45
- return {} unless hash
46
- hash.each_with_object({}) do |(k, v), acc|
47
- acc[k] = (v.is_a?(Array) || v.nil?) ? v : [v]
48
- end
49
- end
50
43
  end
51
44
  end
52
45
  end
@@ -180,6 +180,17 @@ module OAuth
180
180
 
181
181
  {}
182
182
  end
183
+
184
+ # Utility to make parameter values array-style (or keep nil) so that
185
+ # subclasses can rely on array values for parameter merging/signing.
186
+ # Mirrors the implementation previously present in
187
+ # ActionDispatchRequest#wrap_values.
188
+ def wrap_values(hash)
189
+ return {} unless hash
190
+ hash.each_with_object({}) do |(k, v), acc|
191
+ acc[k] = (v.is_a?(Array) || v.nil?) ? v : [v]
192
+ end
193
+ end
183
194
  end
184
195
  end
185
196
  end
data/lib/oauth/version.rb CHANGED
@@ -2,6 +2,6 @@
2
2
 
3
3
  module OAuth
4
4
  module Version
5
- VERSION = "1.1.2"
5
+ VERSION = "1.1.3"
6
6
  end
7
7
  end
data.tar.gz.sig CHANGED
Binary file
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: oauth
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.2
4
+ version: 1.1.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Pelle Braendgaard
@@ -13,7 +13,6 @@ authors:
13
13
  - Matt Sanford
14
14
  - Aaron Quint
15
15
  - Peter Boling
16
- autorequire:
17
16
  bindir: bin
18
17
  cert_chain:
19
18
  - |
@@ -44,7 +43,7 @@ cert_chain:
44
43
  DVjBtqT23eugOqQ73umLcYDZkc36vnqGxUBSsXrzY9pzV5gGr2I8YUxMqf6ATrZt
45
44
  L9nRqA==
46
45
  -----END CERTIFICATE-----
47
- date: 2025-09-22 00:00:00.000000000 Z
46
+ date: 1980-01-02 00:00:00.000000000 Z
48
47
  dependencies:
49
48
  - !ruby/object:Gem::Dependency
50
49
  name: oauth-tty
@@ -80,6 +79,20 @@ dependencies:
80
79
  - - "~>"
81
80
  - !ruby/object:Gem::Version
82
81
  version: '2.0'
82
+ - !ruby/object:Gem::Dependency
83
+ name: base64
84
+ requirement: !ruby/object:Gem::Requirement
85
+ requirements:
86
+ - - "~>"
87
+ - !ruby/object:Gem::Version
88
+ version: '0.1'
89
+ type: :runtime
90
+ prerelease: false
91
+ version_requirements: !ruby/object:Gem::Requirement
92
+ requirements:
93
+ - - "~>"
94
+ - !ruby/object:Gem::Version
95
+ version: '0.1'
83
96
  - !ruby/object:Gem::Dependency
84
97
  name: version_gem
85
98
  requirement: !ruby/object:Gem::Requirement
@@ -253,33 +266,19 @@ dependencies:
253
266
  - - "~>"
254
267
  - !ruby/object:Gem::Version
255
268
  version: '1.0'
256
- type: :development
257
- prerelease: false
258
- version_requirements: !ruby/object:Gem::Requirement
259
- requirements:
260
- - - "~>"
261
- - !ruby/object:Gem::Version
262
- version: '1.0'
263
- - !ruby/object:Gem::Dependency
264
- name: rspec-pending_for
265
- requirement: !ruby/object:Gem::Requirement
266
- requirements:
267
- - - "~>"
268
- - !ruby/object:Gem::Version
269
- version: '0.0'
270
269
  - - ">="
271
270
  - !ruby/object:Gem::Version
272
- version: 0.0.17
271
+ version: 1.0.6
273
272
  type: :development
274
273
  prerelease: false
275
274
  version_requirements: !ruby/object:Gem::Requirement
276
275
  requirements:
277
276
  - - "~>"
278
277
  - !ruby/object:Gem::Version
279
- version: '0.0'
278
+ version: '1.0'
280
279
  - - ">="
281
280
  - !ruby/object:Gem::Version
282
- version: 0.0.17
281
+ version: 1.0.6
283
282
  - !ruby/object:Gem::Dependency
284
283
  name: ruby-progressbar
285
284
  requirement: !ruby/object:Gem::Requirement
@@ -456,17 +455,16 @@ licenses:
456
455
  - MIT
457
456
  metadata:
458
457
  homepage_uri: https://oauth.galtzo.com/
459
- source_code_uri: https://github.com/ruby-oauth/oauth/tree/v1.1.2
460
- changelog_uri: https://github.com/ruby-oauth/oauth/blob/v1.1.2/CHANGELOG.md
458
+ source_code_uri: https://github.com/ruby-oauth/oauth/tree/v1.1.3
459
+ changelog_uri: https://github.com/ruby-oauth/oauth/blob/v1.1.3/CHANGELOG.md
461
460
  bug_tracker_uri: https://github.com/ruby-oauth/oauth/issues
462
- documentation_uri: https://www.rubydoc.info/gems/oauth/1.1.2
461
+ documentation_uri: https://www.rubydoc.info/gems/oauth/1.1.3
463
462
  mailing_list_uri: https://groups.google.com/g/oauth-ruby
464
463
  funding_uri: https://github.com/sponsors/pboling
465
464
  wiki_uri: https://gitlab.com/ruby-oauth/oauth/-/wiki
466
465
  news_uri: https://www.railsbling.com/tags/oauth
467
466
  discord_uri: https://discord.gg/3qme4XHNKN
468
467
  rubygems_mfa_required: 'true'
469
- post_install_message:
470
468
  rdoc_options:
471
469
  - "--title"
472
470
  - "oauth - \U0001F511 OAuth 1.0 / 1.0a Core Ruby implementation"
@@ -490,8 +488,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
490
488
  - !ruby/object:Gem::Version
491
489
  version: '0'
492
490
  requirements: []
493
- rubygems_version: 3.5.22
494
- signing_key:
491
+ rubygems_version: 3.7.2
495
492
  specification_version: 4
496
493
  summary: "\U0001F511 OAuth 1.0 / 1.0a Core Ruby implementation"
497
494
  test_files: []
metadata.gz.sig CHANGED
Binary file