|
14 | 14 | [![Downloads Rank][👽dl-ranki]][👽dl-rank] |
15 | 15 | [![Open Source Helpers][👽oss-helpi]][👽oss-help] |
16 | 16 | [![Depfu][🔑depfui♻️]][🔑depfu] |
17 | | -[![CodeCov Test Coverage][🔑codecovi♻️]][🔑codecov] |
18 | 17 | [![Coveralls Test Coverage][🔑coveralls-img]][🔑coveralls] |
19 | | -[![CodeClimate Test Coverage][🔑cc-covi♻️]][🔑cc-cov] |
| 18 | +[![QLTY Test Coverage][🔑cc-covi♻️]][🔑cc-cov] |
20 | 19 | [![Maintainability][🔑cc-mnti♻️]][🔑cc-mnt] |
21 | 20 | [![CI Heads][🚎3-hd-wfi]][🚎3-hd-wf] |
22 | 21 | [![CI Runtime Dependencies @ HEAD][🚎12-crh-wfi]][🚎12-crh-wf] |
@@ -44,7 +43,68 @@ OAuth 2.0 focuses on client developer simplicity while providing specific author |
44 | 43 | desktop applications, mobile phones, and living room devices. |
45 | 44 | This is a RubyGem for implementing OAuth 2.0 clients (not servers) in Ruby applications. |
46 | 45 |
|
47 | | -Quick example: Convert the following `curl` command into a token request using this gem... |
| 46 | +### Upgrading Runtime Gem Dependencies |
| 47 | + |
| 48 | +This project sits underneath a large portion of the authentication systems on the internet. |
| 49 | +According to GitHub's project tracking, which I believe only reports on public projects, |
| 50 | +[100,000+ projects](https://github.com/oauth-xx/oauth2/network/dependents), and |
| 51 | +[500+ packages](https://github.com/oauth-xx/oauth2/network/dependents?dependent_type=PACKAGE) depend on this project. |
| 52 | + |
| 53 | +That means it is painful for the Ruby community when this gem forces updates to its runtime dependencies. |
| 54 | + |
| 55 | +As a result, great care, and a lot of time, have been invested to ensure this gem is working with all the |
| 56 | +leading versions per each minor version of Ruby of all the runtime dependencies it can install with. |
| 57 | + |
| 58 | +What does that mean specifically for the runtime dependencies? |
| 59 | + |
| 60 | +We have 100% test coverage of lines and branches, and this test suite runs across a large matrix |
| 61 | +covering the latest patch for each of the following minor versions: |
| 62 | + |
| 63 | +* MRI Ruby @ v2.3, v2.4, v2.5, v2.6, v2.7, v3.0, v3.1, v3.2, v3.3, v3.4, HEAD |
| 64 | + * NOTE: This gem will still install on ruby v2.2, but vanilla GitHub Actions no longer supports testing against it, so YMMV. |
| 65 | +* JRuby @ v9.2, v9.3, v9.4, v10.0, HEAD |
| 66 | +* TruffleRuby @ v23.1, v23.2, HEAD |
| 67 | +* gem `faraday` @ v0, v1, v2, HEAD |
| 68 | +* gem `jwt` @ v1, v2, v3, HEAD |
| 69 | +* gem `logger` @ v1.2, v1.5, v1.7, HEAD |
| 70 | +* gem `multi_xml` @ v0.5, v0.6, v0.7, HEAD |
| 71 | +* gem `rack` @ v1.2, v1.6, v2, v3, HEAD |
| 72 | + |
| 73 | +- This gem follows a _strict & correct_ (according to the maintainer of SemVer; [more info][sv-pub-api]) interpretation of SemVer. |
| 74 | + - Dropping support for **any** of the runtime dependency versions above will be a major version bump. |
| 75 | + - If you aren't on one of the minor versions above, make getting there a priority. |
| 76 | +- You should upgrade this gem with confidence\*. |
| 77 | +- You should upgrade the dependencies of this gem with confidence\*. |
| 78 | +- Please do upgrade, and then, when it goes smooth as butter [please sponsor me][🖇sponsor]. Thanks! |
| 79 | + |
| 80 | +[sv-pub-api]: #-is-platform-support-part-of-the-public-api |
| 81 | + |
| 82 | +\* MIT license; I am unable to make guarantees. |
| 83 | + |
| 84 | +| 🚚 Test matrix brought to you by | 🔎 appraisal++ | |
| 85 | +|----------------------------------|-------------------------------------------------------------------------| |
| 86 | +| Adds back support for old Rubies | ✨ [appraisal PR #250](https://github.com/thoughtbot/appraisal/pull/250) | |
| 87 | +| Adds support for `eval_gemfile` | ✨ [appraisal PR #248](https://github.com/thoughtbot/appraisal/pull/248) | |
| 88 | +| Please review | my PRs! | |
| 89 | + |
| 90 | +<details> |
| 91 | + <summary>Standard Library Dependencies</summary> |
| 92 | + |
| 93 | +The various versions of each are tested via the Ruby test matrix, along with whatever Ruby includes them. |
| 94 | + |
| 95 | +* base64 |
| 96 | +* cgi |
| 97 | +* json |
| 98 | +* time |
| 99 | +* logger (removed from stdlib in Ruby 3.5 so added as runtime dependency in v2.0.10) |
| 100 | + |
| 101 | +If you use a gem version it should work fine! |
| 102 | + |
| 103 | +</details> |
| 104 | + |
| 105 | +### Quick Usage Example for Anti-Scrollers |
| 106 | + |
| 107 | +Convert the following `curl` command into a token request using this gem... |
48 | 108 |
|
49 | 109 | ```shell |
50 | 110 | curl --request POST \ |
@@ -101,17 +161,6 @@ One of these might be what you are looking for: |
101 | 161 |
|
102 | 162 | ## 🚀 Release Documentation |
103 | 163 |
|
104 | | -<details> |
105 | | - <summary>Standard Library Dependencies</summary> |
106 | | - |
107 | | -* base64 |
108 | | -* cgi |
109 | | -* json |
110 | | -* time |
111 | | -* logger (removed from stdlib in Ruby 3.5 so added as runtime dependency in v2.0.10) |
112 | | - |
113 | | -</details> |
114 | | - |
115 | 164 | ### Version 2.0.x |
116 | 165 |
|
117 | 166 | <details> |
@@ -267,7 +316,7 @@ NOTE: Be prepared to track down certs for signed gems and add them the same way |
267 | 316 |
|
268 | 317 | Available as part of the Tidelift Subscription. |
269 | 318 |
|
270 | | -The maintainers of OAuth2 and thousands of other packages are working with Tidelift to deliver commercial support and maintenance for the open source packages you use to build your applications. Save time, reduce risk, and improve code health, while paying the maintainers of the exact packages you use. [Learn more.][tidelift-ref] |
| 319 | +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. [Learn more.][tidelift-ref] |
271 | 320 |
|
272 | 321 | [tidelift-ref]: https://tidelift.com/subscription/pkg/rubygems-oauth2?utm_source=rubygems-oauth2&utm_medium=referral&utm_campaign=enterprise |
273 | 322 |
|
@@ -569,7 +618,8 @@ See [CONTRIBUTING.md][🤝contributing] for more detailed instructions. |
569 | 618 |
|
570 | 619 | ### Code Coverage |
571 | 620 |
|
572 | | -[![Coverage Graph][🔑codecov-g♻️]][🔑codecov] |
| 621 | +[![Coveralls Test Coverage][🔑coveralls-img]][🔑coveralls] |
| 622 | +[![QLTY Test Coverage][🔑cc-covi♻️]][🔑cc-cov] |
573 | 623 |
|
574 | 624 | ### 🪇 Code of Conduct |
575 | 625 |
|
@@ -626,7 +676,7 @@ the [Pessimistic Version Constraint][📌pvc] with two digits of precision. |
626 | 676 | For example: |
627 | 677 |
|
628 | 678 | ```ruby |
629 | | -spec.add_dependency("oauth2", "~> 1.0") |
| 679 | +spec.add_dependency("oauth2", "~> 2.0") |
630 | 680 | ``` |
631 | 681 |
|
632 | 682 | See [CHANGELOG.md][📌changelog] for list of releases. |
@@ -846,3 +896,14 @@ or one of the others at the head of this README. |
846 | 896 | <a rel="me" alt="Follow me on Ruby.social" href="https://ruby.social/@galtzo"><img src="https://img.shields.io/mastodon/follow/109447111526622197?domain=https%3A%2F%2Fruby.social&style=social&label=Follow%20%40galtzo%20on%20Ruby.social"></a> |
847 | 897 | <a rel="me" alt="Follow me on FLOSS.social" href="https://floss.social/@galtzo"><img src="https://img.shields.io/mastodon/follow/110304921404405715?domain=https%3A%2F%2Ffloss.social&style=social&label=Follow%20%40galtzo%20on%20Floss.social"></a> |
848 | 898 | </details> |
| 899 | + |
| 900 | +<details> |
| 901 | + <summary>Deprecated Badges</summary> |
| 902 | + |
| 903 | +CodeCov currently fails to parse the coverage upload. |
| 904 | + |
| 905 | +[![CodeCov Test Coverage][🔑codecovi♻️]][🔑codecov] |
| 906 | + |
| 907 | +[![Coverage Graph][🔑codecov-g♻️]][🔑codecov] |
| 908 | + |
| 909 | +</details> |
0 commit comments