diff --git a/.github/workflows/current.yml b/.github/workflows/current.yml index 72e44fe1..f8a9e644 100644 --- a/.github/workflows/current.yml +++ b/.github/workflows/current.yml @@ -45,9 +45,7 @@ jobs: rubygems: latest bundler: latest - # truffleruby-24.1 - # (according to documentation: targets Ruby 3.3 compatibility) - # (according to runtime: targets Ruby 3.2 compatibility) + # truffleruby-24.1 (targets Ruby 3.3 compatibility) - ruby: "truffleruby" appraisal: "current" exec_cmd: "rake test" diff --git a/.idea/oauth2.iml b/.idea/oauth2.iml index f48115c5..4b47739c 100755 --- a/.idea/oauth2.iml +++ b/.idea/oauth2.iml @@ -27,7 +27,6 @@ - @@ -46,13 +45,12 @@ - - + @@ -91,7 +89,7 @@ - + diff --git a/.junie/guidelines.md b/.junie/guidelines.md index c62d3bd4..152e080b 100644 --- a/.junie/guidelines.md +++ b/.junie/guidelines.md @@ -12,7 +12,8 @@ This document captures project-specific knowledge to streamline setup, testing, - See .env.local.example for an example of what to put in .env.local. - See CONTRIBUTING.md for details on how to set up your local environment. - Ruby and Bundler - - Runtime supports very old Rubies (>= 2.2), but development tooling targets >= 2.3 because of CI/setup-ruby and dev dependencies. + - Runtime supports Ruby >= 2.2.0 + - Development tooling targets Ruby >= 2.3 (minimum supported by setup-ruby GHA). - Use a recent Ruby (>= 3.4 recommended) for fastest setup and to exercise modern coverage behavior. - Install dependencies via Bundler in project root: - bundle install @@ -53,7 +54,7 @@ This document captures project-specific knowledge to streamline setup, testing, - RSpec.describe usage: - Use `describe "#"` to contain a block of specs that test instance method behavior. - Use `describe "::"` to contain a block of specs that test class method behavior. - - Do not use `describe "."` because the dot is ambiguous w.r.t instance vs. class methods. + - Do not use `describe "."` because the dot is ambiguous w.r.t instance vs. class methods. - When adding new code or modifying existing code always add tests to cover the updated behavior, including branches, and different types of expected and unexpected inputs. - Additional test utilities: - rspec-stubbed_env: Use stub_env to control ENV safely within examples. @@ -89,14 +90,11 @@ This document captures project-specific knowledge to streamline setup, testing, - Place new specs under spec/ mirroring lib/ structure where possible. Do not require "spec_helper" at the top of spec files, as it is automatically loaded by .rspec. - If your code relies on environment variables that drive activation (see "Activation env vars" below), prefer using rspec-stubbed_env: - it does not support stubbing with blocks, but it does automatically clean up after itself. - - outside the example: - ```ruby + - the below config is included in all spec scenarios by the kettle-test gem, so no need to do it again; it is here for reference: include_context 'with stubbed env' - ``` - in a before hook, or in an example: - ```ruby stub_env("FLOSS_FUNDING_MY_NS" => "Free-as-in-beer") - ``` + # example code continues - If your spec needs to assert on console output, tag it with :check_output. By default, STDOUT is silenced. - Use Timecop for deterministic time-sensitive behavior as needed (require config/timecop is already done by spec_helper). @@ -136,6 +134,7 @@ Notes - Coverage reports: NEVER review the HTML report. Use JSON (preferred), XML, LCOV, or RCOV. For this project, always run tests with K_SOUP_COV_FORMATTERS set to "json". - Do NOT modify .envrc in tasks; when running tests locally or in scripts, manually prefix each run, e.g.: K_SOUP_COV_FORMATTERS="json" bin/rspec - For all the kettle-soup-cover options, see .envrc and find the K_SOUP_COV_* env vars. +- NEVER modify ENV variables in tests directly. Always use the stub_env macro from the rspec-stubbed_env gem (more details in the testing section above). Important documentation rules - Do NOT edit files under docs/ manually; they are generated by `bundle exec rake yard` as part of the default rake task. diff --git a/Appraisals b/Appraisals index d8be6662..90e5effc 100644 --- a/Appraisals +++ b/Appraisals @@ -144,7 +144,7 @@ appraise "ruby-2-7" do eval_gemfile "modular/logger_v1_7.gemfile" eval_gemfile "modular/multi_xml_v0_6.gemfile" eval_gemfile "modular/rack_v3.gemfile" - eval_gemfile "modular/x_std_libs/r3.1/libs.gemfile" + eval_gemfile "modular/x_std_libs/r2/libs.gemfile" end appraise "ruby-3-0" do diff --git a/Gemfile.lock b/Gemfile.lock index 16ed3d78..3b6ed2bd 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -103,7 +103,7 @@ GEM json (2.13.2) jwt (3.1.2) base64 - kettle-dev (1.1.20) + kettle-dev (1.1.24) kettle-soup-cover (1.0.10) simplecov (~> 0.22) simplecov-cobertura (~> 3.0) @@ -190,7 +190,7 @@ GEM ruby_version (~> 1.0) version_gem (~> 1.1, >= 1.1.8) rspec-stubbed_env (1.0.4) - rspec-support (3.13.5) + rspec-support (3.13.6) rspec_junit_formatter (0.6.0) rspec-core (>= 2, < 4, != 2.12.0) rubocop (1.80.2) @@ -336,7 +336,7 @@ DEPENDENCIES gem_bench (~> 2.0, >= 2.0.5) gitmoji-regex (~> 1.0, >= 1.0.3) irb (~> 1.15, >= 1.15.2) - kettle-dev (~> 1.1, >= 1.1.20) + kettle-dev (~> 1.1) kettle-soup-cover (~> 1.0, >= 1.0.10) kettle-test (~> 1.0) kramdown (~> 2.5, >= 2.5.1) diff --git a/README.md b/README.md index a555249f..3166666f 100644 --- a/README.md +++ b/README.md @@ -11,7 +11,7 @@ ⭐️ including OAuth 2.1 draft spec & OpenID Connect (OIDC) -[![Version][👽versioni]][👽version] [![GitHub tag (latest SemVer)][⛳️tag-img]][⛳️tag] [![License: MIT][📄license-img]][📄license-ref] [![Downloads Rank][👽dl-ranki]][👽dl-rank] [![Open Source Helpers][👽oss-helpi]][👽oss-help] [![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] +[![Version][👽versioni]][👽version] [![GitHub tag (latest SemVer)][⛳️tag-img]][⛳️tag] [![License: MIT][📄license-img]][📄license-ref] [![Downloads Rank][👽dl-ranki]][👽dl-rank] [![Open Source Helpers][👽oss-helpi]][👽oss-help] [![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] `if ci_badges.map(&:color).detect { it != "green"}` ☝️ [let me know][🖼️galtzo-discord], as I may have missed the [discord notification][🖼️galtzo-discord]. @@ -129,19 +129,19 @@ If it seems like you are in the wrong place, you might try one of these: ## 💡 Info you can shake a stick at -| Tokens to Remember | [![Gem name][⛳️name-img]][⛳️gem-name] [![Gem namespace][⛳️namespace-img]][⛳️gem-namespace] | -|-------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| Works with JRuby | ![JRuby 9.1 Compat][💎jruby-9.1i] ![JRuby 9.2 Compat][💎jruby-9.2i] ![JRuby 9.3 Compat][💎jruby-9.3i]
[![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] | -| Works with Truffle Ruby | ![Truffle Ruby 22.3 Compat][💎truby-22.3i] ![Truffle Ruby 23.0 Compat][💎truby-23.0i]
[![Truffle Ruby 23.1 Compat][💎truby-23.1i]][🚎9-t-wf] [![Truffle Ruby 24.1 Compat][💎truby-c-i]][🚎11-c-wf] | -| 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] | -| Works with MRI Ruby 2 | ![Ruby 2.2 Compat][💎ruby-2.2i]
[![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] | -| Support & Community | [![Join Me on Daily.dev's RubyFriends][✉️ruby-friends-img]][✉️ruby-friends] [![Live Chat on Discord][✉️discord-invite-img-ftb]][✉️discord-invite] [![Discussion][⛳gg-discussions-img]][⛳gg-discussions] [![Get help from me on Upwork][👨🏼‍🏫expsup-upwork-img]][👨🏼‍🏫expsup-upwork] [![Get help from me on Codementor][👨🏼‍🏫expsup-codementor-img]][👨🏼‍🏫expsup-codementor] | -| 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] | -| 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] [![Wiki][📜wiki-img]][📜wiki] | -| 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] | -| 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] | -| 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] | -| `...` 💖 | [![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] | +| Tokens to Remember | [![Gem name][⛳️name-img]][⛳️gem-name] [![Gem namespace][⛳️namespace-img]][⛳️gem-namespace] | +|-------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| Works with JRuby | ![JRuby 9.1 Compat][💎jruby-9.1i] ![JRuby 9.2 Compat][💎jruby-9.2i] ![JRuby 9.3 Compat][💎jruby-9.3i]
[![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] | +| Works with Truffle Ruby | ![Truffle Ruby 22.3 Compat][💎truby-22.3i] ![Truffle Ruby 23.0 Compat][💎truby-23.0i]
[![Truffle Ruby 23.1 Compat][💎truby-23.1i]][🚎9-t-wf] [![Truffle Ruby 24.1 Compat][💎truby-c-i]][🚎11-c-wf] | +| 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] | +| Works with MRI Ruby 2 | ![Ruby 2.2 Compat][💎ruby-2.2i]
[![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] | +| 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] | +| 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] | +| 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] | +| 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] | +| 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] | +| 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] | +| `...` 💖 | [![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] | ### Compatibility @@ -221,13 +221,13 @@ If you use a gem version of a core Ruby library, it should work fine! ### Federated DVCS
- Find this repo on other forges + Find this repo on federated forges | Federated [DVCS][💎d-in-dvcs] Repository | Status | Issues | PRs | Wiki | CI | Discussions | |-----------------------------------------------|-----------------------------------------------------------------------|---------------------------|--------------------------|---------------------------|--------------------------|------------------------------| -| 🧪 [ruby-oauth/oauth2 on GitLab][📜src-gl] | The Truth | [💚][🤝gl-issues] | [💚][🤝gl-pulls] | [💚][📜wiki] | 🏀 Tiny Matrix | ➖ | +| 🧪 [ruby-oauth/oauth2 on GitLab][📜src-gl] | The Truth | [💚][🤝gl-issues] | [💚][🤝gl-pulls] | [💚][📜gl-wiki] | 🐭 Tiny Matrix | ➖ | | 🧊 [ruby-oauth/oauth2 on CodeBerg][📜src-cb] | An Ethical Mirror ([Donate][🤝cb-donate]) | [💚][🤝cb-issues] | [💚][🤝cb-pulls] | ➖ | ⭕️ No Matrix | ➖ | -| 🐙 [ruby-oauth/oauth2 on GitHub][📜src-gh] | Another Mirror | [💚][🤝gh-issues] | [💚][🤝gh-pulls] | ➖ | 💯 Full Matrix | [💚][gh-discussions] | +| 🐙 [ruby-oauth/oauth2 on GitHub][📜src-gh] | Another Mirror | [💚][🤝gh-issues] | [💚][🤝gh-pulls] | [💚][📜gh-wiki] | 💯 Full Matrix | [💚][gh-discussions] | | 🤼 [OAuth Ruby Google Group][⛳gg-discussions] | "Active" | ➖ | ➖ | ➖ | ➖ | [💚][⛳gg-discussions] | | 🎮️ [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] | @@ -1332,11 +1332,11 @@ See [CONTRIBUTING.md][🤝contributing]. ### Code Coverage -[![Coverage Graph][🔑codecov-g]][🔑codecov] +[![Coverage Graph][🏀codecov-g]][🏀codecov] -[![Coveralls Test Coverage][🔑coveralls-img]][🔑coveralls] +[![Coveralls Test Coverage][🏀coveralls-img]][🏀coveralls] -[![QLTY Test Coverage][🔑qlty-covi]][🔑qlty-cov] +[![QLTY Test Coverage][🏀qlty-covi]][🏀qlty-cov] ### 🪇 Code of Conduct @@ -1533,22 +1533,24 @@ Thanks for RTFM. ☺️ [📜src-gh]: https://github.com/ruby-oauth/oauth2 [📜docs-cr-rd-img]: https://img.shields.io/badge/RubyDoc-Current_Release-943CD2?style=for-the-badge&logo=readthedocs&logoColor=white [📜docs-head-rd-img]: https://img.shields.io/badge/YARD_on_Galtzo.com-HEAD-943CD2?style=for-the-badge&logo=readthedocs&logoColor=white -[📜wiki]: https://gitlab.com/ruby-oauth/oauth2/-/wikis/home -[📜wiki-img]: https://img.shields.io/badge/wiki-examples-943CD2.svg?style=for-the-badge&logo=Wiki&logoColor=white +[📜gl-wiki]: https://gitlab.com/ruby-oauth/oauth2/-/wikis/home +[📜gh-wiki]: https://github.com/ruby-oauth/oauth2/wiki +[📜gl-wiki-img]: https://img.shields.io/badge/wiki-examples-943CD2.svg?style=for-the-badge&logo=gitlab&logoColor=white +[📜gh-wiki-img]: https://img.shields.io/badge/wiki-examples-943CD2.svg?style=for-the-badge&logo=github&logoColor=white [👽dl-rank]: https://rubygems.org/gems/oauth2 [👽dl-ranki]: https://img.shields.io/gem/rd/oauth2.svg [👽oss-help]: https://www.codetriage.com/ruby-oauth/oauth2 [👽oss-helpi]: https://www.codetriage.com/ruby-oauth/oauth2/badges/users.svg [👽version]: https://rubygems.org/gems/oauth2 [👽versioni]: https://img.shields.io/gem/v/oauth2.svg -[🔑qlty-mnt]: https://qlty.sh/gh/ruby-oauth/projects/oauth2 -[🔑qlty-mnti]: https://qlty.sh/gh/ruby-oauth/projects/oauth2/maintainability.svg -[🔑qlty-cov]: https://qlty.sh/gh/ruby-oauth/projects/oauth2/metrics/code?sort=coverageRating -[🔑qlty-covi]: https://qlty.sh/gh/ruby-oauth/projects/oauth2/coverage.svg -[🔑codecov]: https://codecov.io/gh/ruby-oauth/oauth2 -[🔑codecovi]: https://codecov.io/gh/ruby-oauth/oauth2/graph/badge.svg -[🔑coveralls]: https://coveralls.io/github/ruby-oauth/oauth2?branch=main -[🔑coveralls-img]: https://coveralls.io/repos/github/ruby-oauth/oauth2/badge.svg?branch=main +[🏀qlty-mnt]: https://qlty.sh/gh/ruby-oauth/projects/oauth2 +[🏀qlty-mnti]: https://qlty.sh/gh/ruby-oauth/projects/oauth2/maintainability.svg +[🏀qlty-cov]: https://qlty.sh/gh/ruby-oauth/projects/oauth2/metrics/code?sort=coverageRating +[🏀qlty-covi]: https://qlty.sh/gh/ruby-oauth/projects/oauth2/coverage.svg +[🏀codecov]: https://codecov.io/gh/ruby-oauth/oauth2 +[🏀codecovi]: https://codecov.io/gh/ruby-oauth/oauth2/graph/badge.svg +[🏀coveralls]: https://coveralls.io/github/ruby-oauth/oauth2?branch=main +[🏀coveralls-img]: https://coveralls.io/repos/github/ruby-oauth/oauth2/badge.svg?branch=main [🖐codeQL]: https://github.com/ruby-oauth/oauth2/security/code-scanning [🖐codeQL-img]: https://github.com/ruby-oauth/oauth2/actions/workflows/codeql-analysis.yml/badge.svg [🚎1-an-wf]: https://github.com/ruby-oauth/oauth2/actions/workflows/ancient.yml @@ -1614,7 +1616,7 @@ Thanks for RTFM. ☺️ [🤝cb-pulls]: https://codeberg.org/ruby-oauth/oauth2/pulls [🤝cb-donate]: https://donate.codeberg.org/ [🤝contributing]: CONTRIBUTING.md -[🔑codecov-g]: https://codecov.io/gh/ruby-oauth/oauth2/graphs/tree.svg +[🏀codecov-g]: https://codecov.io/gh/ruby-oauth/oauth2/graphs/tree.svg [🖐contrib-rocks]: https://contrib.rocks [🖐contributors]: https://github.com/ruby-oauth/oauth2/graphs/contributors [🖐contributors-img]: https://contrib.rocks/image?repo=ruby-oauth/oauth2 @@ -1662,12 +1664,3 @@ Thanks for RTFM. ☺️
- - -
- Broken badges - -[![Coverage Graph][🔑codecov-g]][🔑codecov] -[![CodeCov Test Coverage][🔑codecovi]][🔑codecov] - -
diff --git a/Rakefile b/Rakefile index 2ed315ed..9f4f39b6 100644 --- a/Rakefile +++ b/Rakefile @@ -1,6 +1,6 @@ # frozen_string_literal: true -# kettle-dev Rakefile v1.1.20 - 2025-09-15 +# kettle-dev Rakefile v1.1.24 - 2025-09-17 # Ruby 2.3 (Safe Navigation) or higher required # # MIT License (see License.txt) diff --git a/oauth2.gemspec b/oauth2.gemspec index c2af062f..bc9705b0 100644 --- a/oauth2.gemspec +++ b/oauth2.gemspec @@ -122,7 +122,7 @@ Thanks, @pboling / @galtzo ] spec.require_paths = ["lib"] spec.bindir = "exe" - # files listed are relative paths from bindir above. + # Listed files are the relative paths from bindir above. spec.executables = [] # Utilities @@ -138,9 +138,8 @@ Thanks, @pboling / @galtzo # visibility and discoverability on RubyGems.org. # However, development dependencies in gemspec will install on # all versions of Ruby that will run in CI. - # This gem, and its gemspec runtime dependencies, will install on Ruby down to 2.2.x. - # This gem, and its gemspec development dependencies, will install on Ruby down to 2.3.x. - # This is because in CI easy installation of Ruby, via setup-ruby, is for >= 2.3. + # This gem, and its gemspec runtime dependencies, will install on Ruby down to 2.2.0. + # This gem, and its gemspec development dependencies, will install on Ruby down to 2.3. # Thus, dev dependencies in gemspec must have # # required_ruby_version ">= 2.3" (or lower) @@ -153,7 +152,7 @@ Thanks, @pboling / @galtzo spec.add_development_dependency("rexml", "~> 3.2", ">= 3.2.5") # ruby >= 0 # Dev, Test, & Release Tasks - spec.add_development_dependency("kettle-dev", "~> 1.1", ">= 1.1.20") # ruby >= 2.3.0 + spec.add_development_dependency("kettle-dev", "~> 1.1") # ruby >= 2.3.0 # Security spec.add_development_dependency("bundler-audit", "~> 0.9.2") # ruby >= 2.0.0