version_gem 1.1.8 → 1.1.9

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,35 +1,44 @@
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] [![version_gem Logo by Aboling0, CC BY-SA 4.0][🖼️version_gem-i]][🖼️version_gem]
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
+ [🖼️version_gem-i]: https://logos.galtzo.com/assets/images/ruby-oauth/version_gem/avatar-192px.svg
8
+ [🖼️version_gem]: https://github.com/ruby-oauth/version_gem
9
+
1
10
  # 🔖 VersionGem
2
11
 
3
- [![Version][👽versioni]][👽version]
4
- [![License: MIT][📄license-img]][📄license-ref]
5
- [![Downloads Rank][👽dl-ranki]][👽dl-rank]
6
- [![Open Source Helpers][👽oss-helpi]][👽oss-help]
7
- [![Depfu][🔑depfui♻️]][🔑depfu]
8
- [![CodeCov Test Coverage][🔑codecovi♻️]][🔑codecov]
9
- [![Coveralls Test Coverage][🔑coveralls-img]][🔑coveralls]
10
- [![CodeClimate Test Coverage][🔑cc-covi♻️]][🔑cc-cov]
11
- [![Maintainability][🔑cc-mnti♻️]][🔑cc-mnt]
12
- [![CI Heads][🚎3-hd-wfi]][🚎3-hd-wf]
13
- [![CI Current][🚎11-c-wfi]][🚎11-c-wf]
14
- [![CI Truffle Ruby][🚎9-t-wfi]][🚎9-t-wf]
15
- [![CI JRuby][🚎10-j-wfi]][🚎10-j-wf]
16
- [![CI Supported][🚎6-s-wfi]][🚎6-s-wf]
17
- [![CI Legacy][🚎4-lg-wfi]][🚎4-lg-wf]
18
- [![CI Unsupported][🚎7-us-wfi]][🚎7-us-wf]
19
- [![CI Ancient][🚎1-an-wfi]][🚎1-an-wf]
20
- [![CI Test Coverage][🚎2-cov-wfi]][🚎2-cov-wf]
21
- [![CI Style][🚎5-st-wfi]][🚎5-st-wf]
12
+ [![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 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]
13
+
14
+ If ☝️ `ci_badges.map(&:color).detect { it != "green"}` [let me know][🖼️galtzo-discord], as I may have missed the [discord notification][🖼️galtzo-discord].
22
15
 
23
16
  ---
24
17
 
25
- [![Liberapay Patrons][⛳liberapay-img]][⛳liberapay]
26
- [![Sponsor Me on Github][🖇sponsor-img]][🖇sponsor]
27
- [![Buy me a coffee][🖇buyme-small-img]][🖇buyme]
28
- [![Donate on Polar][🖇polar-img]][🖇polar]
29
- [![Donate to my FLOSS or refugee efforts at ko-fi.com][🖇kofi-img]][🖇kofi]
30
- [![Donate to my FLOSS or refugee efforts using Patreon][🖇patreon-img]][🖇patreon]
18
+ OTOH, 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.
31
19
 
32
- ## 🧐 Alternatives
20
+ [![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]
21
+
22
+ ## 🌻 Synopsis
23
+
24
+ Give your next library an introspectable `Version` module without breaking your Gemspec.
25
+
26
+ ```ruby
27
+ MyLib::Version.to_s # => "1.2.3.rc3"
28
+ MyLib::Version.major # => 1
29
+ MyLib::Version.minor # => 2
30
+ MyLib::Version.patch # => 3
31
+ MyLib::Version.pre # => "rc3"
32
+ MyLib::Version.to_a # => [1, 2, 3, "rc3"]
33
+ MyLib::Version.to_h # => { major: 1, minor: 2, patch: 3, pre: "rc3" }
34
+ ```
35
+
36
+ This library was extracted from the gem _[oauth2](https://gitlab.com/oauth-xx/oauth2)_.
37
+
38
+ This gem has no runtime dependencies.
39
+
40
+
41
+ ### 🧐 Alternatives
33
42
 
34
43
  This gem has a very niche purpose, which is:
35
44
 
@@ -38,7 +47,7 @@ This gem has a very niche purpose, which is:
38
47
  3. allowing 100% test coverage of Ruby code, including the `Version` module.
39
48
 
40
49
  As proof in the pudding, this gem achieves 100% test coverage for lines and branches,
41
- all 117 and 4 of them, respectively; coverage enabled in part by patterns from this library.
50
+ all 118 and 4 of them, respectively; coverage enabled in part by patterns from this library.
42
51
  You can make it happen for your library too!
43
52
 
44
53
  If this isn't **precisely** your use case you may be better off looking at
@@ -47,65 +56,101 @@ gem from the Alchemists, or _[version_sorter](https://rubygems.org/gems/version_
47
56
 
48
57
  For more discussion about this [see issue #2](https://gitlab.com/oauth-xx/version_gem/-/issues/2)
49
58
 
50
- ## 🚀 Still here?
59
+ ## 💡 Info you can shake a stick at
51
60
 
52
- Give your next library an introspectable `Version` module without breaking your Gemspec.
61
+ | Tokens to Remember | [![Gem name][⛳️name-img]][⛳️gem-name] [![Gem namespace][⛳️namespace-img]][⛳️gem-namespace] |
62
+ |-------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
63
+ | 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] |
64
+ | 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] |
65
+ | 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] |
66
+ | Works with MRI Ruby 2 | ![Ruby 2.2 Compat][💎ruby-2.2i] <br/> [![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] |
67
+ | 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] |
68
+ | 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] |
69
+ | 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] |
70
+ | 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] |
71
+ | 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] |
72
+ | 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] |
73
+ | `...` 💖 | [![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] |
53
74
 
54
- ```ruby
55
- MyLib::Version.to_s # => "1.2.3.rc3"
56
- MyLib::Version.major # => 1
57
- MyLib::Version.minor # => 2
58
- MyLib::Version.patch # => 3
59
- MyLib::Version.pre # => "rc3"
60
- MyLib::Version.to_a # => [1, 2, 3, "rc3"]
61
- MyLib::Version.to_h # => { major: 1, minor: 2, patch: 3, pre: "rc3" }
62
- ```
75
+ ### Compatibility
63
76
 
64
- This library was extracted from the gem _[oauth2](https://gitlab.com/oauth-xx/oauth2)_.
77
+ Compatible with MRI Ruby 2.3+, and concordant releases of JRuby, and TruffleRuby.
65
78
 
66
- This gem has no runtime dependencies.
79
+ | 🚚 _Amazing_ test matrix was brought to you by | 🔎 appraisal2 🔎 |
80
+ |------------------------------------------------|-------------------------------------------------------------------------------------|
81
+ | 👟 Check it out! | ✨ [github.com/appraisal-rb/appraisal2][💎appraisal2] ✨ |
67
82
 
68
- ## 💡 Info you can shake a stick at
83
+ ### Federated DVCS
84
+
85
+ <details>
86
+ <summary>Find this repo on other forges</summary>
87
+
88
+ | Federated [DVCS][💎d-in-dvcs] Repository | Status | Issues | PRs | Wiki | CI | Discussions |
89
+ |-------------------------------------------------|-----------------------------------------------------------------------|---------------------------|--------------------------|---------------------------|--------------------------|------------------------------|
90
+ | 🧪 [ruby-oauth/version_gem on GitLab][📜src-gl] | The Truth | [💚][🤝gl-issues] | [💚][🤝gl-pulls] | [💚][📜wiki] | 🏀 Tiny Matrix | ➖ |
91
+ | 🧊 [ruby-oauth/version_gem on CodeBerg][📜src-cb] | An Ethical Mirror ([Donate][🤝cb-donate]) | [💚][🤝cb-issues] | [💚][🤝cb-pulls] | ➖ | ⭕️ No Matrix | ➖ |
92
+ | 🐙 [ruby-oauth/version_gem on GitHub][📜src-gh] | Another Mirror | [💚][🤝gh-issues] | [💚][🤝gh-pulls] | ➖ | 💯 Full Matrix | [💚][gh-discussions] |
93
+ | 🎮️ [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] |
94
+
95
+ </details>
96
+
97
+ [gh-discussions]: https://github.com/ruby-oauth/version_gem/discussions
98
+
99
+ ### Enterprise Support [![Tidelift](https://tidelift.com/badges/package/rubygems/version_gem)](https://tidelift.com/subscription/pkg/rubygems-version_gem?utm_source=rubygems-version_gem&utm_medium=referral&utm_campaign=readme)
100
+
101
+ Available as part of the Tidelift Subscription.
102
+
103
+ <details>
104
+ <summary>Need enterprise-level guarantees?</summary>
105
+
106
+ 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.
107
+
108
+ [![Get help from me on Tidelift][🏙️entsup-tidelift-img]][🏙️entsup-tidelift]
109
+
110
+ - 💡Subscribe for support guarantees covering _all_ your FLOSS dependencies
111
+ - 💡Tidelift is part of [Sonar][🏙️entsup-tidelift-sonar]
112
+ - 💡Tidelift pays maintainers to maintain the software you depend on!<br/>📊`@`Pointy Haired Boss: An [enterprise support][🏙️entsup-tidelift] subscription is "[never gonna let you down][🧮kloc]", and *supports* open source maintainers
69
113
 
70
- | Tokens to Remember | [![Gem name][⛳️name-img]][⛳️gem-name] [![Gem namespace][⛳️namespace-img]][⛳️gem-namespace] |
71
- |-------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
72
- | Works with JRuby | [![JRuby 9.1 Compat][💎jruby-9.1i]][🚎10-j-wf] [![JRuby 9.2 Compat][💎jruby-9.2i]][🚎10-j-wf] [![JRuby 9.3 Compat][💎jruby-9.3i]][🚎10-j-wf] [![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] |
73
- | Works with Truffle Ruby | [![Truffle Ruby 22.3 Compat][💎truby-22.3i]][🚎9-t-wf] [![Truffle Ruby 23.0 Compat][💎truby-23.0i]][🚎9-t-wf] [![Truffle Ruby 23.1 Compat][💎truby-23.1i]][🚎9-t-wf] [![Truffle Ruby 24.1 Compat][💎truby-c-i]][🚎11-c-wf] [![Truffle Ruby HEAD Compat][💎truby-headi]][🚎3-hd-wf] |
74
- | 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] |
75
- | 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] |
76
- | Source | [![Source on GitLab.com][📜src-gl-img]][📜src-gl] [![Source on Github.com][📜src-gh-img]][📜src-gh] [![The best SHA: dQw4w9WgXcQ!][🧮kloc-img]][🧮kloc] |
77
- | Documentation | [![Current release on RubyDoc.info][📜docs-cr-rd-img]][🚎yard-current] [![HEAD on RubyDoc.info][📜docs-head-rd-img]][🚎yard-head] [![BDFL Blog][🚂bdfl-blog-img]][🚂bdfl-blog] [![Wiki][📜wiki-img]][📜wiki] |
78
- | Compliance | [![License: MIT][📄license-img]][📄license-ref] [![📄ilo-declaration-img]][📄ilo-declaration] [![Security Policy][🔐security-img]][🔐security] [![CodeQL][🖐codeQL-img]][🖐codeQL] [![Contributor Covenant 2.1][🪇conduct-img]][🪇conduct] [![SemVer 2.0.0][📌semver-img]][📌semver] [![Keep-A-Changelog 1.0.0][📗keep-changelog-img]][📗keep-changelog] [![Gitmoji Commits][📌gitmoji-img]][📌gitmoji] |
79
- | Expert 1:1 Support | [![Get help from me on Upwork][👨🏼‍🏫expsup-upwork-img]][👨🏼‍🏫expsup-upwork] `or` [![Get help from me on Codementor][👨🏼‍🏫expsup-codementor-img]][👨🏼‍🏫expsup-codementor] |
80
- | Enterprise Support | [![Get help from me on Tidelift][🏙️entsup-tidelift-img]][🏙️entsup-tidelift]<br/>💡Subscribe for support guarantees covering _all_ FLOSS dependencies!<br/>💡Tidelift is part of [Sonar][🏙️entsup-tidelift-sonar]!<br/>💡Tidelift pays maintainers to maintain the software you depend on!<br/>📊`@`Pointy Haired Boss: An [enterprise support][🏙️entsup-tidelift] subscription is "[never gonna let you down][🧮kloc]", and *supports* open source maintainers! |
81
- | Comrade BDFL 🎖️ | [![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 BDFL][🚂bdfl-contact-img]][🚂bdfl-contact] [![My technical writing][💖💁🏼‍♂️devto-img]][💖💁🏼‍♂️devto] |
82
- | `...` 💖 | [![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] |
114
+ Alternatively:
115
+
116
+ - [![Live Chat on Discord][✉️discord-invite-img-ftb]][✉️discord-invite]
117
+ - [![Get help from me on Upwork][👨🏼‍🏫expsup-upwork-img]][👨🏼‍🏫expsup-upwork]
118
+ - [![Get help from me on Codementor][👨🏼‍🏫expsup-codementor-img]][👨🏼‍🏫expsup-codementor]
119
+
120
+ </details>
83
121
 
84
122
  ## ✨ Installation
85
123
 
86
124
  Install the gem and add to the application's Gemfile by executing:
87
125
 
88
- $ bundle add version_gem
126
+ ```console
127
+ bundle add version_gem
128
+ ```
89
129
 
90
130
  If bundler is not being used to manage dependencies, install the gem by executing:
91
131
 
92
- $ gem install version_gem
132
+ ```console
133
+ gem install version_gem
134
+ ```
93
135
 
94
136
  ### 🔒 Secure Installation
95
137
 
96
- `version_gem` is cryptographically signed, and with verifiable [SHA-256 and SHA-512][💎SHA_checksums] checksums by
138
+ <details>
139
+ <summary>For Medium or High Security Installations</summary>
140
+
141
+ This gem is cryptographically signed, and has verifiable [SHA-256 and SHA-512][💎SHA_checksums] checksums by
97
142
  [stone_checksums][💎stone_checksums]. Be sure the gem you install hasn’t been tampered with
98
143
  by following the instructions below.
99
144
 
100
145
  Add my public key (if you haven’t already, expires 2045-04-29) as a trusted certificate:
101
146
 
102
- ```shell
103
- gem cert --add <(curl -Ls https://raw.github.com/oauth-xx/version_gem/main/certs/pboling.pem)
147
+ ```console
148
+ gem cert --add <(curl -Ls https://raw.github.com/galtzo-floss/certs/main/pboling.pem)
104
149
  ```
105
150
 
106
151
  You only need to do that once. Then proceed to install with:
107
152
 
108
- ```shell
153
+ ```console
109
154
  gem install version_gem -P HighSecurity
110
155
  ```
111
156
 
@@ -113,7 +158,7 @@ The `HighSecurity` trust profile will verify signed gems, and not allow the inst
113
158
 
114
159
  If you want to up your security game full-time:
115
160
 
116
- ```shell
161
+ ```console
117
162
  bundle config set --global trust-policy MediumSecurity
118
163
  ```
119
164
 
@@ -121,7 +166,9 @@ bundle config set --global trust-policy MediumSecurity
121
166
 
122
167
  NOTE: Be prepared to track down certs for signed gems and add them the same way you added mine.
123
168
 
124
- ## 🔧 Basic Usage
169
+ </details>
170
+
171
+ ## ⚙️ Configuration
125
172
 
126
173
  In the standard `bundle gem my_lib` code you get the following in `lib/my_lib/version.rb`:
127
174
 
@@ -156,7 +203,9 @@ MyLib::Version.class_eval do
156
203
  end
157
204
  ```
158
205
 
159
- And now you have some version introspection methods available:
206
+ ## 🔧 Basic Usage
207
+
208
+ Now you have some version introspection methods available:
160
209
 
161
210
  ```ruby
162
211
  MyLib::Version.to_s # => "0.1.0"
@@ -191,7 +240,7 @@ end
191
240
 
192
241
  Your `version.rb` file now abides the Ruby convention of directory / path matching the namespace / class!
193
242
 
194
- ## Epoch Usage (Epoch Semantic Versioning, as of version 1.1.7)
243
+ ### Epoch Usage (Epoch Semantic Versioning, as of version 1.1.7)
195
244
 
196
245
  In the standard `bundle gem my_lib` code you get the following in `lib/my_lib/version.rb`:
197
246
 
@@ -388,6 +437,59 @@ RSpec.describe(MyLib::Version) do
388
437
  end
389
438
  end
390
439
  ```
440
+ ## 🦷 FLOSS Funding
441
+
442
+ While ruby-oauth tools are free software and will always be, the project would benefit immensely from some funding.
443
+ Raising a monthly budget of... "dollars" would make the project more sustainable.
444
+
445
+ We welcome both individual and corporate sponsors! We also offer a
446
+ wide array of funding channels to account for your preferences
447
+ (although currently [Open Collective][🖇osc] is our preferred funding platform).
448
+
449
+ **If you're working in a company that's making significant use of ruby-oauth tools we'd
450
+ appreciate it if you suggest to your company to become a ruby-oauth sponsor.**
451
+
452
+ You can support the development of ruby-oauth tools via
453
+ [GitHub Sponsors][🖇sponsor],
454
+ [Liberapay][⛳liberapay],
455
+ [PayPal][🖇paypal],
456
+ [Open Collective][🖇osc]
457
+ and [Tidelift][🏙️entsup-tidelift].
458
+
459
+ | 📍 NOTE |
460
+ |----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
461
+ | 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. |
462
+
463
+ ### Open Collective for Individuals
464
+
465
+ <!-- OPENCOLLECTIVE-INDIVIDUALS:START -->
466
+ No backers yet. Be the first!
467
+ <!-- OPENCOLLECTIVE-INDIVIDUALS:END -->
468
+
469
+ Support us with a monthly donation and help us continue our activities. [[Become a backer](https://opencollective.com/ruby-oauth#backer)]
470
+
471
+ ### Open Collective for Organizations
472
+
473
+ <!-- OPENCOLLECTIVE-ORGANIZATIONS:START -->
474
+ No sponsors yet. Be the first!
475
+ <!-- OPENCOLLECTIVE-ORGANIZATIONS:END -->
476
+
477
+ 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)]
478
+
479
+ ### Another way to support open-source
480
+
481
+ > How wonderful it is that nobody need wait a single moment before starting to improve the world.<br/>
482
+ >—Anne Frank
483
+
484
+ 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).
485
+
486
+ 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`.
487
+
488
+ I’m developing a new library, [floss_funding][🖇floss-funding-gem], designed to empower open-source developers like myself to get paid for the work we do, in a sustainable way. Please give it a look.
489
+
490
+ **[Floss-Funding.dev][🖇floss-funding.dev]: 👉️ No network calls. 👉️ No tracking. 👉️ No oversight. 👉️ Minimal crypto hashing. 💡 Easily disabled nags**
491
+
492
+ [![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]
391
493
 
392
494
  ## 🔐 Security
393
495
 
@@ -396,21 +498,29 @@ See [SECURITY.md][🔐security].
396
498
  ## 🤝 Contributing
397
499
 
398
500
  If you need some ideas of where to help, you could work on adding more code coverage,
399
- or if it is already 💯 (see [below](#code-coverage)) then check [issues][🤝issues], or [PRs][🤝pulls],
501
+ or if it is already 💯 (see [below](#code-coverage)) check [reek](REEK), [issues][🤝gh-issues], or [PRs][🤝gh-pulls],
400
502
  or use the gem and think about how it could be better.
401
503
 
402
504
  We [![Keep A Changelog][📗keep-changelog-img]][📗keep-changelog] so if you make changes, remember to update it.
403
505
 
404
506
  See [CONTRIBUTING.md][🤝contributing] for more detailed instructions.
405
507
 
508
+ ### 🚀 Release Instructions
509
+
510
+ See [CONTRIBUTING.md][🤝contributing].
511
+
406
512
  ### Code Coverage
407
513
 
408
- [![Coverage Graph][🔑codecov-g♻️]][🔑codecov]
514
+ [![Coverage Graph][🔑codecov-g]][🔑codecov]
515
+
516
+ [![Coveralls Test Coverage][🔑coveralls-img]][🔑coveralls]
517
+
518
+ [![QLTY Test Coverage][🔑qlty-covi]][🔑qlty-cov]
409
519
 
410
520
  ### 🪇 Code of Conduct
411
521
 
412
- Everyone interacting in this project's codebases, issue trackers,
413
- chat rooms and mailing lists is expected to follow the [![Contributor Covenant 2.1][🪇conduct-img]][🪇conduct].
522
+ Everyone interacting with this project's codebases, issue trackers,
523
+ chat rooms and mailing lists agrees to follow the [![Contributor Covenant 2.1][🪇conduct-img]][🪇conduct].
414
524
 
415
525
  ## 🌈 Contributors
416
526
 
@@ -418,56 +528,58 @@ chat rooms and mailing lists is expected to follow the [![Contributor Covenant 2
418
528
 
419
529
  Made with [contributors-img][🖐contrib-rocks].
420
530
 
421
- Also see GitLab Contributors: [https://gitlab.com/oauth-xx/version_gem/-/graphs/main][🚎contributors-gl]
531
+ Also see GitLab Contributors: [https://gitlab.com/ruby-oauth/version_gem/-/graphs/main][🚎contributors-gl]
422
532
 
423
- ## ⭐️ Star History
533
+ <details>
534
+ <summary>⭐️ Star History</summary>
424
535
 
425
- <a href="https://star-history.com/#oauth-xx/version_gem&Date">
536
+ <a href="https://star-history.com/#ruby-oauth/version_gem&Date">
426
537
  <picture>
427
- <source media="(prefers-color-scheme: dark)" srcset="https://api.star-history.com/svg?repos=oauth-xx/version_gem&type=Date&theme=dark" />
428
- <source media="(prefers-color-scheme: light)" srcset="https://api.star-history.com/svg?repos=oauth-xx/version_gem&type=Date" />
429
- <img alt="Star History Chart" src="https://api.star-history.com/svg?repos=oauth-xx/version_gem&type=Date" />
538
+ <source media="(prefers-color-scheme: dark)" srcset="https://api.star-history.com/svg?repos=ruby-oauth/version_gem&type=Date&theme=dark" />
539
+ <source media="(prefers-color-scheme: light)" srcset="https://api.star-history.com/svg?repos=ruby-oauth/version_gem&type=Date" />
540
+ <img alt="Star History Chart" src="https://api.star-history.com/svg?repos=ruby-oauth/version_gem&type=Date" />
430
541
  </picture>
431
542
  </a>
432
543
 
544
+ </details>
545
+
433
546
  ## 📌 Versioning
434
547
 
435
- This Library adheres to [![Epoch Semantic Versioning][📌semver-img]][📌semver].
548
+ This Library adheres to [![Semantic Versioning 2.0.0][📌semver-img]][📌semver].
436
549
  Violations of this scheme should be reported as bugs.
437
550
  Specifically, if a minor or patch version is released that breaks backward compatibility,
438
551
  a new version should be immediately released that restores compatibility.
439
- Breaking changes to the public API, including dropping a supported platform (i.e. minor version of Ruby),
440
- will only be introduced with new major versions.
441
- Epoch will only be bumped if there are dramatic changes, and that is not expected to happen ever.
552
+ Breaking changes to the public API will only be introduced with new major versions.
442
553
 
443
- ### 📌 Is "Platform Support" part of the public API?
554
+ > dropping support for a platform is both obviously and objectively a breaking change <br/>
555
+ >—Jordan Harband ([@ljharb](https://github.com/ljharb), maintainer of SemVer) [in SemVer issue 716][📌semver-breaking]
444
556
 
445
- Yes. But I'm obligated to include notes...
557
+ I understand that policy doesn't work universally ("exceptions to every rule!"),
558
+ but it is the policy here.
559
+ As such, in many cases it is good to specify a dependency on this library using
560
+ the [Pessimistic Version Constraint][📌pvc] with two digits of precision.
446
561
 
447
- SemVer should, but doesn't explicitly, say that dropping support for specific Platforms
448
- is a *breaking change* to an API.
449
- It is obvious to many, but not all, and since the spec is silent, the bike shedding is endless.
562
+ For example:
450
563
 
451
- > dropping support for a platform is both obviously and objectively a breaking change
564
+ ```ruby
565
+ spec.add_dependency("version_gem", "~> 1.1")
566
+ ```
452
567
 
453
- - Jordan Harband (@ljharb, maintainer of SemVer) [in SemVer issue 716][📌semver-breaking]
568
+ <details>
569
+ <summary>📌 Is "Platform Support" part of the public API? More details inside.</summary>
570
+
571
+ SemVer should, IMO, but doesn't explicitly, say that dropping support for specific Platforms
572
+ is a *breaking change* to an API.
573
+ It is obvious to many, but not all, and since the spec is silent, the bike shedding is endless.
454
574
 
455
575
  To get a better understanding of how SemVer is intended to work over a project's lifetime,
456
576
  read this article from the creator of SemVer:
457
577
 
458
578
  - ["Major Version Numbers are Not Sacred"][📌major-versions-not-sacred]
459
579
 
460
- As a result of this policy, and the interpretive lens used by the maintainer,
461
- you can (and should) specify a dependency on these libraries using
462
- the [Pessimistic Version Constraint][📌pvc] with two digits of precision.
463
-
464
- For example:
465
-
466
- ```ruby
467
- spec.add_dependency("version_gem", "~> 1.1")
468
- ```
580
+ </details>
469
581
 
470
- See [CHANGELOG.md][📌changelog] for list of releases.
582
+ See [CHANGELOG.md][📌changelog] for a list of releases.
471
583
 
472
584
  ## 📄 License
473
585
 
@@ -477,41 +589,87 @@ See [LICENSE.txt][📄license] for the official [Copyright Notice][📄copyright
477
589
 
478
590
  ### © Copyright
479
591
 
480
- <p>
481
- Copyright (c) 2022 - 2025 Peter H. Boling,
482
- <a href="https://railsbling.com">
483
- RailsBling.com
484
- <picture>
485
- <img alt="Rails Bling" height="20" src="https://railsbling.com/images/logos/RailsBling-TrainLogo.svg" />
486
- </picture>
487
- </a>
488
- </p>
592
+ <ul>
593
+ <li>
594
+ Copyright (c) 2022-2025 Peter H. Boling, of
595
+ <a href="https://discord.gg/3qme4XHNKN">
596
+ Galtzo.com
597
+ <picture>
598
+ <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">
599
+ </picture>
600
+ </a>, and version_gem contributors.
601
+ </li>
602
+ </ul>
489
603
 
490
- ## 🤑 One more thing
604
+ ## 🤑 A request for help
491
605
 
492
- You made it to the bottom of the page,
493
- so perhaps you'll indulge me for another 20 seconds.
494
- I maintain many dozens of gems, including this one,
495
- because I want Ruby to be a great place for people to solve problems, big and small.
496
- Please consider supporting my efforts via the giant yellow link below,
497
- or one of the others at the head of this README.
606
+ Maintainers have teeth and need to pay their dentists.
607
+ After getting laid off in an RIF in March and filled with many dozens of rejections,
608
+ I'm now spending ~60+ hours a week building open source tools.
609
+ I'm hoping to be able to pay for my kids' health insurance this month,
610
+ so if you value the work I am doing, I need your support.
611
+ Please consider sponsoring me or the project.
498
612
 
499
- [![Buy me a latte][🖇buyme-img]][🖇buyme]
613
+ To join the community or get help 👇️ Join the Discord.
614
+
615
+ [![Live Chat on Discord][✉️discord-invite-img-ftb]][✉️discord-invite]
616
+
617
+ To say "thanks for maintaining such a great tool" ☝️ Join the Discord or 👇️ send money.
618
+
619
+ [![Sponsor ruby-oauth/version_gem 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]
620
+
621
+ ### Please give the project a star ⭐ ♥.
622
+
623
+ Thanks for RTFM. ☺️
624
+
625
+ [⛳liberapay-img]: https://img.shields.io/liberapay/goal/pboling.svg?logo=liberapay&color=a51611&style=flat
626
+ [⛳liberapay-bottom-img]: https://img.shields.io/liberapay/goal/pboling.svg?style=for-the-badge&logo=liberapay&color=a51611
627
+ [⛳liberapay]: https://liberapay.com/pboling/donate
628
+ [🖇osc-all-img]: https://img.shields.io/opencollective/all/ruby-oauth
629
+ [🖇osc-sponsors-img]: https://img.shields.io/opencollective/sponsors/ruby-oauth
630
+ [🖇osc-backers-img]: https://img.shields.io/opencollective/backers/ruby-oauth
631
+ [🖇osc-backers]: https://opencollective.com/ruby-oauth#backer
632
+ [🖇osc-backers-i]: https://opencollective.com/ruby-oauth/backers/badge.svg?style=flat
633
+ [🖇osc-sponsors]: https://opencollective.com/ruby-oauth#sponsor
634
+ [🖇osc-sponsors-i]: https://opencollective.com/ruby-oauth/sponsors/badge.svg?style=flat
635
+ [🖇osc-all-bottom-img]: https://img.shields.io/opencollective/all/ruby-oauth?style=for-the-badge
636
+ [🖇osc-sponsors-bottom-img]: https://img.shields.io/opencollective/sponsors/ruby-oauth?style=for-the-badge
637
+ [🖇osc-backers-bottom-img]: https://img.shields.io/opencollective/backers/ruby-oauth?style=for-the-badge
638
+ [🖇osc]: https://opencollective.com/ruby-oauth
639
+ [🖇sponsor-img]: https://img.shields.io/badge/Sponsor_Me!-pboling.svg?style=social&logo=github
640
+ [🖇sponsor-bottom-img]: https://img.shields.io/badge/Sponsor_Me!-pboling-blue?style=for-the-badge&logo=github
641
+ [🖇sponsor]: https://github.com/sponsors/pboling
642
+ [🖇polar-img]: https://img.shields.io/badge/polar-donate-a51611.svg?style=flat
643
+ [🖇polar]: https://polar.sh/pboling
644
+ [🖇kofi-img]: https://img.shields.io/badge/ko--fi-✓-a51611.svg?style=flat
645
+ [🖇kofi]: https://ko-fi.com/O5O86SNP4
646
+ [🖇patreon-img]: https://img.shields.io/badge/patreon-donate-a51611.svg?style=flat
647
+ [🖇patreon]: https://patreon.com/galtzo
648
+ [🖇buyme-small-img]: https://img.shields.io/badge/buy_me_a_coffee-✓-a51611.svg?style=flat
649
+ [🖇buyme-img]: https://img.buymeacoffee.com/button-api/?text=Buy%20me%20a%20latte&emoji=&slug=pboling&button_colour=FFDD00&font_colour=000000&font_family=Cookie&outline_colour=000000&coffee_colour=ffffff
650
+ [🖇buyme]: https://www.buymeacoffee.com/pboling
651
+ [🖇paypal-img]: https://img.shields.io/badge/donate-paypal-a51611.svg?style=flat&logo=paypal
652
+ [🖇paypal-bottom-img]: https://img.shields.io/badge/donate-paypal-a51611.svg?style=for-the-badge&logo=paypal&color=0A0A0A
653
+ [🖇paypal]: https://www.paypal.com/paypalme/peterboling
654
+ [🖇floss-funding.dev]: https://floss-funding.dev
655
+ [🖇floss-funding-gem]: https://github.com/galtzo-floss/floss_funding
656
+ [✉️discord-invite]: https://discord.gg/3qme4XHNKN
657
+ [✉️discord-invite-img-ftb]: https://img.shields.io/discord/1373797679469170758?style=for-the-badge
500
658
 
501
659
  [✇bundle-group-pattern]: https://gist.github.com/pboling/4564780
502
- [🏘chat]: https://gitter.im/oauth-xx/version_gem
503
- [🏘chat-img]: https://img.shields.io/gitter/room/oauth-xx/version_gem.svg
504
- [⛳️gem-namespace]: https://github.com/oauth-xx/version_gem/blob/main/lib/version_gem.rb
505
- [⛳️namespace-img]: https://img.shields.io/badge/namespace-VersionGem-brightgreen.svg?style=flat&logo=ruby&logoColor=white
660
+ [⛳️gem-namespace]: https://github.com/ruby-oauth/version_gem
661
+ [⛳️namespace-img]: https://img.shields.io/badge/namespace-VersionGem-3C2D2D.svg?style=square&logo=ruby&logoColor=white
506
662
  [⛳️gem-name]: https://rubygems.org/gems/version_gem
507
- [⛳️name-img]: https://img.shields.io/badge/name-version__gem-brightgreen.svg?style=flat&logo=rubygems&logoColor=red
508
- [🚂bdfl-blog]: http://www.railsbling.com/tags/version_gem
509
- [🚂bdfl-blog-img]: https://img.shields.io/badge/blog-railsbling-0093D0.svg?style=for-the-badge&logo=rubyonrails&logoColor=orange
510
- [🚂bdfl-contact]: http://www.railsbling.com/contact
511
- [🚂bdfl-contact-img]: https://img.shields.io/badge/Contact-BDFL-0093D0.svg?style=flat&logo=rubyonrails&logoColor=red
663
+ [⛳️name-img]: https://img.shields.io/badge/name-version__gem-3C2D2D.svg?style=square&logo=rubygems&logoColor=red
664
+ [⛳️tag-img]: https://img.shields.io/github/tag/ruby-oauth/version_gem.svg
665
+ [⛳️tag]: http://github.com/ruby-oauth/version_gem/releases
666
+ [🚂maint-blog]: http://www.railsbling.com/tags/version_gem
667
+ [🚂maint-blog-img]: https://img.shields.io/badge/blog-railsbling-0093D0.svg?style=for-the-badge&logo=rubyonrails&logoColor=orange
668
+ [🚂maint-contact]: http://www.railsbling.com/contact
669
+ [🚂maint-contact-img]: https://img.shields.io/badge/Contact-Maintainer-0093D0.svg?style=flat&logo=rubyonrails&logoColor=red
512
670
  [💖🖇linkedin]: http://www.linkedin.com/in/peterboling
513
671
  [💖🖇linkedin-img]: https://img.shields.io/badge/PeterBoling-LinkedIn-0B66C2?style=flat&logo=newjapanprowrestling
514
- [💖✌️wellfound]: https://angel.co/u/peter-boling
672
+ [💖✌️wellfound]: https://wellfound.com/u/peter-boling
515
673
  [💖✌️wellfound-img]: https://img.shields.io/badge/peter--boling-orange?style=flat&logo=wellfound
516
674
  [💖💲crunchbase]: https://www.crunchbase.com/person/peter-boling
517
675
  [💖💲crunchbase-img]: https://img.shields.io/badge/peter--boling-purple?style=flat&logo=crunchbase
@@ -533,70 +691,64 @@ or one of the others at the head of this README.
533
691
  [👨🏼‍🏫expsup-upwork-img]: https://img.shields.io/badge/UpWork-13544E?style=for-the-badge&logo=Upwork&logoColor=white
534
692
  [👨🏼‍🏫expsup-codementor]: https://www.codementor.io/peterboling?utm_source=github&utm_medium=button&utm_term=peterboling&utm_campaign=github
535
693
  [👨🏼‍🏫expsup-codementor-img]: https://img.shields.io/badge/CodeMentor-Get_Help-1abc9c?style=for-the-badge&logo=CodeMentor&logoColor=white
536
- [🏙️entsup-tidelift]: https://tidelift.com/subscription
694
+ [🏙️entsup-tidelift]: https://tidelift.com/subscription/pkg/rubygems-version_gem?utm_source=rubygems-version_gem&utm_medium=referral&utm_campaign=readme
537
695
  [🏙️entsup-tidelift-img]: https://img.shields.io/badge/Tidelift_and_Sonar-Enterprise_Support-FD3456?style=for-the-badge&logo=sonar&logoColor=white
538
696
  [🏙️entsup-tidelift-sonar]: https://blog.tidelift.com/tidelift-joins-sonar
539
697
  [💁🏼‍♂️peterboling]: http://www.peterboling.com
540
698
  [🚂railsbling]: http://www.railsbling.com
541
699
  [📜src-gl-img]: https://img.shields.io/badge/GitLab-FBA326?style=for-the-badge&logo=Gitlab&logoColor=orange
542
- [📜src-gl]: https://gitlab.com/oauth-xx/version_gem/
700
+ [📜src-gl]: https://gitlab.com/ruby-oauth/version_gem/
701
+ [📜src-cb-img]: https://img.shields.io/badge/CodeBerg-4893CC?style=for-the-badge&logo=CodeBerg&logoColor=blue
702
+ [📜src-cb]: https://codeberg.org/ruby-oauth/version_gem
543
703
  [📜src-gh-img]: https://img.shields.io/badge/GitHub-238636?style=for-the-badge&logo=Github&logoColor=green
544
- [📜src-gh]: https://github.com/oauth-xx/version_gem
704
+ [📜src-gh]: https://github.com/ruby-oauth/version_gem
545
705
  [📜docs-cr-rd-img]: https://img.shields.io/badge/RubyDoc-Current_Release-943CD2?style=for-the-badge&logo=readthedocs&logoColor=white
546
- [📜docs-head-rd-img]: https://img.shields.io/badge/RubyDoc-HEAD-943CD2?style=for-the-badge&logo=readthedocs&logoColor=white
547
- [📜wiki]: https://gitlab.com/oauth-xx/version_gem/-/wikis/home
706
+ [📜docs-head-rd-img]: https://img.shields.io/badge/YARD_on_Galtzo.com-HEAD-943CD2?style=for-the-badge&logo=readthedocs&logoColor=white
707
+ [📜wiki]: https://gitlab.com/ruby-oauth/version_gem/-/wikis/home
548
708
  [📜wiki-img]: https://img.shields.io/badge/wiki-examples-943CD2.svg?style=for-the-badge&logo=Wiki&logoColor=white
549
709
  [👽dl-rank]: https://rubygems.org/gems/version_gem
550
710
  [👽dl-ranki]: https://img.shields.io/gem/rd/version_gem.svg
551
- [👽oss-help]: https://www.codetriage.com/oauth-xx/version_gem
552
- [👽oss-helpi]: https://www.codetriage.com/oauth-xx/version_gem/badges/users.svg
711
+ [👽oss-help]: https://www.codetriage.com/ruby-oauth/version_gem
712
+ [👽oss-helpi]: https://www.codetriage.com/ruby-oauth/version_gem/badges/users.svg
553
713
  [👽version]: https://rubygems.org/gems/version_gem
554
714
  [👽versioni]: https://img.shields.io/gem/v/version_gem.svg
555
- [🔑cc-mnt]: https://qlty.sh/gh/oauth-xx/projects/version_gem
556
- [🔑cc-mnti♻️]: https://qlty.sh/badges/19404e90-9168-451a-8dac-882382cb768d/maintainability.svg
557
- [🔑cc-cov]: https://qlty.sh/gh/oauth-xx/projects/version_gem
558
- [🔑cc-covi♻️]: https://qlty.sh/badges/19404e90-9168-451a-8dac-882382cb768d/test_coverage.svg
559
- [🔑codecov]: https://codecov.io/gh/oauth-xx/version_gem
560
- [🔑codecovi♻️]: https://codecov.io/gh/oauth-xx/version_gem/branch/main/graph/badge.svg?token=cc6UdZCpAL
561
- [🔑coveralls]: https://coveralls.io/github/oauth-xx/version_gem?branch=main
562
- [🔑coveralls-img]: https://coveralls.io/repos/github/oauth-xx/version_gem/badge.svg?branch=main
563
- [🔑depfu]: https://depfu.com/github/oauth-xx/version_gem
564
- [🔑depfui♻️]: https://badges.depfu.com/badges/6c9b45362951b872127f9e46d39bed76/count.svg
565
- [🖐codeQL]: https://github.com/oauth-xx/version_gem/security/code-scanning
566
- [🖐codeQL-img]: https://github.com/oauth-xx/version_gem/actions/workflows/codeql-analysis.yml/badge.svg
567
- [🚎1-an-wf]: https://github.com/oauth-xx/version_gem/actions/workflows/ancient.yml
568
- [🚎1-an-wfi]: https://github.com/oauth-xx/version_gem/actions/workflows/ancient.yml/badge.svg
569
- [🚎2-cov-wf]: https://github.com/oauth-xx/version_gem/actions/workflows/coverage.yml
570
- [🚎2-cov-wfi]: https://github.com/oauth-xx/version_gem/actions/workflows/coverage.yml/badge.svg
571
- [🚎3-hd-wf]: https://github.com/oauth-xx/version_gem/actions/workflows/heads.yml
572
- [🚎3-hd-wfi]: https://github.com/oauth-xx/version_gem/actions/workflows/heads.yml/badge.svg
573
- [🚎4-lg-wf]: https://github.com/oauth-xx/version_gem/actions/workflows/legacy.yml
574
- [🚎4-lg-wfi]: https://github.com/oauth-xx/version_gem/actions/workflows/legacy.yml/badge.svg
575
- [🚎5-st-wf]: https://github.com/oauth-xx/version_gem/actions/workflows/style.yml
576
- [🚎5-st-wfi]: https://github.com/oauth-xx/version_gem/actions/workflows/style.yml/badge.svg
577
- [🚎6-s-wf]: https://github.com/oauth-xx/version_gem/actions/workflows/supported.yml
578
- [🚎6-s-wfi]: https://github.com/oauth-xx/version_gem/actions/workflows/supported.yml/badge.svg
579
- [🚎7-us-wf]: https://github.com/oauth-xx/version_gem/actions/workflows/unsupported.yml
580
- [🚎7-us-wfi]: https://github.com/oauth-xx/version_gem/actions/workflows/unsupported.yml/badge.svg
581
- [🚎9-t-wf]: https://github.com/oauth-xx/version_gem/actions/workflows/truffle.yml
582
- [🚎9-t-wfi]: https://github.com/oauth-xx/version_gem/actions/workflows/truffle.yml/badge.svg
583
- [🚎10-j-wf]: https://github.com/oauth-xx/version_gem/actions/workflows/jruby.yml
584
- [🚎10-j-wfi]: https://github.com/oauth-xx/version_gem/actions/workflows/jruby.yml/badge.svg
585
- [🚎11-c-wf]: https://github.com/oauth-xx/version_gem/actions/workflows/current.yml
586
- [🚎11-c-wfi]: https://github.com/oauth-xx/version_gem/actions/workflows/current.yml/badge.svg
587
- [⛳liberapay-img]: https://img.shields.io/liberapay/goal/pboling.svg?logo=liberapay
588
- [⛳liberapay]: https://liberapay.com/pboling/donate
589
- [🖇sponsor-img]: https://img.shields.io/badge/Sponsor_Me!-pboling.svg?style=social&logo=github
590
- [🖇sponsor]: https://github.com/sponsors/pboling
591
- [🖇polar-img]: https://img.shields.io/badge/polar-donate-yellow.svg
592
- [🖇polar]: https://polar.sh/pboling
593
- [🖇kofi-img]: https://img.shields.io/badge/a_more_different_coffee-✓-yellow.svg
594
- [🖇kofi]: https://ko-fi.com/O5O86SNP4
595
- [🖇patreon-img]: https://img.shields.io/badge/patreon-donate-yellow.svg
596
- [🖇patreon]: https://patreon.com/galtzo
597
- [🖇buyme-img]: https://img.buymeacoffee.com/button-api/?text=Buy%20me%20a%20latte&emoji=&slug=pboling&button_colour=FFDD00&font_colour=000000&font_family=Cookie&outline_colour=000000&coffee_colour=ffffff
598
- [🖇buyme]: https://www.buymeacoffee.com/pboling
599
- [🖇buyme-small-img]: https://img.shields.io/badge/buy_me_a_coffee-✓-yellow.svg?style=flat
715
+ [🔑qlty-mnt]: https://qlty.sh/gh/ruby-oauth/projects/version_gem
716
+ [🔑qlty-mnti]: https://qlty.sh/gh/ruby-oauth/projects/version_gem/maintainability.svg
717
+ [🔑qlty-cov]: https://qlty.sh/gh/ruby-oauth/projects/version_gem/metrics/code?sort=coverageRating
718
+ [🔑qlty-covi]: https://qlty.sh/gh/ruby-oauth/projects/version_gem/coverage.svg
719
+ [🔑codecov]: https://codecov.io/gh/ruby-oauth/version_gem
720
+ [🔑codecovi]: https://codecov.io/gh/ruby-oauth/version_gem/graph/badge.svg
721
+ [🔑coveralls]: https://coveralls.io/github/ruby-oauth/version_gem?branch=main
722
+ [🔑coveralls-img]: https://coveralls.io/repos/github/ruby-oauth/version_gem/badge.svg?branch=main
723
+ [🖐codeQL]: https://github.com/ruby-oauth/version_gem/security/code-scanning
724
+ [🖐codeQL-img]: https://github.com/ruby-oauth/version_gem/actions/workflows/codeql-analysis.yml/badge.svg
725
+ [🚎1-an-wf]: https://github.com/ruby-oauth/version_gem/actions/workflows/ancient.yml
726
+ [🚎1-an-wfi]: https://github.com/ruby-oauth/version_gem/actions/workflows/ancient.yml/badge.svg
727
+ [🚎2-cov-wf]: https://github.com/ruby-oauth/version_gem/actions/workflows/coverage.yml
728
+ [🚎2-cov-wfi]: https://github.com/ruby-oauth/version_gem/actions/workflows/coverage.yml/badge.svg
729
+ [🚎3-hd-wf]: https://github.com/ruby-oauth/version_gem/actions/workflows/heads.yml
730
+ [🚎3-hd-wfi]: https://github.com/ruby-oauth/version_gem/actions/workflows/heads.yml/badge.svg
731
+ [🚎4-lg-wf]: https://github.com/ruby-oauth/version_gem/actions/workflows/legacy.yml
732
+ [🚎4-lg-wfi]: https://github.com/ruby-oauth/version_gem/actions/workflows/legacy.yml/badge.svg
733
+ [🚎5-st-wf]: https://github.com/ruby-oauth/version_gem/actions/workflows/style.yml
734
+ [🚎5-st-wfi]: https://github.com/ruby-oauth/version_gem/actions/workflows/style.yml/badge.svg
735
+ [🚎6-s-wf]: https://github.com/ruby-oauth/version_gem/actions/workflows/supported.yml
736
+ [🚎6-s-wfi]: https://github.com/ruby-oauth/version_gem/actions/workflows/supported.yml/badge.svg
737
+ [🚎7-us-wf]: https://github.com/ruby-oauth/version_gem/actions/workflows/unsupported.yml
738
+ [🚎7-us-wfi]: https://github.com/ruby-oauth/version_gem/actions/workflows/unsupported.yml/badge.svg
739
+ [🚎8-ho-wf]: https://github.com/ruby-oauth/version_gem/actions/workflows/hoary.yml
740
+ [🚎8-ho-wfi]: https://github.com/ruby-oauth/version_gem/actions/workflows/hoary.yml/badge.svg
741
+ [🚎9-t-wf]: https://github.com/ruby-oauth/version_gem/actions/workflows/truffle.yml
742
+ [🚎9-t-wfi]: https://github.com/ruby-oauth/version_gem/actions/workflows/truffle.yml/badge.svg
743
+ [🚎10-j-wf]: https://github.com/ruby-oauth/version_gem/actions/workflows/jruby.yml
744
+ [🚎10-j-wfi]: https://github.com/ruby-oauth/version_gem/actions/workflows/jruby.yml/badge.svg
745
+ [🚎11-c-wf]: https://github.com/ruby-oauth/version_gem/actions/workflows/current.yml
746
+ [🚎11-c-wfi]: https://github.com/ruby-oauth/version_gem/actions/workflows/current.yml/badge.svg
747
+ [🚎13-🔒️-wf]: https://github.com/ruby-oauth/version_gem/actions/workflows/locked_deps.yml
748
+ [🚎13-🔒️-wfi]: https://github.com/ruby-oauth/version_gem/actions/workflows/locked_deps.yml/badge.svg
749
+ [🚎14-🔓️-wf]: https://github.com/ruby-oauth/version_gem/actions/workflows/unlocked_deps.yml
750
+ [🚎14-🔓️-wfi]: https://github.com/ruby-oauth/version_gem/actions/workflows/unlocked_deps.yml/badge.svg
751
+ [💎ruby-2.2i]: https://img.shields.io/badge/Ruby-2.2_(%F0%9F%9A%ABCI)-AABBCC?style=for-the-badge&logo=ruby&logoColor=white
600
752
  [💎ruby-2.3i]: https://img.shields.io/badge/Ruby-2.3-DF00CA?style=for-the-badge&logo=ruby&logoColor=white
601
753
  [💎ruby-2.4i]: https://img.shields.io/badge/Ruby-2.4-DF00CA?style=for-the-badge&logo=ruby&logoColor=white
602
754
  [💎ruby-2.5i]: https://img.shields.io/badge/Ruby-2.5-DF00CA?style=for-the-badge&logo=ruby&logoColor=white
@@ -608,48 +760,58 @@ or one of the others at the head of this README.
608
760
  [💎ruby-3.3i]: https://img.shields.io/badge/Ruby-3.3-CC342D?style=for-the-badge&logo=ruby&logoColor=white
609
761
  [💎ruby-c-i]: https://img.shields.io/badge/Ruby-current-CC342D?style=for-the-badge&logo=ruby&logoColor=green
610
762
  [💎ruby-headi]: https://img.shields.io/badge/Ruby-HEAD-CC342D?style=for-the-badge&logo=ruby&logoColor=blue
611
- [💎truby-22.3i]: https://img.shields.io/badge/Truffle_Ruby-22.3-34BCB1?style=for-the-badge&logo=ruby&logoColor=pink
612
- [💎truby-23.0i]: https://img.shields.io/badge/Truffle_Ruby-23.0-34BCB1?style=for-the-badge&logo=ruby&logoColor=pink
763
+ [💎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
764
+ [💎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
613
765
  [💎truby-23.1i]: https://img.shields.io/badge/Truffle_Ruby-23.1-34BCB1?style=for-the-badge&logo=ruby&logoColor=pink
614
766
  [💎truby-c-i]: https://img.shields.io/badge/Truffle_Ruby-current-34BCB1?style=for-the-badge&logo=ruby&logoColor=green
615
767
  [💎truby-headi]: https://img.shields.io/badge/Truffle_Ruby-HEAD-34BCB1?style=for-the-badge&logo=ruby&logoColor=blue
616
- [💎jruby-9.1i]: https://img.shields.io/badge/JRuby-9.1-FBE742?style=for-the-badge&logo=ruby&logoColor=red
617
- [💎jruby-9.2i]: https://img.shields.io/badge/JRuby-9.2-FBE742?style=for-the-badge&logo=ruby&logoColor=red
618
- [💎jruby-9.3i]: https://img.shields.io/badge/JRuby-9.3-FBE742?style=for-the-badge&logo=ruby&logoColor=red
768
+ [💎jruby-9.1i]: https://img.shields.io/badge/JRuby-9.1_(%F0%9F%9A%ABCI)-AABBCC?style=for-the-badge&logo=ruby&logoColor=red
769
+ [💎jruby-9.2i]: https://img.shields.io/badge/JRuby-9.2_(%F0%9F%9A%ABCI)-AABBCC?style=for-the-badge&logo=ruby&logoColor=red
770
+ [💎jruby-9.3i]: https://img.shields.io/badge/JRuby-9.3_(%F0%9F%9A%ABCI)-AABBCC?style=for-the-badge&logo=ruby&logoColor=red
619
771
  [💎jruby-9.4i]: https://img.shields.io/badge/JRuby-9.4-FBE742?style=for-the-badge&logo=ruby&logoColor=red
620
772
  [💎jruby-c-i]: https://img.shields.io/badge/JRuby-current-FBE742?style=for-the-badge&logo=ruby&logoColor=green
621
773
  [💎jruby-headi]: https://img.shields.io/badge/JRuby-HEAD-FBE742?style=for-the-badge&logo=ruby&logoColor=blue
622
- [🤝issues]: https://github.com/oauth-xx/version_gem/issues
623
- [🤝pulls]: https://github.com/oauth-xx/version_gem/pulls
774
+ [🤝gh-issues]: https://github.com/ruby-oauth/version_gem/issues
775
+ [🤝gh-pulls]: https://github.com/ruby-oauth/version_gem/pulls
776
+ [🤝gl-issues]: https://gitlab.com/ruby-oauth/version_gem/-/issues
777
+ [🤝gl-pulls]: https://gitlab.com/ruby-oauth/version_gem/-/merge_requests
778
+ [🤝cb-issues]: https://codeberg.org/ruby-oauth/version_gem/issues
779
+ [🤝cb-pulls]: https://codeberg.org/ruby-oauth/version_gem/pulls
780
+ [🤝cb-donate]: https://donate.codeberg.org/
624
781
  [🤝contributing]: CONTRIBUTING.md
625
- [🔑codecov-g♻️]: https://codecov.io/gh/oauth-xx/version_gem/graphs/tree.svg?token=cc6UdZCpAL
782
+ [🔑codecov-g]: https://codecov.io/gh/ruby-oauth/version_gem/graphs/tree.svg
626
783
  [🖐contrib-rocks]: https://contrib.rocks
627
- [🖐contributors]: https://github.com/oauth-xx/version_gem/graphs/contributors
628
- [🖐contributors-img]: https://contrib.rocks/image?repo=oauth-xx/version_gem
629
- [🚎contributors-gl]: https://gitlab.com/oauth-xx/version_gem/-/graphs/main
784
+ [🖐contributors]: https://github.com/ruby-oauth/version_gem/graphs/contributors
785
+ [🖐contributors-img]: https://contrib.rocks/image?repo=ruby-oauth/version_gem
786
+ [🚎contributors-gl]: https://gitlab.com/ruby-oauth/version_gem/-/graphs/main
630
787
  [🪇conduct]: CODE_OF_CONDUCT.md
631
- [🪇conduct-img]: https://img.shields.io/badge/Contributor_Covenant-2.1-4baaaa.svg
788
+ [🪇conduct-img]: https://img.shields.io/badge/Contributor_Covenant-2.1-259D6C.svg
632
789
  [📌pvc]: http://guides.rubygems.org/patterns/#pessimistic-version-constraint
633
- [📌semver]: https://antfu.me/posts/epoch-semver
634
- [📌semver-img]: https://img.shields.io/badge/epoch-semver-FFDD67.svg?style=flat
790
+ [📌semver]: https://semver.org/spec/v2.0.0.html
791
+ [📌semver-img]: https://img.shields.io/badge/semver-2.0.0-259D6C.svg?style=flat
635
792
  [📌semver-breaking]: https://github.com/semver/semver/issues/716#issuecomment-869336139
636
793
  [📌major-versions-not-sacred]: https://tom.preston-werner.com/2022/05/23/major-version-numbers-are-not-sacred.html
637
794
  [📌changelog]: CHANGELOG.md
638
795
  [📗keep-changelog]: https://keepachangelog.com/en/1.0.0/
639
- [📗keep-changelog-img]: https://img.shields.io/badge/keep--a--changelog-1.0.0-FFDD67.svg?style=flat
796
+ [📗keep-changelog-img]: https://img.shields.io/badge/keep--a--changelog-1.0.0-34495e.svg?style=flat
640
797
  [📌gitmoji]:https://gitmoji.dev
641
- [📌gitmoji-img]:https://img.shields.io/badge/gitmoji-%20😜%20😍-FFDD67.svg?style=flat-square
798
+ [📌gitmoji-img]:https://img.shields.io/badge/gitmoji_commits-%20😜%20😍-34495e.svg?style=flat-square
642
799
  [🧮kloc]: https://www.youtube.com/watch?v=dQw4w9WgXcQ
643
- [🧮kloc-img]: https://img.shields.io/badge/KLOC-0.117-FFDD67.svg?style=for-the-badge&logo=YouTube&logoColor=blue
800
+ [🧮kloc-img]: https://img.shields.io/badge/KLOC-0.118-FFDD67.svg?style=for-the-badge&logo=YouTube&logoColor=blue
644
801
  [🔐security]: SECURITY.md
645
- [🔐security-img]: https://img.shields.io/badge/security-policy-brightgreen.svg?style=flat
802
+ [🔐security-img]: https://img.shields.io/badge/security-policy-259D6C.svg?style=flat
646
803
  [📄copyright-notice-explainer]: https://opensource.stackexchange.com/questions/5778/why-do-licenses-such-as-the-mit-license-specify-a-single-year
647
804
  [📄license]: LICENSE.txt
648
805
  [📄license-ref]: https://opensource.org/licenses/MIT
649
- [📄license-img]: https://img.shields.io/badge/License-MIT-green.svg
806
+ [📄license-img]: https://img.shields.io/badge/License-MIT-259D6C.svg
650
807
  [📄ilo-declaration]: https://www.ilo.org/declaration/lang--en/index.htm
651
- [📄ilo-declaration-img]: https://img.shields.io/badge/ILO_Fundamental_Principles-✓-brightgreen.svg?style=flat
808
+ [📄ilo-declaration-img]: https://img.shields.io/badge/ILO_Fundamental_Principles-✓-259D6C.svg?style=flat
652
809
  [🚎yard-current]: http://rubydoc.info/gems/version_gem
653
- [🚎yard-head]: https://rubydoc.info/github/oauth-xx/version_gem/main
654
- [💎stone_checksums]: https://github.com/pboling/stone_checksums
655
- [💎SHA_checksums]: https://gitlab.com/oauth-xx/version_gem/-/tree/main/checksums
810
+ [🚎yard-head]: https://version-gem.galtzo.com
811
+ [💎stone_checksums]: https://github.com/galtzo-floss/stone_checksums
812
+ [💎SHA_checksums]: https://gitlab.com/ruby-oauth/version_gem/-/tree/main/checksums
813
+ [💎rlts]: https://github.com/rubocop-lts/rubocop-lts
814
+ [💎rlts-img]: https://img.shields.io/badge/code_style_%26_linting-rubocop--lts-34495e.svg?plastic&logo=ruby&logoColor=white
815
+ [💎appraisal2]: https://github.com/appraisal-rb/appraisal2
816
+ [💎appraisal2-img]: https://img.shields.io/badge/appraised_by-appraisal2-34495e.svg?plastic&logo=ruby&logoColor=white
817
+ [💎d-in-dvcs]: https://railsbling.com/posts/dvcs/put_the_d_in_dvcs/