Skip to content

Commit 20349af

Browse files
committed
📝 Documentation updates
1 parent 830fb08 commit 20349af

File tree

1 file changed

+78
-17
lines changed

1 file changed

+78
-17
lines changed

README.md

Lines changed: 78 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -14,9 +14,8 @@
1414
[![Downloads Rank][👽dl-ranki]][👽dl-rank]
1515
[![Open Source Helpers][👽oss-helpi]][👽oss-help]
1616
[![Depfu][🔑depfui♻️]][🔑depfu]
17-
[![CodeCov Test Coverage][🔑codecovi♻️]][🔑codecov]
1817
[![Coveralls Test Coverage][🔑coveralls-img]][🔑coveralls]
19-
[![CodeClimate Test Coverage][🔑cc-covi♻️]][🔑cc-cov]
18+
[![QLTY Test Coverage][🔑cc-covi♻️]][🔑cc-cov]
2019
[![Maintainability][🔑cc-mnti♻️]][🔑cc-mnt]
2120
[![CI Heads][🚎3-hd-wfi]][🚎3-hd-wf]
2221
[![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
4443
desktop applications, mobile phones, and living room devices.
4544
This is a RubyGem for implementing OAuth 2.0 clients (not servers) in Ruby applications.
4645

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...
48108

49109
```shell
50110
curl --request POST \
@@ -101,17 +161,6 @@ One of these might be what you are looking for:
101161

102162
## 🚀 Release Documentation
103163

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-
115164
### Version 2.0.x
116165

117166
<details>
@@ -267,7 +316,7 @@ NOTE: Be prepared to track down certs for signed gems and add them the same way
267316

268317
Available as part of the Tidelift Subscription.
269318

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]
271320

272321
[tidelift-ref]: https://tidelift.com/subscription/pkg/rubygems-oauth2?utm_source=rubygems-oauth2&utm_medium=referral&utm_campaign=enterprise
273322

@@ -569,7 +618,8 @@ See [CONTRIBUTING.md][🤝contributing] for more detailed instructions.
569618

570619
### Code Coverage
571620

572-
[![Coverage Graph][🔑codecov-g♻️]][🔑codecov]
621+
[![Coveralls Test Coverage][🔑coveralls-img]][🔑coveralls]
622+
[![QLTY Test Coverage][🔑cc-covi♻️]][🔑cc-cov]
573623

574624
### 🪇 Code of Conduct
575625

@@ -626,7 +676,7 @@ the [Pessimistic Version Constraint][📌pvc] with two digits of precision.
626676
For example:
627677

628678
```ruby
629-
spec.add_dependency("oauth2", "~> 1.0")
679+
spec.add_dependency("oauth2", "~> 2.0")
630680
```
631681

632682
See [CHANGELOG.md][📌changelog] for list of releases.
@@ -846,3 +896,14 @@ or one of the others at the head of this README.
846896
<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>
847897
<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>
848898
</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

Comments
 (0)