oauth-tty 1.0.8 → 1.0.10

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/README.md CHANGED
@@ -1,17 +1,10 @@
1
- [![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-tty-i]][🖼️oauth-tty]
2
-
3
- [🖼️galtzo-i]: https://logos.galtzo.com/assets/images/galtzo-floss/avatar-192px.svg
4
- [🖼️galtzo-discord]: https://discord.gg/3qme4XHNKN
5
- [🖼️ruby-lang-i]: https://logos.galtzo.com/assets/images/ruby-lang/avatar-192px.svg
6
- [🖼️ruby-lang]: https://www.ruby-lang.org/
7
- [🖼️oauth-tty-i]: https://logos.galtzo.com/assets/images/oauth/avatar-192px.svg
8
- [🖼️oauth-tty]: https://github.com/ruby-oauth/oauth-tty
1
+ <a href="https://github.com/ruby-oauth"><img alt="ruby-oauth Logo by Aboling0, CC BY-SA 4.0" src="https://logos.galtzo.com/assets/images/ruby-oauth/avatar-128px.svg" width="14%" align="right"/></a>
9
2
 
10
3
  # 🖥️ OAuth::TTY
11
4
 
12
- [![Version][👽versioni]][👽version] [![GitHub tag (latest SemVer)][⛳️tag-img]][⛳️tag] [![License: MIT][📄license-img]][📄license-ref] [![Downloads Rank][👽dl-ranki]][👽dl-rank] [![CodeCov Test Coverage][🏀codecovi]][🏀codecov] [![Coveralls Test Coverage][🏀coveralls-img]][🏀coveralls] [![QLTY Test Coverage][🏀qlty-covi]][🏀qlty-cov] [![QLTY Maintainability][🏀qlty-mnti]][🏀qlty-mnt] [![CI Heads][🚎3-hd-wfi]][🚎3-hd-wf] [![CI Runtime Dependencies @ HEAD][🚎12-crh-wfi]][🚎12-crh-wf] [![CI Current][🚎11-c-wfi]][🚎11-c-wf] [![CI Truffle Ruby][🚎9-t-wfi]][🚎9-t-wf] [![CI JRuby][🚎10-j-wfi]][🚎10-j-wf] [![Deps Locked][🚎13-🔒️-wfi]][🚎13-🔒️-wf] [![Deps Unlocked][🚎14-🔓️-wfi]][🚎14-🔓️-wf] [![CI Supported][🚎6-s-wfi]][🚎6-s-wf] [![CI Legacy][🚎4-lg-wfi]][🚎4-lg-wf] [![CI Unsupported][🚎7-us-wfi]][🚎7-us-wf] [![CI Ancient][🚎1-an-wfi]][🚎1-an-wf] [![CI Test Coverage][🚎2-cov-wfi]][🚎2-cov-wf] [![CI Style][🚎5-st-wfi]][🚎5-st-wf] [![CodeQL][🖐codeQL-img]][🖐codeQL] [![Apache SkyWalking Eyes License Compatibility Check][🚎15-🪪-wfi]][🚎15-🪪-wf]
5
+ [![Version][👽versioni]][👽version] [![GitHub tag (latest SemVer)][⛳️tag-img]][⛳️tag] [![License: MIT][📄license-img]][📄license] [![Downloads Rank][👽dl-ranki]][👽dl-rank] [![CodeCov Test Coverage][🏀codecovi]][🏀codecov] [![Coveralls Test Coverage][🏀coveralls-img]][🏀coveralls] [![QLTY Test Coverage][🏀qlty-covi]][🏀qlty-cov] [![QLTY Maintainability][🏀qlty-mnti]][🏀qlty-mnt] [![CI Heads][🚎3-hd-wfi]][🚎3-hd-wf] [![CI Runtime Dependencies @ HEAD][🚎12-crh-wfi]][🚎12-crh-wf] [![CI Current][🚎11-c-wfi]][🚎11-c-wf] [![CI Truffle Ruby][🚎9-t-wfi]][🚎9-t-wf] [![CI JRuby][🚎10-j-wfi]][🚎10-j-wf] [![Deps Locked][🚎13-🔒️-wfi]][🚎13-🔒️-wf] [![Deps Unlocked][🚎14-🔓️-wfi]][🚎14-🔓️-wf] [![CI Test Coverage][🚎2-cov-wfi]][🚎2-cov-wf] [![CI Style][🚎5-st-wfi]][🚎5-st-wf] [![Apache SkyWalking Eyes License Compatibility Check][🚎15-🪪-wfi]][🚎15-🪪-wf]
13
6
 
14
- `if ci_badges.map(&:color).detect { it != "green"}` ☝️ [let me know][🖼️galtzo-discord], as I may have missed the [discord notification][🖼️galtzo-discord].
7
+ `if ci_badges.map(&:color).detect { it != "green"}` ☝️ [let me know][✉️discord-invite], as I may have missed the [discord notification][✉️discord-invite].
15
8
 
16
9
  ---
17
10
 
@@ -19,7 +12,14 @@
19
12
 
20
13
  [![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 at ko-fi.com][🖇kofi-img]][🖇kofi]
21
14
 
22
- ## 🌻 Synopsis
15
+ <details>
16
+ <summary>👣 How will this project approach the September 2025 hostile takeover of RubyGems? 🚑️</summary>
17
+
18
+ I've summarized my thoughts in [this blog post](https://dev.to/galtzo/hostile-takeover-of-rubygems-my-thoughts-5hlo).
19
+
20
+ </details>
21
+
22
+ ## 🌻 Synopsis <a href="https://discord.gg/3qme4XHNKN"><img alt="Galtzo FLOSS Logo by Aboling0, CC BY-SA 4.0" src="https://logos.galtzo.com/assets/images/galtzo-floss/avatar-128px.svg" width="8%" align="right"/></a> <a href="https://ruby-toolbox.com"><img alt="ruby-lang Logo, Yukihiro Matsumoto, Ruby Visual Identity Team, CC BY-SA 2.5" src="https://logos.galtzo.com/assets/images/ruby-lang/avatar-128px.svg" width="8%" align="right"/></a>
23
23
 
24
24
  OAuth 1.0a is an industry-standard protocol for authorization.
25
25
  It is an update to the original OAuth 1.0 protocol, and is used by many popular services.
@@ -38,40 +38,44 @@ All dependencies of this gem are signed, so it can be installed with a `HighSecu
38
38
 
39
39
  ## 💡 Info you can shake a stick at
40
40
 
41
- | Tokens to Remember | [![Gem name][⛳️name-img]][⛳️gem-name] [![Gem namespace][⛳️namespace-img]][⛳️gem-namespace] |
41
+ | Tokens to Remember | [![Gem name][⛳️name-img]][⛳️gem-name] [![Gem namespace][⛳️namespace-img]][⛳️gem-namespace] |
42
42
  |-------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
43
- | Works with JRuby | ![JRuby 9.1 Compat][💎jruby-9.1i] ![JRuby 9.2 Compat][💎jruby-9.2i] ![JRuby 9.3 Compat][💎jruby-9.3i] <br/> [![JRuby 9.4 Compat][💎jruby-9.4i]][🚎10-j-wf] [![JRuby 10.0 Compat][💎jruby-c-i]][🚎11-c-wf] [![JRuby HEAD Compat][💎jruby-headi]][🚎3-hd-wf] |
44
- | Works with Truffle Ruby | ![Truffle Ruby 22.3 Compat][💎truby-22.3i] ![Truffle Ruby 23.0 Compat][💎truby-23.0i] <br/> [![Truffle Ruby 23.1 Compat][💎truby-23.1i]][🚎9-t-wf] [![Truffle Ruby 24.1 Compat][💎truby-c-i]][🚎11-c-wf] |
45
- | Works with MRI Ruby 3 | [![Ruby 3.0 Compat][💎ruby-3.0i]][🚎4-lg-wf] [![Ruby 3.1 Compat][💎ruby-3.1i]][🚎6-s-wf] [![Ruby 3.2 Compat][💎ruby-3.2i]][🚎6-s-wf] [![Ruby 3.3 Compat][💎ruby-3.3i]][🚎6-s-wf] [![Ruby 3.4 Compat][💎ruby-c-i]][🚎11-c-wf] [![Ruby HEAD Compat][💎ruby-headi]][🚎3-hd-wf] |
46
- | Works with MRI Ruby 2 | [![Ruby 2.3 Compat][💎ruby-2.3i]][🚎1-an-wf] [![Ruby 2.4 Compat][💎ruby-2.4i]][🚎1-an-wf] [![Ruby 2.5 Compat][💎ruby-2.5i]][🚎1-an-wf] [![Ruby 2.6 Compat][💎ruby-2.6i]][🚎7-us-wf] [![Ruby 2.7 Compat][💎ruby-2.7i]][🚎7-us-wf] |
47
- | Support & Community | [![Join Me on Daily.dev's RubyFriends][✉️ruby-friends-img]][✉️ruby-friends] [![Live Chat on Discord][✉️discord-invite-img-ftb]][✉️discord-invite] [![Get help from me on Upwork][👨🏼‍🏫expsup-upwork-img]][👨🏼‍🏫expsup-upwork] [![Get help from me on Codementor][👨🏼‍🏫expsup-codementor-img]][👨🏼‍🏫expsup-codementor] |
48
- | Source | [![Source on GitLab.com][📜src-gl-img]][📜src-gl] [![Source on CodeBerg.org][📜src-cb-img]][📜src-cb] [![Source on Github.com][📜src-gh-img]][📜src-gh] [![The best SHA: dQw4w9WgXcQ!][🧮kloc-img]][🧮kloc] |
49
- | Documentation | [![Current release on RubyDoc.info][📜docs-cr-rd-img]][🚎yard-current] [![YARD on Galtzo.com][📜docs-head-rd-img]][🚎yard-head] [![Maintainer Blog][🚂maint-blog-img]][🚂maint-blog] [![GitLab Wiki][📜gl-wiki-img]][📜gl-wiki] [![GitHub Wiki][📜gh-wiki-img]][📜gh-wiki] |
50
- | Compliance | [![License: MIT][📄license-img]][📄license-ref] [![Compatible with Apache Software Projects: Verified by SkyWalking Eyes][📄license-compat-img]][📄license-compat] [![📄ilo-declaration-img]][📄ilo-declaration] [![Security Policy][🔐security-img]][🔐security] [![Contributor Covenant 2.1][🪇conduct-img]][🪇conduct] [![SemVer 2.0.0][📌semver-img]][📌semver] |
51
- | Style | [![Enforced Code Style Linter][💎rlts-img]][💎rlts] [![Keep-A-Changelog 1.0.0][📗keep-changelog-img]][📗keep-changelog] [![Gitmoji Commits][📌gitmoji-img]][📌gitmoji] [![Compatibility appraised by: appraisal2][💎appraisal2-img]][💎appraisal2] |
52
- | Maintainer 🎖️ | [![Follow Me on LinkedIn][💖🖇linkedin-img]][💖🖇linkedin] [![Follow Me on Ruby.Social][💖🐘ruby-mast-img]][💖🐘ruby-mast] [![Follow Me on Bluesky][💖🦋bluesky-img]][💖🦋bluesky] [![Contact Maintainer][🚂maint-contact-img]][🚂maint-contact] [![My technical writing][💖💁🏼‍♂️devto-img]][💖💁🏼‍♂️devto] |
53
- | `...` 💖 | [![Find Me on WellFound:][💖✌️wellfound-img]][💖✌️wellfound] [![Find Me on CrunchBase][💖💲crunchbase-img]][💖💲crunchbase] [![My LinkTree][💖🌳linktree-img]][💖🌳linktree] [![More About Me][💖💁🏼‍♂️aboutme-img]][💖💁🏼‍♂️aboutme] [🧊][💖🧊berg] [🐙][💖🐙hub] [🛖][💖🛖hut] [🧪][💖🧪lab] |
43
+ | Works with JRuby | [![JRuby 9.2 Compat][💎jruby-9.2i]][🚎jruby-9.2-wf] [![JRuby 9.3 Compat][💎jruby-9.3i]][🚎jruby-9.3-wf] <br/> [![JRuby 9.4 Compat][💎jruby-9.4i]][🚎jruby-9.4-wf] [![JRuby current Compat][💎jruby-c-i]][🚎10-j-wf] [![JRuby HEAD Compat][💎jruby-headi]][🚎3-hd-wf]|
44
+ | Works with Truffle Ruby | [![Truffle Ruby 22.3 Compat][💎truby-22.3i]][🚎truby-22.3-wf] [![Truffle Ruby 23.0 Compat][💎truby-23.0i]][🚎truby-23.0-wf] [![Truffle Ruby 23.1 Compat][💎truby-23.1i]][🚎truby-23.1-wf] <br/> [![Truffle Ruby 24.2 Compat][💎truby-24.2i]][🚎truby-24.2-wf] [![Truffle Ruby 25.0 Compat][💎truby-25.0i]][🚎truby-25.0-wf] [![Truffle Ruby current Compat][💎truby-c-i]][🚎9-t-wf]|
45
+ | Works with MRI Ruby 4 | [![Ruby 4.0 Compat][💎ruby-4.0i]][🚎11-c-wf] [![Ruby current Compat][💎ruby-c-i]][🚎11-c-wf] [![Ruby HEAD Compat][💎ruby-headi]][🚎3-hd-wf]|
46
+ | Works with MRI Ruby 3 | [![Ruby 3.0 Compat][💎ruby-3.0i]][🚎ruby-3.0-wf] [![Ruby 3.1 Compat][💎ruby-3.1i]][🚎ruby-3.1-wf] [![Ruby 3.2 Compat][💎ruby-3.2i]][🚎ruby-3.2-wf] [![Ruby 3.3 Compat][💎ruby-3.3i]][🚎ruby-3.3-wf] [![Ruby 3.4 Compat][💎ruby-3.4i]][🚎ruby-3.4-wf]|
47
+ | Works with MRI Ruby 2 | ![Ruby 2.3 Compat][💎ruby-2.3i] <br/> [![Ruby 2.4 Compat][💎ruby-2.4i]][🚎ruby-2.4-wf] [![Ruby 2.5 Compat][💎ruby-2.5i]][🚎ruby-2.5-wf] [![Ruby 2.6 Compat][💎ruby-2.6i]][🚎ruby-2.6-wf] [![Ruby 2.7 Compat][💎ruby-2.7i]][🚎ruby-2.7-wf]|
48
+ | Support & Community | [![Join Me on Daily.dev's RubyFriends][✉️ruby-friends-img]][✉️ruby-friends] [![Live Chat on Discord][✉️discord-invite-img-ftb]][✉️discord-invite] [![Get help from me on Upwork][👨🏼‍🏫expsup-upwork-img]][👨🏼‍🏫expsup-upwork] [![Get help from me on Codementor][👨🏼‍🏫expsup-codementor-img]][👨🏼‍🏫expsup-codementor] |
49
+ | Source | [![Source on GitLab.com][📜src-gl-img]][📜src-gl] [![Source on CodeBerg.org][📜src-cb-img]][📜src-cb] [![Source on Github.com][📜src-gh-img]][📜src-gh] [![The best SHA: dQw4w9WgXcQ!][🧮kloc-img]][🧮kloc] |
50
+ | Documentation | [![Current release on RubyDoc.info][📜docs-cr-rd-img]][🚎yard-current] [![YARD on Galtzo.com][📜docs-head-rd-img]][🚎yard-head] [![Maintainer Blog][🚂maint-blog-img]][🚂maint-blog] [![GitLab Wiki][📜gl-wiki-img]][📜gl-wiki] [![GitHub Wiki][📜gh-wiki-img]][📜gh-wiki] |
51
+ | Compliance | [![License: MIT][📄license-img]][📄license] [![Apache license compatibility: Category A][📄license-compat-img]][📄license-compat] [![📄ilo-declaration-img]][📄ilo-declaration] [![Security Policy][🔐security-img]][🔐security] [![Contributor Covenant 2.1][🪇conduct-img]][🪇conduct] [![SemVer 2.0.0][📌semver-img]][📌semver] |
52
+ | Style | [![Enforced Code Style Linter][💎rlts-img]][💎rlts] [![Keep-A-Changelog 1.0.0][📗keep-changelog-img]][📗keep-changelog] [![Gitmoji Commits][📌gitmoji-img]][📌gitmoji] [![Compatibility appraised by: appraisal2][💎appraisal2-img]][💎appraisal2] |
53
+ | Maintainer 🎖️ | [![Follow Me on LinkedIn][💖🖇linkedin-img]][💖🖇linkedin] [![Follow Me on Ruby.Social][💖🐘ruby-mast-img]][💖🐘ruby-mast] [![Follow Me on Bluesky][💖🦋bluesky-img]][💖🦋bluesky] [![Contact Maintainer][🚂maint-contact-img]][🚂maint-contact] [![My technical writing][💖💁🏼‍♂️devto-img]][💖💁🏼‍♂️devto] |
54
+ | `...` 💖 | [![Find Me on WellFound:][💖✌️wellfound-img]][💖✌️wellfound] [![Find Me on CrunchBase][💖💲crunchbase-img]][💖💲crunchbase] [![My LinkTree][💖🌳linktree-img]][💖🌳linktree] [![More About Me][💖💁🏼‍♂️aboutme-img]][💖💁🏼‍♂️aboutme] [🧊][💖🧊berg] [🐙][💖🐙hub] [🛖][💖🛖hut] [🧪][💖🧪lab] |
54
55
 
55
56
  ### Compatibility
56
57
 
57
58
  Compatible with MRI Ruby 2.3.0+, and concordant releases of JRuby, and TruffleRuby.
59
+ CI workflows and Appraisals are generated for MRI Ruby 2.4+.
60
+ This test floor is configured by `ruby.test_minimum` in `.kettle-jem.yml` and
61
+ may be higher than the gem's runtime compatibility floor when legacy Rubies are
62
+ not practical for the current toolchain.
58
63
 
59
- | 🚚 _Amazing_ test matrix was brought to you by | 🔎 appraisal2 🔎 and the color 💚 green 💚 |
64
+ | 🚚 _Amazing_ test matrix was brought to you by | 🔎 appraisal2 🔎 and the color 💚 green 💚 |
60
65
  |------------------------------------------------|--------------------------------------------------------|
61
- | 👟 Check it out! | ✨ [github.com/appraisal-rb/appraisal2][💎appraisal2] ✨ |
66
+ | 👟 Check it out! | ✨ [github.com/appraisal-rb/appraisal2][💎appraisal2] ✨ |
62
67
 
63
68
  ### Federated DVCS
64
69
 
65
- <details>
66
- <summary>Find this repo on federated forges (Coming soon!)</summary>
70
+ <details markdown="1">
71
+ <summary>Find this repo on federated forges (Coming soon!)</summary>
67
72
 
68
- | Federated [DVCS][💎d-in-dvcs] Repository | Status | Issues | PRs | Wiki | CI | Discussions |
73
+ | Federated [DVCS][💎d-in-dvcs] Repository | Status | Issues | PRs | Wiki | CI | Discussions |
69
74
  |-------------------------------------------------|-----------------------------------------------------------------------|---------------------------|--------------------------|---------------------------|--------------------------|------------------------------|
70
- | 🧪 [ruby-oauth/oauth-tty on GitLab][📜src-gl] | The Truth | [💚][🤝gl-issues] | [💚][🤝gl-pulls] | [💚][📜gl-wiki] | 🐭 Tiny Matrix | ➖ |
71
- | 🧊 [ruby-oauth/oauth-tty on CodeBerg][📜src-cb] | An Ethical Mirror ([Donate][🤝cb-donate]) | [💚][🤝cb-issues] | [💚][🤝cb-pulls] | ➖ | ⭕️ No Matrix | ➖ |
72
- | 🐙 [ruby-oauth/oauth-tty on GitHub][📜src-gh] | Another Mirror | [💚][🤝gh-issues] | [💚][🤝gh-pulls] | [💚][📜gh-wiki] | 💯 Full Matrix | [💚][gh-discussions] |
73
- | 🤼 [OAuth Ruby Google Group][⛳gg-discussions] | "Active" | | | | | [💚][⛳gg-discussions] |
74
- | 🎮️ [Discord Server][✉️discord-invite] | [![Live Chat on Discord][✉️discord-invite-img-ftb]][✉️discord-invite] | [Let's][✉️discord-invite] | [talk][✉️discord-invite] | [about][✉️discord-invite] | [this][✉️discord-invite] | [library!][✉️discord-invite] |
75
+ | 🧪 [ruby-oauth/oauth-tty on GitLab][📜src-gl] | The Truth | [💚][🤝gl-issues] | [💚][🤝gl-pulls] | [💚][📜gl-wiki] | 🐭 Tiny Matrix | ➖ |
76
+ | 🧊 [ruby-oauth/oauth-tty on CodeBerg][📜src-cb] | An Ethical Mirror ([Donate][🤝cb-donate]) | [💚][🤝cb-issues] | [💚][🤝cb-pulls] | ➖ | ⭕️ No Matrix | ➖ |
77
+ | 🐙 [ruby-oauth/oauth-tty on GitHub][📜src-gh] | Another Mirror | [💚][🤝gh-issues] | [💚][🤝gh-pulls] | [💚][📜gh-wiki] | 💯 Full Matrix | [💚][gh-discussions] |
78
+ | 🎮️ [Discord Server][✉️discord-invite] | [![Live Chat on Discord][✉️discord-invite-img-ftb]][✉️discord-invite] | [Let's][✉️discord-invite] | [talk][✉️discord-invite] | [about][✉️discord-invite] | [this][✉️discord-invite] | [library!][✉️discord-invite] |
75
79
 
76
80
  </details>
77
81
 
@@ -81,8 +85,8 @@ Compatible with MRI Ruby 2.3.0+, and concordant releases of JRuby, and TruffleRu
81
85
 
82
86
  Available as part of the Tidelift Subscription.
83
87
 
84
- <details>
85
- <summary>Need enterprise-level guarantees?</summary>
88
+ <details markdown="1">
89
+ <summary>Need enterprise-level guarantees?</summary>
86
90
 
87
91
  The maintainers of this 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.
88
92
 
@@ -114,40 +118,10 @@ If bundler is not being used to manage dependencies, install the gem by executin
114
118
  gem install oauth-tty
115
119
  ```
116
120
 
117
- ### 🔒 Secure Installation
118
-
119
- <details>
120
- <summary>For Medium or High Security Installations</summary>
121
-
122
- This gem is cryptographically signed, and has verifiable [SHA-256 and SHA-512][💎SHA_checksums] checksums by
123
- [stone_checksums][💎stone_checksums]. Be sure the gem you install hasn’t been tampered with
124
- by following the instructions below.
125
-
126
- Add my public key (if you haven’t already, expires 2045-04-29) as a trusted certificate:
127
-
128
- ```console
129
- gem cert --add <(curl -Ls https://raw.github.com/galtzo-floss/certs/main/pboling.pem)
130
- ```
131
-
132
- You only need to do that once. Then proceed to install with:
133
-
134
- ```console
135
- gem install oauth-tty -P HighSecurity
136
- ```
137
-
138
- The `HighSecurity` trust profile will verify signed gems, and not allow the installation of unsigned dependencies.
139
-
140
- If you want to up your security game full-time:
141
-
142
- ```console
143
- bundle config set --global trust-policy MediumSecurity
144
- ```
145
-
146
- `MediumSecurity` instead of `HighSecurity` is necessary if not all the gems you use are signed.
147
-
148
- NOTE: Be prepared to track down certs for signed gems and add them the same way you added mine.
149
-
150
- </details>
121
+ `oauth-tty` uses Ruby's `CGI` library for query parameter encoding and parsing.
122
+ Supported Ruby versions that ship `CGI` do not need an additional dependency.
123
+ Applications running on Ruby versions or distributions that do not provide
124
+ `CGI` should add the `cgi` gem directly.
151
125
 
152
126
  ## ⚙️ Configuration
153
127
 
@@ -294,8 +268,8 @@ While ruby-oauth tools are free software and will always be, the project would b
294
268
  Raising a monthly budget of... "dollars" would make the project more sustainable.
295
269
 
296
270
  We welcome both individual and corporate sponsors! We also offer a
297
- wide array of funding channels to account for your preferences
298
- (although currently [Open Collective][🖇osc] is our preferred funding platform).
271
+ wide array of funding channels to account for your preferences.
272
+ Currently, [Open Collective][🖇osc] is our preferred funding platform.
299
273
 
300
274
  **If you're working in a company that's making significant use of ruby-oauth tools we'd
301
275
  appreciate it if you suggest to your company to become a ruby-oauth sponsor.**
@@ -307,7 +281,7 @@ You can support the development of ruby-oauth tools via
307
281
  [Open Collective][🖇osc]
308
282
  and [Tidelift][🏙️entsup-tidelift].
309
283
 
310
- | 📍 NOTE |
284
+ | 📍 NOTE |
311
285
  |----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
312
286
  | If doing a sponsorship in the form of donation is problematic for your company <br/> from an accounting standpoint, we'd recommend the use of Tidelift, <br/> where you can get a support-like subscription instead. |
313
287
 
@@ -335,10 +309,7 @@ No sponsors yet. Be the first!
335
309
 
336
310
  ### Another way to support open-source
337
311
 
338
- > How wonderful it is that nobody need wait a single moment before starting to improve the world.<br/>
339
- >—Anne Frank
340
-
341
- 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).
312
+ 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).
342
313
 
343
314
  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`.
344
315
 
@@ -346,7 +317,7 @@ I’m developing a new library, [floss_funding][🖇floss-funding-gem], designed
346
317
 
347
318
  **[Floss-Funding.dev][🖇floss-funding.dev]: 👉️ No network calls. 👉️ No tracking. 👉️ No oversight. 👉️ Minimal crypto hashing. 💡 Easily disabled nags**
348
319
 
349
- [![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]
320
+ [![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]
350
321
 
351
322
  ## 🔐 Security
352
323
 
@@ -355,7 +326,7 @@ See [SECURITY.md][🔐security].
355
326
  ## 🤝 Contributing
356
327
 
357
328
  If you need some ideas of where to help, you could work on adding more code coverage,
358
- or if it is already 💯 (see [below](#code-coverage)) check [reek](REEK), [issues][🤝gh-issues], or [PRs][🤝gh-pulls],
329
+ or if it is already 💯 (see [below](#code-coverage)) check [issues][🤝gh-issues] or [PRs][🤝gh-pulls],
359
330
  or use the gem and think about how it could be better.
360
331
 
361
332
  We [![Keep A Changelog][📗keep-changelog-img]][📗keep-changelog] so if you make changes, remember to update it.
@@ -368,12 +339,17 @@ See [CONTRIBUTING.md][🤝contributing].
368
339
 
369
340
  ### Code Coverage
370
341
 
342
+ <details markdown="1">
343
+ <summary>Coverage service badges</summary>
344
+
371
345
  [![Coverage Graph][🏀codecov-g]][🏀codecov]
372
346
 
373
347
  [![Coveralls Test Coverage][🏀coveralls-img]][🏀coveralls]
374
348
 
375
349
  [![QLTY Test Coverage][🏀qlty-covi]][🏀qlty-cov]
376
350
 
351
+ </details>
352
+
377
353
  ### 🪇 Code of Conduct
378
354
 
379
355
  Everyone interacting with this project's codebases, issue trackers,
@@ -388,13 +364,13 @@ Made with [contributors-img][🖐contrib-rocks].
388
364
  Also see GitLab Contributors: [https://gitlab.com/ruby-oauth/oauth-tty/-/graphs/main][🚎contributors-gl]
389
365
 
390
366
  <details>
391
- <summary>⭐️ Star History</summary>
367
+ <summary>⭐️ Star History</summary>
392
368
 
393
- <a href="https://star-history.com/#ruby-oauth/oauth-tty&Date">
369
+ <a href="https://star-history.com/ruby-oauth/oauth-tty&Date">
394
370
  <picture>
395
- <source media="(prefers-color-scheme: dark)" srcset="https://api.star-history.com/svg?repos=ruby-oauth/oauth-tty&type=Date&theme=dark" />
396
- <source media="(prefers-color-scheme: light)" srcset="https://api.star-history.com/svg?repos=ruby-oauth/oauth-tty&type=Date" />
397
- <img alt="Star History Chart" src="https://api.star-history.com/svg?repos=ruby-oauth/oauth-tty&type=Date" />
371
+ <source media="(prefers-color-scheme: dark)" srcset="https://api.star-history.com/svg?repos=ruby-oauth/oauth-tty&type=Date&theme=dark" />
372
+ <source media="(prefers-color-scheme: light)" srcset="https://api.star-history.com/svg?repos=ruby-oauth/oauth-tty&type=Date" />
373
+ <img alt="Star History Chart" src="https://api.star-history.com/svg?repos=ruby-oauth/oauth-tty&type=Date" />
398
374
  </picture>
399
375
  </a>
400
376
 
@@ -402,19 +378,8 @@ Also see GitLab Contributors: [https://gitlab.com/ruby-oauth/oauth-tty/-/graphs/
402
378
 
403
379
  ## 📌 Versioning
404
380
 
405
- This Library adheres to [![Semantic Versioning 2.0.0][📌semver-img]][📌semver].
406
- Violations of this scheme should be reported as bugs.
407
- Specifically, if a minor or patch version is released that breaks backward compatibility,
408
- a new version should be immediately released that restores compatibility.
409
- Breaking changes to the public API will only be introduced with new major versions.
410
-
411
- > dropping support for a platform is both obviously and objectively a breaking change <br/>
412
- >—Jordan Harband ([@ljharb](https://github.com/ljharb), maintainer of SemVer) [in SemVer issue 716][📌semver-breaking]
413
-
414
- I understand that policy doesn't work universally ("exceptions to every rule!"),
415
- but it is the policy here.
416
- As such, in many cases it is good to specify a dependency on this library using
417
- the [Pessimistic Version Constraint][📌pvc] with two digits of precision.
381
+ This library follows [![Semantic Versioning 2.0.0][📌semver-img]][📌semver] for its public API where practical.
382
+ For most applications, prefer the [Pessimistic Version Constraint][📌pvc] with two digits of precision.
418
383
 
419
384
  For example:
420
385
 
@@ -422,12 +387,11 @@ For example:
422
387
  spec.add_dependency("oauth-tty", "~> 1.0")
423
388
  ```
424
389
 
425
- <details>
390
+ <details markdown="1">
426
391
  <summary>📌 Is "Platform Support" part of the public API? More details inside.</summary>
427
392
 
428
- SemVer should, IMO, but doesn't explicitly, say that dropping support for specific Platforms
429
- is a *breaking change* to an API.
430
- It is obvious to many, but not all, and since the spec is silent, the bike shedding is endless.
393
+ Dropping support for a platform can be a breaking change for affected users.
394
+ If a release changes supported platforms, it should be called out clearly in the changelog and versioned with that impact in mind.
431
395
 
432
396
  To get a better understanding of how SemVer is intended to work over a project's lifetime,
433
397
  read this article from the creator of SemVer:
@@ -441,31 +405,26 @@ See [CHANGELOG.md][📌changelog] for a list of releases.
441
405
  ## 📄 License
442
406
 
443
407
  The gem is available as open source under the terms of
444
- the [MIT License][📄license] [![License: MIT][📄license-img]][📄license-ref].
445
- See [LICENSE.txt][📄license] for the official [Copyright Notice][📄copyright-notice-explainer].
408
+ the [MIT](MIT.md) [![License: MIT][📄license-img]][📄license-ref].
446
409
 
447
410
  ### © Copyright
448
411
 
449
- <ul>
450
- <li>
451
- Copyright (c) 2021-2022, 2025 Peter H. Boling, of
452
- <a href="https://discord.gg/3qme4XHNKN">
453
- Galtzo.com
454
- <picture>
455
- <img src="https://logos.galtzo.com/assets/images/galtzo-floss/avatar-128px-blank.svg" alt="Galtzo.com Logo (Wordless) by Aboling0, CC BY-SA 4.0" width="24">
456
- </picture>
457
- </a>, and oauth-tty contributors.
458
- </li>
459
- <li>
460
- Copyright (c) 2016-2017 Thiago Pinto
461
- </li>
462
- </ul>
412
+ See [LICENSE.md][📄license] for the official copyright notice.
413
+
414
+ <details markdown="1">
415
+ <summary>Copyright holders</summary>
416
+
417
+ - Copyright (c) 2022, 2025-2026 Peter H. Boling
418
+ - Copyright (c) 2025 Aboling0
419
+ - Copyright (c) 2025 Annibelle Boling
420
+
421
+ </details>
463
422
 
464
423
  ## 🤑 A request for help
465
424
 
466
425
  Maintainers have teeth and need to pay their dentists.
467
- After getting laid off in an RIF in March and filled with many dozens of rejections,
468
- I'm now spending ~60+ hours a week building open source tools.
426
+ After getting laid off in an RIF in March, and encountering difficulty finding a new one,
427
+ I began spending most of my time building open source tools.
469
428
  I'm hoping to be able to pay for my kids' health insurance this month,
470
429
  so if you value the work I am doing, I need your support.
471
430
  Please consider sponsoring me or the project.
@@ -476,10 +435,12 @@ To join the community or get help 👇️ Join the Discord.
476
435
 
477
436
  To say "thanks!" ☝️ Join the Discord or 👇️ send money.
478
437
 
479
- [![Sponsor ruby-oauth/oauth-tty 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]
438
+ [![Sponsor ruby-oauth/oauth-tty 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]
480
439
 
481
440
  ### Please give the project a star ⭐ ♥.
482
441
 
442
+ Many parts of this project are actively managed by a [kettle-jem](https://github.com/structuredmerge/structuredmerge-ruby/tree/main/gems/kettle-jem) smart template utilizing [StructuredMerge.org](https://structuredmerge.org) merge contracts.
443
+
483
444
  Thanks for RTFM. ☺️
484
445
 
485
446
  [⛳liberapay-img]: https://img.shields.io/liberapay/goal/pboling.svg?logo=liberapay&color=a51611&style=flat
@@ -502,7 +463,7 @@ Thanks for RTFM. ☺️
502
463
  [🖇polar-img]: https://img.shields.io/badge/polar-donate-a51611.svg?style=flat
503
464
  [🖇polar]: https://polar.sh/pboling
504
465
  [🖇kofi-img]: https://img.shields.io/badge/ko--fi-%E2%9C%93-a51611.svg?style=flat
505
- [🖇kofi]: https://ko-fi.com/O5O86SNP4
466
+ [🖇kofi]: https://ko-fi.com/pboling
506
467
  [🖇patreon-img]: https://img.shields.io/badge/patreon-donate-a51611.svg?style=flat
507
468
  [🖇patreon]: https://patreon.com/galtzo
508
469
  [🖇buyme-small-img]: https://img.shields.io/badge/buy_me_a_coffee-%E2%9C%93-a51611.svg?style=flat
@@ -520,17 +481,17 @@ Thanks for RTFM. ☺️
520
481
 
521
482
  [✇bundle-group-pattern]: https://gist.github.com/pboling/4564780
522
483
  [⛳️gem-namespace]: https://github.com/ruby-oauth/oauth-tty
523
- [⛳️namespace-img]: https://img.shields.io/badge/namespace-Oauth::Tty-3C2D2D.svg?style=square&logo=ruby&logoColor=white
524
- [⛳️gem-name]: https://rubygems.org/gems/oauth-tty
484
+ [⛳️namespace-img]: https://img.shields.io/badge/namespace-OAuth::TTY-3C2D2D.svg?style=square&logo=ruby&logoColor=white
485
+ [⛳️gem-name]: https://bestgems.org/gems/oauth-tty
525
486
  [⛳️name-img]: https://img.shields.io/badge/name-oauth--tty-3C2D2D.svg?style=square&logo=rubygems&logoColor=red
526
487
  [⛳️tag-img]: https://img.shields.io/github/tag/ruby-oauth/oauth-tty.svg
527
- [⛳️tag]: http://github.com/ruby-oauth/oauth-tty/releases
488
+ [⛳️tag]: https://github.com/ruby-oauth/oauth-tty/releases
528
489
  [🚂maint-blog]: http://www.railsbling.com/tags/oauth-tty
529
490
  [🚂maint-blog-img]: https://img.shields.io/badge/blog-railsbling-0093D0.svg?style=for-the-badge&logo=rubyonrails&logoColor=orange
530
491
  [🚂maint-contact]: http://www.railsbling.com/contact
531
492
  [🚂maint-contact-img]: https://img.shields.io/badge/Contact-Maintainer-0093D0.svg?style=flat&logo=rubyonrails&logoColor=red
532
493
  [💖🖇linkedin]: http://www.linkedin.com/in/peterboling
533
- [💖🖇linkedin-img]: https://img.shields.io/badge/PeterBoling-LinkedIn-0B66C2?style=flat&logo=newjapanprowrestling
494
+ [💖🖇linkedin-img]: https://img.shields.io/badge/LinkedIn-Profile-0B66C2?style=flat&logo=newjapanprowrestling
534
495
  [💖✌️wellfound]: https://wellfound.com/u/peter-boling
535
496
  [💖✌️wellfound-img]: https://img.shields.io/badge/peter--boling-orange?style=flat&logo=wellfound
536
497
  [💖💲crunchbase]: https://www.crunchbase.com/person/peter-boling
@@ -559,7 +520,7 @@ Thanks for RTFM. ☺️
559
520
  [💁🏼‍♂️peterboling]: http://www.peterboling.com
560
521
  [🚂railsbling]: http://www.railsbling.com
561
522
  [📜src-gl-img]: https://img.shields.io/badge/GitLab-FBA326?style=for-the-badge&logo=Gitlab&logoColor=orange
562
- [📜src-gl]: https://gitlab.com/ruby-oauth/oauth-tty/
523
+ [📜src-gl]: https://gitlab.com/ruby-oauth/oauth-tty
563
524
  [📜src-cb-img]: https://img.shields.io/badge/CodeBerg-4893CC?style=for-the-badge&logo=CodeBerg&logoColor=blue
564
525
  [📜src-cb]: https://codeberg.org/ruby-oauth/oauth-tty
565
526
  [📜src-gh-img]: https://img.shields.io/badge/GitHub-238636?style=for-the-badge&logo=Github&logoColor=green
@@ -568,11 +529,11 @@ Thanks for RTFM. ☺️
568
529
  [📜docs-head-rd-img]: https://img.shields.io/badge/YARD_on_Galtzo.com-HEAD-943CD2?style=for-the-badge&logo=readthedocs&logoColor=white
569
530
  [📜gl-wiki]: https://gitlab.com/ruby-oauth/oauth-tty/-/wikis/home
570
531
  [📜gh-wiki]: https://github.com/ruby-oauth/oauth-tty/wiki
571
- [📜gl-wiki-img]: https://img.shields.io/badge/wiki-examples-943CD2.svg?style=for-the-badge&logo=gitlab&logoColor=white
572
- [📜gh-wiki-img]: https://img.shields.io/badge/wiki-examples-943CD2.svg?style=for-the-badge&logo=github&logoColor=white
573
- [👽dl-rank]: https://rubygems.org/gems/oauth-tty
532
+ [📜gl-wiki-img]: https://img.shields.io/badge/wiki-gitlab-943CD2.svg?style=for-the-badge&logo=gitlab&logoColor=white
533
+ [📜gh-wiki-img]: https://img.shields.io/badge/wiki-github-943CD2.svg?style=for-the-badge&logo=github&logoColor=white
534
+ [👽dl-rank]: https://bestgems.org/gems/oauth-tty
574
535
  [👽dl-ranki]: https://img.shields.io/gem/rd/oauth-tty.svg
575
- [👽version]: https://rubygems.org/gems/oauth-tty
536
+ [👽version]: https://bestgems.org/gems/oauth-tty
576
537
  [👽versioni]: https://img.shields.io/gem/v/oauth-tty.svg
577
538
  [🏀qlty-mnt]: https://qlty.sh/gh/ruby-oauth/projects/oauth-tty
578
539
  [🏀qlty-mnti]: https://qlty.sh/gh/ruby-oauth/projects/oauth-tty/maintainability.svg
@@ -582,24 +543,29 @@ Thanks for RTFM. ☺️
582
543
  [🏀codecovi]: https://codecov.io/gh/ruby-oauth/oauth-tty/graph/badge.svg
583
544
  [🏀coveralls]: https://coveralls.io/github/ruby-oauth/oauth-tty?branch=main
584
545
  [🏀coveralls-img]: https://coveralls.io/repos/github/ruby-oauth/oauth-tty/badge.svg?branch=main
585
- [🖐codeQL]: https://github.com/ruby-oauth/oauth-tty/security/code-scanning
586
- [🖐codeQL-img]: https://github.com/ruby-oauth/oauth-tty/actions/workflows/codeql-analysis.yml/badge.svg
587
- [🚎1-an-wf]: https://github.com/ruby-oauth/oauth-tty/actions/workflows/ancient.yml
588
- [🚎1-an-wfi]: https://github.com/ruby-oauth/oauth-tty/actions/workflows/ancient.yml/badge.svg
546
+ [🚎ruby-2.4-wf]: https://github.com/ruby-oauth/oauth-tty/actions/workflows/ruby-2.4.yml
547
+ [🚎ruby-2.5-wf]: https://github.com/ruby-oauth/oauth-tty/actions/workflows/ruby-2.5.yml
548
+ [🚎ruby-2.6-wf]: https://github.com/ruby-oauth/oauth-tty/actions/workflows/ruby-2.6.yml
549
+ [🚎ruby-2.7-wf]: https://github.com/ruby-oauth/oauth-tty/actions/workflows/ruby-2.7.yml
550
+ [🚎ruby-3.0-wf]: https://github.com/ruby-oauth/oauth-tty/actions/workflows/ruby-3.0.yml
551
+ [🚎ruby-3.1-wf]: https://github.com/ruby-oauth/oauth-tty/actions/workflows/ruby-3.1.yml
552
+ [🚎ruby-3.2-wf]: https://github.com/ruby-oauth/oauth-tty/actions/workflows/ruby-3.2.yml
553
+ [🚎ruby-3.3-wf]: https://github.com/ruby-oauth/oauth-tty/actions/workflows/ruby-3.3.yml
554
+ [🚎ruby-3.4-wf]: https://github.com/ruby-oauth/oauth-tty/actions/workflows/ruby-3.4.yml
555
+ [🚎jruby-9.2-wf]: https://github.com/ruby-oauth/oauth-tty/actions/workflows/jruby-9.2.yml
556
+ [🚎jruby-9.3-wf]: https://github.com/ruby-oauth/oauth-tty/actions/workflows/jruby-9.3.yml
557
+ [🚎jruby-9.4-wf]: https://github.com/ruby-oauth/oauth-tty/actions/workflows/jruby-9.4.yml
558
+ [🚎truby-22.3-wf]: https://github.com/ruby-oauth/oauth-tty/actions/workflows/truffleruby-22.3.yml
559
+ [🚎truby-23.0-wf]: https://github.com/ruby-oauth/oauth-tty/actions/workflows/truffleruby-23.0.yml
560
+ [🚎truby-23.1-wf]: https://github.com/ruby-oauth/oauth-tty/actions/workflows/truffleruby-23.1.yml
561
+ [🚎truby-24.2-wf]: https://github.com/ruby-oauth/oauth-tty/actions/workflows/truffleruby-24.2.yml
562
+ [🚎truby-25.0-wf]: https://github.com/ruby-oauth/oauth-tty/actions/workflows/truffleruby-25.0.yml
589
563
  [🚎2-cov-wf]: https://github.com/ruby-oauth/oauth-tty/actions/workflows/coverage.yml
590
564
  [🚎2-cov-wfi]: https://github.com/ruby-oauth/oauth-tty/actions/workflows/coverage.yml/badge.svg
591
565
  [🚎3-hd-wf]: https://github.com/ruby-oauth/oauth-tty/actions/workflows/heads.yml
592
566
  [🚎3-hd-wfi]: https://github.com/ruby-oauth/oauth-tty/actions/workflows/heads.yml/badge.svg
593
- [🚎4-lg-wf]: https://github.com/ruby-oauth/oauth-tty/actions/workflows/legacy.yml
594
- [🚎4-lg-wfi]: https://github.com/ruby-oauth/oauth-tty/actions/workflows/legacy.yml/badge.svg
595
567
  [🚎5-st-wf]: https://github.com/ruby-oauth/oauth-tty/actions/workflows/style.yml
596
568
  [🚎5-st-wfi]: https://github.com/ruby-oauth/oauth-tty/actions/workflows/style.yml/badge.svg
597
- [🚎6-s-wf]: https://github.com/ruby-oauth/oauth-tty/actions/workflows/supported.yml
598
- [🚎6-s-wfi]: https://github.com/ruby-oauth/oauth-tty/actions/workflows/supported.yml/badge.svg
599
- [🚎7-us-wf]: https://github.com/ruby-oauth/oauth-tty/actions/workflows/unsupported.yml
600
- [🚎7-us-wfi]: https://github.com/ruby-oauth/oauth-tty/actions/workflows/unsupported.yml/badge.svg
601
- [🚎8-ho-wf]: https://github.com/ruby-oauth/oauth-tty/actions/workflows/hoary.yml
602
- [🚎8-ho-wfi]: https://github.com/ruby-oauth/oauth-tty/actions/workflows/hoary.yml/badge.svg
603
569
  [🚎9-t-wf]: https://github.com/ruby-oauth/oauth-tty/actions/workflows/truffle.yml
604
570
  [🚎9-t-wfi]: https://github.com/ruby-oauth/oauth-tty/actions/workflows/truffle.yml/badge.svg
605
571
  [🚎10-j-wf]: https://github.com/ruby-oauth/oauth-tty/actions/workflows/jruby.yml
@@ -614,7 +580,7 @@ Thanks for RTFM. ☺️
614
580
  [🚎14-🔓️-wfi]: https://github.com/ruby-oauth/oauth-tty/actions/workflows/unlocked_deps.yml/badge.svg
615
581
  [🚎15-🪪-wf]: https://github.com/ruby-oauth/oauth-tty/actions/workflows/license-eye.yml
616
582
  [🚎15-🪪-wfi]: https://github.com/ruby-oauth/oauth-tty/actions/workflows/license-eye.yml/badge.svg
617
- [💎ruby-2.3i]: https://img.shields.io/badge/Ruby-2.3-DF00CA?style=for-the-badge&logo=ruby&logoColor=white
583
+ [💎ruby-2.3i]: https://img.shields.io/badge/Ruby-2.3_(%F0%9F%9A%ABCI)-AABBCC?style=for-the-badge&logo=ruby&logoColor=white
618
584
  [💎ruby-2.4i]: https://img.shields.io/badge/Ruby-2.4-DF00CA?style=for-the-badge&logo=ruby&logoColor=white
619
585
  [💎ruby-2.5i]: https://img.shields.io/badge/Ruby-2.5-DF00CA?style=for-the-badge&logo=ruby&logoColor=white
620
586
  [💎ruby-2.6i]: https://img.shields.io/badge/Ruby-2.6-DF00CA?style=for-the-badge&logo=ruby&logoColor=white
@@ -623,16 +589,18 @@ Thanks for RTFM. ☺️
623
589
  [💎ruby-3.1i]: https://img.shields.io/badge/Ruby-3.1-CC342D?style=for-the-badge&logo=ruby&logoColor=white
624
590
  [💎ruby-3.2i]: https://img.shields.io/badge/Ruby-3.2-CC342D?style=for-the-badge&logo=ruby&logoColor=white
625
591
  [💎ruby-3.3i]: https://img.shields.io/badge/Ruby-3.3-CC342D?style=for-the-badge&logo=ruby&logoColor=white
592
+ [💎ruby-3.4i]: https://img.shields.io/badge/Ruby-3.4-CC342D?style=for-the-badge&logo=ruby&logoColor=white
593
+ [💎ruby-4.0i]: https://img.shields.io/badge/Ruby-4.0-CC342D?style=for-the-badge&logo=ruby&logoColor=white
626
594
  [💎ruby-c-i]: https://img.shields.io/badge/Ruby-current-CC342D?style=for-the-badge&logo=ruby&logoColor=green
627
595
  [💎ruby-headi]: https://img.shields.io/badge/Ruby-HEAD-CC342D?style=for-the-badge&logo=ruby&logoColor=blue
628
- [💎truby-22.3i]: https://img.shields.io/badge/Truffle_Ruby-22.3_(%F0%9F%9A%ABCI)-AABBCC?style=for-the-badge&logo=ruby&logoColor=pink
629
- [💎truby-23.0i]: https://img.shields.io/badge/Truffle_Ruby-23.0_(%F0%9F%9A%ABCI)-AABBCC?style=for-the-badge&logo=ruby&logoColor=pink
596
+ [💎truby-22.3i]: https://img.shields.io/badge/Truffle_Ruby-22.3-34BCB1?style=for-the-badge&logo=ruby&logoColor=pink
597
+ [💎truby-23.0i]: https://img.shields.io/badge/Truffle_Ruby-23.0-34BCB1?style=for-the-badge&logo=ruby&logoColor=pink
630
598
  [💎truby-23.1i]: https://img.shields.io/badge/Truffle_Ruby-23.1-34BCB1?style=for-the-badge&logo=ruby&logoColor=pink
599
+ [💎truby-24.2i]: https://img.shields.io/badge/Truffle_Ruby-24.2-34BCB1?style=for-the-badge&logo=ruby&logoColor=pink
600
+ [💎truby-25.0i]: https://img.shields.io/badge/Truffle_Ruby-25.0-34BCB1?style=for-the-badge&logo=ruby&logoColor=pink
631
601
  [💎truby-c-i]: https://img.shields.io/badge/Truffle_Ruby-current-34BCB1?style=for-the-badge&logo=ruby&logoColor=green
632
- [💎truby-headi]: https://img.shields.io/badge/Truffle_Ruby-HEAD-34BCB1?style=for-the-badge&logo=ruby&logoColor=blue
633
- [💎jruby-9.1i]: https://img.shields.io/badge/JRuby-9.1_(%F0%9F%9A%ABCI)-AABBCC?style=for-the-badge&logo=ruby&logoColor=red
634
- [💎jruby-9.2i]: https://img.shields.io/badge/JRuby-9.2_(%F0%9F%9A%ABCI)-AABBCC?style=for-the-badge&logo=ruby&logoColor=red
635
- [💎jruby-9.3i]: https://img.shields.io/badge/JRuby-9.3_(%F0%9F%9A%ABCI)-AABBCC?style=for-the-badge&logo=ruby&logoColor=red
602
+ [💎jruby-9.2i]: https://img.shields.io/badge/JRuby-9.2-FBE742?style=for-the-badge&logo=ruby&logoColor=red
603
+ [💎jruby-9.3i]: https://img.shields.io/badge/JRuby-9.3-FBE742?style=for-the-badge&logo=ruby&logoColor=red
636
604
  [💎jruby-9.4i]: https://img.shields.io/badge/JRuby-9.4-FBE742?style=for-the-badge&logo=ruby&logoColor=red
637
605
  [💎jruby-c-i]: https://img.shields.io/badge/JRuby-current-FBE742?style=for-the-badge&logo=ruby&logoColor=green
638
606
  [💎jruby-headi]: https://img.shields.io/badge/JRuby-HEAD-FBE742?style=for-the-badge&logo=ruby&logoColor=blue
@@ -643,34 +611,35 @@ Thanks for RTFM. ☺️
643
611
  [🤝cb-issues]: https://codeberg.org/ruby-oauth/oauth-tty/issues
644
612
  [🤝cb-pulls]: https://codeberg.org/ruby-oauth/oauth-tty/pulls
645
613
  [🤝cb-donate]: https://donate.codeberg.org/
646
- [🤝contributing]: CONTRIBUTING.md
647
- [🏀codecov-g]: https://codecov.io/gh/ruby-oauth/oauth-tty/graphs/tree.svg
614
+ [🤝contributing]: https://github.com/ruby-oauth/oauth-tty/blob/main/CONTRIBUTING.md
615
+ [🏀codecov-g]: https://codecov.io/gh/ruby-oauth/oauth-tty/graph/badge.svg
648
616
  [🖐contrib-rocks]: https://contrib.rocks
649
617
  [🖐contributors]: https://github.com/ruby-oauth/oauth-tty/graphs/contributors
650
618
  [🖐contributors-img]: https://contrib.rocks/image?repo=ruby-oauth/oauth-tty
651
619
  [🚎contributors-gl]: https://gitlab.com/ruby-oauth/oauth-tty/-/graphs/main
652
- [🪇conduct]: CODE_OF_CONDUCT.md
620
+ [🪇conduct]: https://github.com/ruby-oauth/oauth-tty/blob/main/CODE_OF_CONDUCT.md
653
621
  [🪇conduct-img]: https://img.shields.io/badge/Contributor_Covenant-2.1-259D6C.svg
654
622
  [📌pvc]: http://guides.rubygems.org/patterns/#pessimistic-version-constraint
655
623
  [📌semver]: https://semver.org/spec/v2.0.0.html
656
624
  [📌semver-img]: https://img.shields.io/badge/semver-2.0.0-259D6C.svg?style=flat
657
625
  [📌semver-breaking]: https://github.com/semver/semver/issues/716#issuecomment-869336139
658
626
  [📌major-versions-not-sacred]: https://tom.preston-werner.com/2022/05/23/major-version-numbers-are-not-sacred.html
659
- [📌changelog]: CHANGELOG.md
627
+ [📌changelog]: https://github.com/ruby-oauth/oauth-tty/blob/main/CHANGELOG.md
660
628
  [📗keep-changelog]: https://keepachangelog.com/en/1.0.0/
661
629
  [📗keep-changelog-img]: https://img.shields.io/badge/keep--a--changelog-1.0.0-34495e.svg?style=flat
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
630
+ [📌gitmoji]: https://gitmoji.dev
631
+ [📌gitmoji-img]: https://img.shields.io/badge/gitmoji_commits-%20%F0%9F%98%9C%20%F0%9F%98%8D-34495e.svg?style=flat-square
664
632
  [🧮kloc]: https://www.youtube.com/watch?v=dQw4w9WgXcQ
665
633
  [🧮kloc-img]: https://img.shields.io/badge/KLOC-0.315-FFDD67.svg?style=for-the-badge&logo=YouTube&logoColor=blue
666
- [🔐security]: SECURITY.md
634
+ [🔐security]: https://github.com/ruby-oauth/oauth-tty/blob/main/SECURITY.md
667
635
  [🔐security-img]: https://img.shields.io/badge/security-policy-259D6C.svg?style=flat
668
636
  [📄copyright-notice-explainer]: https://opensource.stackexchange.com/questions/5778/why-do-licenses-such-as-the-mit-license-specify-a-single-year
669
- [📄license]: LICENSE.txt
670
- [📄license-ref]: https://opensource.org/licenses/MIT
637
+ [📄license]: LICENSE.md
638
+ [📄license-ref]: MIT.md
671
639
  [📄license-img]: https://img.shields.io/badge/License-MIT-259D6C.svg
672
- [📄license-compat]: https://dev.to/galtzo/how-to-check-license-compatibility-41h0
640
+ [📄license-compat]: https://www.apache.org/legal/resolved.html#category-a
673
641
  [📄license-compat-img]: https://img.shields.io/badge/Apache_Compatible:_Category_A-%E2%9C%93-259D6C.svg?style=flat&logo=Apache
642
+
674
643
  [📄ilo-declaration]: https://www.ilo.org/declaration/lang--en/index.htm
675
644
  [📄ilo-declaration-img]: https://img.shields.io/badge/ILO_Fundamental_Principles-✓-259D6C.svg?style=flat
676
645
  [🚎yard-current]: http://rubydoc.info/gems/oauth-tty
@@ -682,3 +651,14 @@ Thanks for RTFM. ☺️
682
651
  [💎appraisal2]: https://github.com/appraisal-rb/appraisal2
683
652
  [💎appraisal2-img]: https://img.shields.io/badge/appraised_by-appraisal2-34495e.svg?plastic&logo=ruby&logoColor=white
684
653
  [💎d-in-dvcs]: https://railsbling.com/posts/dvcs/put_the_d_in_dvcs/
654
+
655
+ <!-- kettle-jem:metadata:start -->
656
+ | Field | Value |
657
+ |---|---|
658
+ | Package | oauth-tty |
659
+ | Description | 🖥️ OAuth 1.0 / 1.0a TTY Command Line Interface |
660
+ | Homepage | https://github.com/ruby-oauth/oauth-tty |
661
+ | Source | https://github.com/ruby-oauth/oauth-tty/tree/v1.0.9 |
662
+ | License | `MIT` |
663
+ | Funding | https://github.com/sponsors/pboling, https://issuehunt.io/u/pboling, https://ko-fi.com/pboling, https://liberapay.com/pboling/donate, https://opencollective.com/ruby-oauth, https://patreon.com/galtzo, https://polar.sh/pboling, https://thanks.dev/u/gh/pboling, https://tidelift.com/funding/github/rubygems/oauth-tty, https://www.buymeacoffee.com/pboling |
664
+ <!-- kettle-jem:metadata:end -->
data/RUBOCOP.md CHANGED
File without changes
data/SECURITY.md CHANGED
@@ -4,7 +4,7 @@
4
4
 
5
5
  | Version | Supported |
6
6
  |----------|-----------|
7
- | 1.latest | ✅ |
7
+ | 1.0.latest | ✅ |
8
8
 
9
9
  ## Security contact information
10
10
 
@@ -12,8 +12,6 @@ To report a security vulnerability, please use the
12
12
  [Tidelift security contact](https://tidelift.com/security).
13
13
  Tidelift will coordinate the fix and disclosure.
14
14
 
15
- More detailed explanation of the process is in [IRP.md][IRP].
16
-
17
15
  ## Additional Support
18
16
 
19
17
  If you are interested in support for versions older than the latest release,
@@ -21,4 +19,3 @@ please consider sponsoring the project / maintainer @ https://liberapay.com/pbol
21
19
  or find other sponsorship links in the [README].
22
20
 
23
21
  [README]: README.md
24
- [IRP]: IRP.md