diff --git a/.github/workflows/current.yml b/.github/workflows/current.yml
index 72e44fe..f8a9e64 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/.github/workflows/license-eye.yml b/.github/workflows/license-eye.yml
new file mode 100644
index 0000000..d5e667d
--- /dev/null
+++ b/.github/workflows/license-eye.yml
@@ -0,0 +1,40 @@
+name: Apache SkyWalking Eyes
+
+permissions:
+ contents: read
+
+on:
+ push:
+ branches:
+ - 'main'
+ - '*-stable'
+ tags:
+ - '!*' # Do not execute on tags
+ pull_request:
+ branches:
+ - '*'
+ # Allow manually triggering the workflow.
+ workflow_dispatch:
+
+# Cancels all previous workflow runs for the same branch that have not yet completed.
+concurrency:
+ # The concurrency group contains the workflow name and the branch name.
+ group: "${{ github.workflow }}-${{ github.ref }}"
+ cancel-in-progress: true
+
+jobs:
+ license-check:
+ if: "!contains(github.event.commits[0].message, '[ci skip]') && !contains(github.event.commits[0].message, '[skip ci]')"
+ runs-on: ubuntu-latest
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v5
+
+ - name: Check Dependencies' License
+ uses: apache/skywalking-eyes/dependency@main
+ with:
+ config: .licenserc.yaml
+ # Ruby packages declared as dependencies in gemspecs or Gemfiles are
+ # typically consumed as binaries; enable weak-compatibility
+ # so permissive and weak-copyleft combinations are treated as compatible.
+ flags: --weak-compatible
diff --git a/.idea/.gitignore b/.idea/.gitignore
index 13566b8..9df2ac9 100644
--- a/.idea/.gitignore
+++ b/.idea/.gitignore
@@ -6,3 +6,10 @@
# Datasource local storage ignored files
/dataSources/
/dataSources.local.xml
+
+# Zencoder local files
+/zencoder/chats
+/zencoder-chat-index.xml
+/zencoder-chats-dedicated.xml
+# Local project config
+*.iml
diff --git a/.idea/oauth-tty.iml b/.idea/oauth-tty.iml
deleted file mode 100644
index 2ac92f7..0000000
--- a/.idea/oauth-tty.iml
+++ /dev/null
@@ -1,189 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.junie/guidelines.md b/.junie/guidelines.md
index ac18231..fc333d4 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 (>= 1.9.2) but development tooling targets >= 2.3 because of CI/setup-ruby and dev dependencies.
+ - Runtime supports Ruby >= 2.3.0
+ - Development tooling targets Ruby >= 2.3.0 (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,11 +90,13 @@ 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:
+ - 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:
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).
@@ -133,6 +136,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/.licenserc.yaml b/.licenserc.yaml
new file mode 100644
index 0000000..0eb9981
--- /dev/null
+++ b/.licenserc.yaml
@@ -0,0 +1,7 @@
+header:
+ license:
+ spdx-id: MIT
+
+dependency:
+ files:
+ - Gemfile.lock
diff --git a/.rubocop_gradual.lock b/.rubocop_gradual.lock
index 6261247..cc33db0 100644
--- a/.rubocop_gradual.lock
+++ b/.rubocop_gradual.lock
@@ -5,10 +5,10 @@
"lib/oauth/tty/command.rb:3092098200": [
[126, 23, 4, "Security/Open: The use of `Kernel#open` is a serious security risk.", 2087926481]
],
- "oauth-tty.gemspec:3967633356": [
- [130, 3, 40, "Gemspec/DependencyVersion: Dependency version specification is required.", 2300588954],
- [132, 3, 44, "Gemspec/DependencyVersion: Dependency version specification is required.", 1905290578],
- [133, 3, 46, "Gemspec/DependencyVersion: Dependency version specification is required.", 4289565910]
+ "oauth-tty.gemspec:3319279878": [
+ [129, 3, 40, "Gemspec/DependencyVersion: Dependency version specification is required.", 2300588954],
+ [131, 3, 44, "Gemspec/DependencyVersion: Dependency version specification is required.", 1905290578],
+ [132, 3, 46, "Gemspec/DependencyVersion: Dependency version specification is required.", 4289565910]
],
"spec/oauth/backwards_compatibility_spec.rb:4041711732": [
[3, 16, 25, "RSpec/DescribeClass: The first argument to describe should be the class or module being tested.", 3956042931]
diff --git a/Appraisals b/Appraisals
index d1373c0..411ade4 100644
--- a/Appraisals
+++ b/Appraisals
@@ -31,7 +31,9 @@ end
# Used for head (nightly) releases of ruby, truffleruby, and jruby.
# Split into discrete appraisals if one of them needs a dependency locked discretely.
appraise "head" do
- gem "oauth", ">= 1.1.0"
+ # Why is gem "cgi" here? See: https://github.com/vcr/vcr/issues/1057
+ # gem "cgi", ">= 0.5"
+ gem "oauth", github: "ruby-oauth/oauth", branch: "main"
gem "benchmark", "~> 0.4", ">= 0.4.1"
eval_gemfile "modular/x_std_libs.gemfile"
end
@@ -39,7 +41,7 @@ end
# Used for current releases of ruby, truffleruby, and jruby.
# Split into discrete appraisals if one of them needs a dependency locked discretely.
appraise "current" do
- gem "oauth", ">= 1.1.0"
+ gem "oauth", github: "ruby-oauth/oauth", branch: "main"
eval_gemfile "modular/x_std_libs.gemfile"
end
@@ -84,29 +86,29 @@ appraise "ruby-3-0" do
end
appraise "ruby-3-1" do
- gem "oauth", ">= 1.1.0"
+ gem "oauth", github: "ruby-oauth/oauth", branch: "main"
eval_gemfile "modular/x_std_libs/r3.1/libs.gemfile"
end
appraise "ruby-3-2" do
- gem "oauth", ">= 1.1.0"
+ gem "oauth", github: "ruby-oauth/oauth", branch: "main"
eval_gemfile "modular/x_std_libs/r3/libs.gemfile"
end
appraise "ruby-3-3" do
- gem "oauth", ">= 1.1.0"
+ gem "oauth", github: "ruby-oauth/oauth", branch: "main"
eval_gemfile "modular/x_std_libs/r3/libs.gemfile"
end
# Only run security audit on the latest version of Ruby
appraise "audit" do
- gem "oauth", ">= 1.1.0"
+ gem "oauth", github: "ruby-oauth/oauth", branch: "main"
eval_gemfile "modular/x_std_libs.gemfile"
end
# Only run coverage on the latest version of Ruby
appraise "coverage" do
- gem "oauth", ">= 1.1.0"
+ gem "oauth", github: "ruby-oauth/oauth", branch: "main"
eval_gemfile "modular/coverage.gemfile"
eval_gemfile "modular/optional.gemfile"
eval_gemfile "modular/x_std_libs.gemfile"
@@ -114,7 +116,7 @@ end
# Only run linter on the latest version of Ruby (but, in support of oldest supported Ruby version)
appraise "style" do
- gem "oauth", ">= 1.1.0"
+ gem "oauth", github: "ruby-oauth/oauth", branch: "main"
eval_gemfile "modular/style.gemfile"
eval_gemfile "modular/x_std_libs.gemfile"
end
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 21f713f..fac49b6 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -17,7 +17,9 @@ Please file a bug if you notice a violation of semantic versioning.
[📗keep-changelog-img]: https://img.shields.io/badge/keep--a--changelog-1.0.0-FFDD67.svg?style=flat
## [Unreleased]
+
### Added
+
- (dev) kettle-dev v1.1.16 (@pboling)
- (docs) more documentation (@Aboling0, @pboling)
- (docs) Deployed documentation site for HEAD (@Aboling0)
@@ -25,53 +27,80 @@ Please file a bug if you notice a violation of semantic versioning.
- (test) many new tests (@pboling)
- (docs) CITATION.cff
- support window increased, down to Ruby 2.3 (@pboling)
+
### Changed
+
- (docs) upgrade Code of Conduct to Contributor Covenant 2.1 (@pboling)
- (test) migrated test suite to RSpec (@pboling)
- (test) ignore Ruby warnings coming from other libs (@pboling)
+
### Deprecated
+
### Removed
+
- (test) minitest (@pboling)
+
### Fixed
+
### Security
## [1.0.5] - 2022-09-20
+
- TAG: [v1.0.5][1.0.5t]
+
### Added
+
- SHA 256 Checksum for release (in addition to SHA 512) (@pboling)
- Aligned checksums directory name with `rake build:checksum` task (@pboling)
- General Cleanup
## [1.0.4] - 2022-09-19
+
- TAG: [1.0.4][1.0.4t]
+
### Added
+
- Certificate for signing gem releases (@pboling)
- Gemspec metadata (@pboling)
- funding_uri
- mailing_list_uri
- Installation and usage documentation (@pboling)
- SHA 512 Checksum for release (@pboling)
+
### Changed
+
- Gem releases are now cryptographically signed (@pboling)
## [1.0.3] - 2022-09-06
+
- TAG: [1.0.3][1.0.3t]
+
### Fixed
+
- Author name - Thaigo Pinto (@pboling)
## [1.0.2] - 2022-08-26
+
- TAG: [1.0.2][1.0.2t]
+
### Fixed
+
- URLs in Gemspec (@pboling)
## [1.0.1] - 2022-08-26
+
- TAG: [1.0.1][1.0.1t]
+
### Fixed
+
- Circular reference while loading (@pboling)
## [1.0.0] - 2022-08-26
+
- TAG: [1.0.0][1.0.0t]
+
### Added
+
- Initial release (@pboling)
[Unreleased]: https://gitlab.com/ruby-oauth/oauth-tty/-/compare/v1.0.5...main
diff --git a/Gemfile.lock b/Gemfile.lock
index 33db2d4..a1ed51a 100644
--- a/Gemfile.lock
+++ b/Gemfile.lock
@@ -12,19 +12,19 @@ GIT
GIT
remote: https://github.com/ruby-oauth/oauth
- revision: 66b90d72d8157b58e16961748cfdf1c7aef31d22
+ revision: 2ae700b99c264baf2b179dfb79749cefc36915db
branch: main
specs:
oauth (1.1.1)
oauth-tty (~> 1.0, >= 1.0.1)
snaky_hash (~> 2.0)
- version_gem (~> 1.1)
+ version_gem (~> 1.1, >= 1.1.9)
PATH
remote: .
specs:
oauth-tty (1.0.5)
- version_gem (~> 1.1, >= 1.1.8)
+ version_gem (~> 1.1, >= 1.1.9)
GEM
remote: https://rubygems.org/
@@ -124,8 +124,8 @@ GEM
pp (>= 0.6.0)
rdoc (>= 4.0.0)
reline (>= 0.4.2)
- json (2.13.2)
- kettle-dev (1.1.16)
+ json (2.14.1)
+ kettle-dev (1.1.26)
kettle-soup-cover (1.0.10)
simplecov (~> 0.22)
simplecov-cobertura (~> 3.0)
@@ -154,26 +154,26 @@ GEM
mime-types (3.7.0)
logger
mime-types-data (~> 3.2025, >= 3.2025.0507)
- mime-types-data (3.2025.0909)
+ mime-types-data (3.2025.0916)
mocha (2.7.1)
ruby2_keywords (>= 0.0.5)
mutex_m (0.3.0)
netrc (0.11.0)
- nokogiri (1.18.9-aarch64-linux-gnu)
+ nokogiri (1.18.10-aarch64-linux-gnu)
racc (~> 1.4)
- nokogiri (1.18.9-aarch64-linux-musl)
+ nokogiri (1.18.10-aarch64-linux-musl)
racc (~> 1.4)
- nokogiri (1.18.9-arm-linux-gnu)
+ nokogiri (1.18.10-arm-linux-gnu)
racc (~> 1.4)
- nokogiri (1.18.9-arm-linux-musl)
+ nokogiri (1.18.10-arm-linux-musl)
racc (~> 1.4)
- nokogiri (1.18.9-arm64-darwin)
+ nokogiri (1.18.10-arm64-darwin)
racc (~> 1.4)
- nokogiri (1.18.9-x86_64-darwin)
+ nokogiri (1.18.10-x86_64-darwin)
racc (~> 1.4)
- nokogiri (1.18.9-x86_64-linux-gnu)
+ nokogiri (1.18.10-x86_64-linux-gnu)
racc (~> 1.4)
- nokogiri (1.18.9-x86_64-linux-musl)
+ nokogiri (1.18.10-x86_64-linux-musl)
racc (~> 1.4)
ostruct (0.6.3)
parallel (1.27.0)
@@ -183,7 +183,7 @@ GEM
pp (0.6.2)
prettyprint
prettyprint (0.2.0)
- prism (1.4.0)
+ prism (1.5.1)
psych (5.2.6)
date
stringio
@@ -205,7 +205,7 @@ GEM
parser (~> 3.3.0)
rainbow (>= 2.0, < 4.0)
rexml (~> 3.1)
- regexp_parser (2.11.2)
+ regexp_parser (2.11.3)
reline (0.6.2)
io-console (~> 0.5)
require_bench (1.0.4)
@@ -235,7 +235,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)
@@ -249,7 +249,7 @@ GEM
rubocop-ast (>= 1.46.0, < 2.0)
ruby-progressbar (~> 1.7)
unicode-display_width (>= 2.4.0, < 4.0)
- rubocop-ast (1.46.0)
+ rubocop-ast (1.47.0)
parser (>= 3.3.7.2)
prism (~> 1.4)
rubocop-gradual (0.3.6)
@@ -322,7 +322,7 @@ GEM
snaky_hash (2.0.3)
hashie (>= 0.1.0, < 6)
version_gem (>= 1.1.8, < 3)
- standard (1.51.0)
+ standard (1.51.1)
language_server-protocol (~> 3.17.0.2)
lint_roller (~> 1.0)
rubocop (~> 1.80.2)
@@ -381,7 +381,7 @@ PLATFORMS
DEPENDENCIES
appraisal2 (~> 3.0)
- base64 (~> 0.3)
+ backports (~> 3.25, >= 3.25.1)
benchmark (~> 0.4, >= 0.4.1)
bundler-audit (~> 0.9.2)
debug (>= 1.1)
@@ -390,7 +390,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.0)
+ 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 76140bd..36baf72 100644
--- a/README.md
+++ b/README.md
@@ -9,7 +9,7 @@
# 🖥️ OAuth::TTY
-[![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]
+[![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].
@@ -17,7 +17,7 @@
`if ci_badges.map(&:color).all? { it == "green"}` 👇️ send money so I can do more of this. FLOSS maintenance is now my full-time job.
-[![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]
+[![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]
## 🌻 Synopsis
@@ -25,23 +25,23 @@
## 💡 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.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] |
-| 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] [![📄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] |
-| Support | [![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] |
-| 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.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
-Compatible with MRI Ruby 2.3+, and concordant releases of JRuby, and TruffleRuby.
+Compatible with MRI Ruby 2.3.0+, and concordant releases of JRuby, and TruffleRuby.
| 🚚 _Amazing_ test matrix was brought to you by | 🔎 appraisal2 🔎 and the color 💚 green 💚 |
|------------------------------------------------|--------------------------------------------------------|
@@ -50,13 +50,14 @@ Compatible with MRI Ruby 2.3+, and concordant releases of JRuby, and TruffleRuby
### Federated DVCS
- Find this repo on other forges
+ Find this repo on federated forges (Coming soon!)
| Federated [DVCS][💎d-in-dvcs] Repository | Status | Issues | PRs | Wiki | CI | Discussions |
|-------------------------------------------------|-----------------------------------------------------------------------|---------------------------|--------------------------|---------------------------|--------------------------|------------------------------|
-| 🧪 [ruby-oauth/oauth-tty on GitLab][📜src-gl] | The Truth | [💚][🤝gl-issues] | [💚][🤝gl-pulls] | [💚][📜wiki] | 🏀 Tiny Matrix | ➖ |
+| 🧪 [ruby-oauth/oauth-tty on GitLab][📜src-gl] | The Truth | [💚][🤝gl-issues] | [💚][🤝gl-pulls] | [💚][📜gl-wiki] | 🐭 Tiny Matrix | ➖ |
| 🧊 [ruby-oauth/oauth-tty on CodeBerg][📜src-cb] | An Ethical Mirror ([Donate][🤝cb-donate]) | [💚][🤝cb-issues] | [💚][🤝cb-pulls] | ➖ | ⭕️ No Matrix | ➖ |
-| 🐙 [ruby-oauth/oauth-tty on GitHub][📜src-gh] | Another Mirror | [💚][🤝gh-issues] | [💚][🤝gh-pulls] | ➖ | 💯 Full Matrix | [💚][gh-discussions] |
+| 🐙 [ruby-oauth/oauth-tty 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] |
@@ -170,19 +171,25 @@ and [Tidelift][🏙️entsup-tidelift].
### Open Collective for Individuals
+Support us with a monthly donation and help us continue our activities. [[Become a backer](https://opencollective.com/ruby-oauth#backer)]
+
+NOTE: [kettle-readme-backers][kettle-readme-backers] updates this list every day, automatically.
+
No backers yet. Be the first!
-Support us with a monthly donation and help us continue our activities. [[Become a backer](https://opencollective.com/ruby-oauth#backer)]
-
### Open Collective for Organizations
+Become a sponsor and get your logo on our README on GitHub with a link to your site. [[Become a sponsor](https://opencollective.com/ruby-oauth#sponsor)]
+
+NOTE: [kettle-readme-backers][kettle-readme-backers] updates this list every day, automatically.
+
No sponsors yet. Be the first!
-Become a sponsor and get your logo on our README on GitHub with a link to your site. [[Become a sponsor](https://opencollective.com/ruby-oauth#sponsor)]
+[kettle-readme-backers]: https://github.com/ruby-oauth/oauth-tty/blob/main/exe/kettle-readme-backers
### Another way to support open-source
@@ -219,11 +226,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
@@ -362,7 +369,9 @@ Thanks for RTFM. ☺️
[🖇floss-funding.dev]: https://floss-funding.dev
[🖇floss-funding-gem]: https://github.com/galtzo-floss/floss_funding
[✉️discord-invite]: https://discord.gg/3qme4XHNKN
-[✉️discord-invite-img-ftb]: https://img.shields.io/discord/1373797679469170758?style=for-the-badge
+[✉️discord-invite-img-ftb]: https://img.shields.io/discord/1373797679469170758?style=for-the-badge&logo=discord
+[✉️ruby-friends-img]: https://img.shields.io/badge/daily.dev-%F0%9F%92%8E_Ruby_Friends-0A0A0A?style=for-the-badge&logo=dailydotdev&logoColor=white
+[✉️ruby-friends]: https://app.daily.dev/squads/rubyfriends
[✇bundle-group-pattern]: https://gist.github.com/pboling/4564780
[⛳️gem-namespace]: https://github.com/ruby-oauth/oauth-tty
@@ -412,22 +421,24 @@ Thanks for RTFM. ☺️
[📜src-gh]: https://github.com/ruby-oauth/oauth-tty
[📜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/oauth-tty/-/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/oauth-tty/-/wikis/home
+[📜gh-wiki]: https://github.com/ruby-oauth/oauth-tty/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/oauth-tty
[👽dl-ranki]: https://img.shields.io/gem/rd/oauth-tty.svg
[👽oss-help]: https://www.codetriage.com/ruby-oauth/oauth-tty
[👽oss-helpi]: https://www.codetriage.com/ruby-oauth/oauth-tty/badges/users.svg
[👽version]: https://rubygems.org/gems/oauth-tty
[👽versioni]: https://img.shields.io/gem/v/oauth-tty.svg
-[🔑qlty-mnt]: https://qlty.sh/gh/ruby-oauth/projects/oauth-tty
-[🔑qlty-mnti]: https://qlty.sh/gh/ruby-oauth/projects/oauth-tty/maintainability.svg
-[🔑qlty-cov]: https://qlty.sh/gh/ruby-oauth/projects/oauth-tty/metrics/code?sort=coverageRating
-[🔑qlty-covi]: https://qlty.sh/gh/ruby-oauth/projects/oauth-tty/coverage.svg
-[🔑codecov]: https://codecov.io/gh/ruby-oauth/oauth-tty
-[🔑codecovi]: https://codecov.io/gh/ruby-oauth/oauth-tty/graph/badge.svg
-[🔑coveralls]: https://coveralls.io/github/ruby-oauth/oauth-tty?branch=main
-[🔑coveralls-img]: https://coveralls.io/repos/github/ruby-oauth/oauth-tty/badge.svg?branch=main
+[🏀qlty-mnt]: https://qlty.sh/gh/ruby-oauth/projects/oauth-tty
+[🏀qlty-mnti]: https://qlty.sh/gh/ruby-oauth/projects/oauth-tty/maintainability.svg
+[🏀qlty-cov]: https://qlty.sh/gh/ruby-oauth/projects/oauth-tty/metrics/code?sort=coverageRating
+[🏀qlty-covi]: https://qlty.sh/gh/ruby-oauth/projects/oauth-tty/coverage.svg
+[🏀codecov]: https://codecov.io/gh/ruby-oauth/oauth-tty
+[🏀codecovi]: https://codecov.io/gh/ruby-oauth/oauth-tty/graph/badge.svg
+[🏀coveralls]: https://coveralls.io/github/ruby-oauth/oauth-tty?branch=main
+[🏀coveralls-img]: https://coveralls.io/repos/github/ruby-oauth/oauth-tty/badge.svg?branch=main
[🖐codeQL]: https://github.com/ruby-oauth/oauth-tty/security/code-scanning
[🖐codeQL-img]: https://github.com/ruby-oauth/oauth-tty/actions/workflows/codeql-analysis.yml/badge.svg
[🚎1-an-wf]: https://github.com/ruby-oauth/oauth-tty/actions/workflows/ancient.yml
@@ -458,6 +469,8 @@ Thanks for RTFM. ☺️
[🚎13-🔒️-wfi]: https://github.com/ruby-oauth/oauth-tty/actions/workflows/locked_deps.yml/badge.svg
[🚎14-🔓️-wf]: https://github.com/ruby-oauth/oauth-tty/actions/workflows/unlocked_deps.yml
[🚎14-🔓️-wfi]: https://github.com/ruby-oauth/oauth-tty/actions/workflows/unlocked_deps.yml/badge.svg
+[🚎15-🪪-wf]: https://github.com/ruby-oauth/oauth-tty/actions/workflows/license-eye.yml
+[🚎15-🪪-wfi]: https://github.com/ruby-oauth/oauth-tty/actions/workflows/license-eye.yml/badge.svg
[💎ruby-2.3i]: https://img.shields.io/badge/Ruby-2.3-DF00CA?style=for-the-badge&logo=ruby&logoColor=white
[💎ruby-2.4i]: https://img.shields.io/badge/Ruby-2.4-DF00CA?style=for-the-badge&logo=ruby&logoColor=white
[💎ruby-2.5i]: https://img.shields.io/badge/Ruby-2.5-DF00CA?style=for-the-badge&logo=ruby&logoColor=white
@@ -488,7 +501,7 @@ Thanks for RTFM. ☺️
[🤝cb-pulls]: https://codeberg.org/ruby-oauth/oauth-tty/pulls
[🤝cb-donate]: https://donate.codeberg.org/
[🤝contributing]: CONTRIBUTING.md
-[🔑codecov-g]: https://codecov.io/gh/ruby-oauth/oauth-tty/graphs/tree.svg
+[🏀codecov-g]: https://codecov.io/gh/ruby-oauth/oauth-tty/graphs/tree.svg
[🖐contrib-rocks]: https://contrib.rocks
[🖐contributors]: https://github.com/ruby-oauth/oauth-tty/graphs/contributors
[🖐contributors-img]: https://contrib.rocks/image?repo=ruby-oauth/oauth-tty
@@ -506,13 +519,15 @@ Thanks for RTFM. ☺️
[📌gitmoji]:https://gitmoji.dev
[📌gitmoji-img]:https://img.shields.io/badge/gitmoji_commits-%20%F0%9F%98%9C%20%F0%9F%98%8D-34495e.svg?style=flat-square
[🧮kloc]: https://www.youtube.com/watch?v=dQw4w9WgXcQ
-[🧮kloc-img]: https://img.shields.io/badge/KLOC-3.613-FFDD67.svg?style=for-the-badge&logo=YouTube&logoColor=blue
+[🧮kloc-img]: https://img.shields.io/badge/KLOC-1.225-FFDD67.svg?style=for-the-badge&logo=YouTube&logoColor=blue
[🔐security]: SECURITY.md
[🔐security-img]: https://img.shields.io/badge/security-policy-259D6C.svg?style=flat
[📄copyright-notice-explainer]: https://opensource.stackexchange.com/questions/5778/why-do-licenses-such-as-the-mit-license-specify-a-single-year
[📄license]: LICENSE.txt
[📄license-ref]: https://opensource.org/licenses/MIT
[📄license-img]: https://img.shields.io/badge/License-MIT-259D6C.svg
+[📄license-compat]: https://dev.to/galtzo/how-to-check-license-compatibility-41h0
+[📄license-compat-img]: https://img.shields.io/badge/Apache_Compatible:_Category_A-%E2%9C%93-259D6C.svg?style=flat&logo=Apache
[📄ilo-declaration]: https://www.ilo.org/declaration/lang--en/index.htm
[📄ilo-declaration-img]: https://img.shields.io/badge/ILO_Fundamental_Principles-✓-259D6C.svg?style=flat
[🚎yard-current]: http://rubydoc.info/gems/oauth-tty
diff --git a/Rakefile b/Rakefile
index d6a4ff2..b6d8ffc 100644
--- a/Rakefile
+++ b/Rakefile
@@ -1,6 +1,6 @@
# frozen_string_literal: true
-# kettle-dev Rakefile v1.1.16 - 2025-09-10
+# kettle-dev Rakefile v1.1.26 - 2025-09-20
# Ruby 2.3 (Safe Navigation) or higher required
#
# MIT License (see License.txt)
diff --git a/gemfiles/audit.gemfile b/gemfiles/audit.gemfile
index 841cb82..20f9cf2 100644
--- a/gemfiles/audit.gemfile
+++ b/gemfiles/audit.gemfile
@@ -2,7 +2,7 @@
source "https://rubygems.org"
-gem "oauth", ">= 1.1.0"
+gem "oauth", branch: "main", git: "https://github.com/ruby-oauth/oauth"
gemspec path: "../"
diff --git a/gemfiles/coverage.gemfile b/gemfiles/coverage.gemfile
index 4557049..c95e22e 100644
--- a/gemfiles/coverage.gemfile
+++ b/gemfiles/coverage.gemfile
@@ -2,7 +2,7 @@
source "https://rubygems.org"
-gem "oauth", ">= 1.1.0"
+gem "oauth", branch: "main", git: "https://github.com/ruby-oauth/oauth"
gemspec path: "../"
diff --git a/gemfiles/current.gemfile b/gemfiles/current.gemfile
index 841cb82..20f9cf2 100644
--- a/gemfiles/current.gemfile
+++ b/gemfiles/current.gemfile
@@ -2,7 +2,7 @@
source "https://rubygems.org"
-gem "oauth", ">= 1.1.0"
+gem "oauth", branch: "main", git: "https://github.com/ruby-oauth/oauth"
gemspec path: "../"
diff --git a/gemfiles/head.gemfile b/gemfiles/head.gemfile
index 55ef3d5..1cce6a3 100644
--- a/gemfiles/head.gemfile
+++ b/gemfiles/head.gemfile
@@ -2,7 +2,7 @@
source "https://rubygems.org"
-gem "oauth", ">= 1.1.0"
+gem "oauth", branch: "main", git: "https://github.com/ruby-oauth/oauth"
gem "benchmark", "~> 0.4", ">= 0.4.1"
gemspec path: "../"
diff --git a/gemfiles/modular/x_std_libs/r2.3/libs.gemfile b/gemfiles/modular/x_std_libs/r2.3/libs.gemfile
index b037517..2fee8b6 100644
--- a/gemfiles/modular/x_std_libs/r2.3/libs.gemfile
+++ b/gemfiles/modular/x_std_libs/r2.3/libs.gemfile
@@ -1,4 +1,3 @@
-eval_gemfile "../../base64/r2.3/v0.1.gemfile"
eval_gemfile "../../erb/r2.3/default.gemfile"
eval_gemfile "../../mutex_m/r2.4/v0.1.gemfile"
eval_gemfile "../../stringio/r2.4/v0.0.2.gemfile"
diff --git a/gemfiles/modular/x_std_libs/r2.4/libs.gemfile b/gemfiles/modular/x_std_libs/r2.4/libs.gemfile
index 67fe5ba..c1bcbd8 100644
--- a/gemfiles/modular/x_std_libs/r2.4/libs.gemfile
+++ b/gemfiles/modular/x_std_libs/r2.4/libs.gemfile
@@ -1,4 +1,3 @@
-eval_gemfile "../../base64/r2/v0.2.gemfile"
eval_gemfile "../../erb/r2.6/v2.2.gemfile"
eval_gemfile "../../mutex_m/r2.4/v0.1.gemfile"
eval_gemfile "../../stringio/r2.4/v0.0.2.gemfile"
diff --git a/gemfiles/modular/x_std_libs/r2.6/libs.gemfile b/gemfiles/modular/x_std_libs/r2.6/libs.gemfile
index 33e62b2..beac38c 100644
--- a/gemfiles/modular/x_std_libs/r2.6/libs.gemfile
+++ b/gemfiles/modular/x_std_libs/r2.6/libs.gemfile
@@ -1,4 +1,3 @@
-eval_gemfile "../../base64/r2/v0.2.gemfile"
eval_gemfile "../../erb/r2.6/v2.2.gemfile"
eval_gemfile "../../mutex_m/r2/v0.3.gemfile"
eval_gemfile "../../stringio/r2/v3.0.gemfile"
diff --git a/gemfiles/modular/x_std_libs/r2/libs.gemfile b/gemfiles/modular/x_std_libs/r2/libs.gemfile
index 1bcb535..441c4f0 100644
--- a/gemfiles/modular/x_std_libs/r2/libs.gemfile
+++ b/gemfiles/modular/x_std_libs/r2/libs.gemfile
@@ -1,4 +1,3 @@
-eval_gemfile "../../base64/r2/v0.2.gemfile"
eval_gemfile "../../erb/r2/v3.0.gemfile"
eval_gemfile "../../mutex_m/r2/v0.3.gemfile"
eval_gemfile "../../stringio/r2/v3.0.gemfile"
diff --git a/gemfiles/modular/x_std_libs/r3.1/libs.gemfile b/gemfiles/modular/x_std_libs/r3.1/libs.gemfile
index 3ca8a13..bdab5bd 100644
--- a/gemfiles/modular/x_std_libs/r3.1/libs.gemfile
+++ b/gemfiles/modular/x_std_libs/r3.1/libs.gemfile
@@ -1,4 +1,3 @@
-eval_gemfile "../../base64/r3/v0.3.gemfile"
eval_gemfile "../../erb/r3.1/v4.0.gemfile"
eval_gemfile "../../mutex_m/r3/v0.3.gemfile"
eval_gemfile "../../stringio/r3/v3.0.gemfile"
diff --git a/gemfiles/modular/x_std_libs/r3/libs.gemfile b/gemfiles/modular/x_std_libs/r3/libs.gemfile
index 116f025..c293a3d 100644
--- a/gemfiles/modular/x_std_libs/r3/libs.gemfile
+++ b/gemfiles/modular/x_std_libs/r3/libs.gemfile
@@ -1,4 +1,3 @@
-eval_gemfile "../../base64/r3/v0.3.gemfile"
eval_gemfile "../../erb/r3/v5.0.gemfile"
eval_gemfile "../../mutex_m/r3/v0.3.gemfile"
eval_gemfile "../../stringio/r3/v3.0.gemfile"
diff --git a/gemfiles/modular/x_std_libs/vHEAD.gemfile b/gemfiles/modular/x_std_libs/vHEAD.gemfile
index 2610110..acc5ccb 100644
--- a/gemfiles/modular/x_std_libs/vHEAD.gemfile
+++ b/gemfiles/modular/x_std_libs/vHEAD.gemfile
@@ -1,4 +1,3 @@
-eval_gemfile "../base64/vHEAD.gemfile"
eval_gemfile "../erb/vHEAD.gemfile"
eval_gemfile "../mutex_m/vHEAD.gemfile"
eval_gemfile "../stringio/vHEAD.gemfile"
diff --git a/gemfiles/ruby_3_1.gemfile b/gemfiles/ruby_3_1.gemfile
index 76ef994..52142b9 100644
--- a/gemfiles/ruby_3_1.gemfile
+++ b/gemfiles/ruby_3_1.gemfile
@@ -2,7 +2,7 @@
source "https://rubygems.org"
-gem "oauth", ">= 1.1.0"
+gem "oauth", branch: "main", git: "https://github.com/ruby-oauth/oauth"
gemspec path: "../"
diff --git a/gemfiles/ruby_3_2.gemfile b/gemfiles/ruby_3_2.gemfile
index e3f5950..2b84cc8 100644
--- a/gemfiles/ruby_3_2.gemfile
+++ b/gemfiles/ruby_3_2.gemfile
@@ -2,7 +2,7 @@
source "https://rubygems.org"
-gem "oauth", ">= 1.1.0"
+gem "oauth", branch: "main", git: "https://github.com/ruby-oauth/oauth"
gemspec path: "../"
diff --git a/gemfiles/ruby_3_3.gemfile b/gemfiles/ruby_3_3.gemfile
index e3f5950..2b84cc8 100644
--- a/gemfiles/ruby_3_3.gemfile
+++ b/gemfiles/ruby_3_3.gemfile
@@ -2,7 +2,7 @@
source "https://rubygems.org"
-gem "oauth", ">= 1.1.0"
+gem "oauth", branch: "main", git: "https://github.com/ruby-oauth/oauth"
gemspec path: "../"
diff --git a/gemfiles/style.gemfile b/gemfiles/style.gemfile
index 1092e5e..381c448 100644
--- a/gemfiles/style.gemfile
+++ b/gemfiles/style.gemfile
@@ -2,7 +2,7 @@
source "https://rubygems.org"
-gem "oauth", ">= 1.1.0"
+gem "oauth", branch: "main", git: "https://github.com/ruby-oauth/oauth"
gemspec path: "../"
diff --git a/oauth-tty.gemspec b/oauth-tty.gemspec
index 313a831..69772fa 100644
--- a/oauth-tty.gemspec
+++ b/oauth-tty.gemspec
@@ -91,28 +91,27 @@ Gem::Specification.new do |spec|
]
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 = ["oauth"]
# Utilities
- spec.add_dependency("version_gem", "~> 1.1", ">= 1.1.8") # ruby >= 2.2.0
+ spec.add_dependency("version_gem", "~> 1.1", ">= 1.1.9") # ruby >= 2.2.0
# NOTE: It is preferable to list development dependencies in the gemspec due to increased
# 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.3.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.3.0.
+ # This gem, and its gemspec development dependencies, will install on Ruby down to 2.3.0.
# Thus, dev dependencies in gemspec must have
#
- # required_ruby_version ">= 2.3" (or lower)
+ # required_ruby_version ">= 2.3.0" (or lower)
#
# Development dependencies that require strictly newer Ruby versions should be in a "gemfile",
# and preferably a modular one (see gemfiles/modular/*.gemfile).
# Dev, Test, & Release Tasks
- spec.add_development_dependency("kettle-dev", "~> 1.0") # 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
@@ -151,9 +150,7 @@ Gem::Specification.new do |spec|
spec.add_development_dependency("gitmoji-regex", "~> 1.0", ">= 1.0.3") # ruby >= 2.3.0
# HTTP recording for deterministic specs
- # It seems that somehow just having a newer version of appraisal installed breaks
- # Ruby 2.3 and 2.4 even if their bundle specifies an older version,
- # and as a result it can only be a dependency in the appraisals.
+ # Ruby 2.3 / 2.4 can fail with:
# | An error occurred while loading spec_helper.
# | Failure/Error: require "vcr"
# |
@@ -163,6 +160,11 @@ Gem::Specification.new do |spec|
# | # ./spec/config/vcr.rb:3:in `'
# | # ./spec/spec_helper.rb:8:in `require_relative'
# | # ./spec/spec_helper.rb:8:in `'
- spec.add_development_dependency("vcr", ">= 4") # 6.0 claims to support ruby >= 2.3, but fails on ruby 2.4
- spec.add_development_dependency("webmock", ">= 3") # Last version to support ruby >= 2.3
+ # So that's why we need backports.
+ spec.add_development_dependency("backports", "~> 3.25", ">= 3.25.1") # ruby >= 0
+ # In Ruby 3.5 (HEAD) the CGI library has been pared down, so we also need to depend on gem "cgi" for ruby@head
+ # This is done in the "head" appraisal.
+ # See: https://github.com/vcr/vcr/issues/1057
+ spec.add_development_dependency("vcr", ">= 4") # 6.0 claims to support ruby >= 2.3, but fails on ruby 2.4
+ spec.add_development_dependency("webmock", ">= 3") # Last version to support ruby >= 2.3
end
diff --git a/spec/ext/backports.rb b/spec/ext/backports.rb
new file mode 100644
index 0000000..322d8f4
--- /dev/null
+++ b/spec/ext/backports.rb
@@ -0,0 +1,4 @@
+# frozen_string_literal: true
+
+require "backports/2.5.0/hash/transform_keys"
+require "backports/2.5.0/string/delete_prefix"
diff --git a/spec/spec_helper.rb b/spec/spec_helper.rb
index 880093b..312693b 100644
--- a/spec/spec_helper.rb
+++ b/spec/spec_helper.rb
@@ -1,5 +1,12 @@
# frozen_string_literal: true
+# Global Extensions
+require_relative "ext/backports"
+
+# External libraries
+require "addressable/uri"
+require "rspec/pending_for"
+
# External RSpec & related config
require "kettle/test/rspec"
@@ -18,7 +25,7 @@
# Config for development dependencies of this library
# i.e., not configured by this library
#
-# Simplecov & related config (must run BEFORE any other requires)
+# Simplecov & related config (must run BEFORE any of this library is loaded)
# NOTE: Gemfiles for older rubies won't have kettle-soup-cover.
# The rescue LoadError handles that scenario.
begin
@@ -29,5 +36,5 @@
raise error unless error.message.include?("kettle")
end
-# this library
+# This gem
require "oauth/tty"