stone_checksums 1.0.3 → 1.0.4

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,54 +1,25 @@
1
- | 📍 NOTE |
2
- |-------------------------------------------------------------------------------------------------------------------------------------------------------------------|
3
- | RubyGems (the [GitHub org][rubygems-org], not the website) [suffered][draper-security] a [hostile takeover][ellen-takeover] in September 2025. |
4
- | Ultimately [4 maintainers][simi-removed] were [hard removed][martin-removed] and a reason has been given for only 1 of those, while 2 others resigned in protest. |
5
- | It is a [complicated story][draper-takeover] which is difficult to [parse quickly][draper-lies]. |
6
- | I'm adding notes like this to gems because I [don't condone theft][draper-theft] of repositories or gems from their rightful owners. |
7
- | If a similar theft happened with my repos/gems, I'd hope some would stand up for me. |
8
- | Disenfranchised former-maintainers have started [gem.coop][gem-coop]. |
9
- | Once available I will publish there exclusively; unless RubyCentral makes amends with the community. |
10
- | The ["Technology for Humans: Joel Draper"][reinteractive-podcast] podcast episode by [reinteractive][reinteractive] is the most cogent summary I'm aware of. |
11
- | See [here][gem-naming], [here][gem-coop] and [here][martin-ann] for more info on what comes next. |
12
- | What I'm doing: A (WIP) proposal for [bundler/gem scopes][gem-scopes], and a (WIP) proposal for a federated [gem server][gem-server]. |
13
-
14
- [rubygems-org]: https://github.com/rubygems/
15
- [draper-security]: https://joel.drapper.me/p/ruby-central-security-measures/
16
- [draper-takeover]: https://joel.drapper.me/p/ruby-central-takeover/
17
- [ellen-takeover]: https://pup-e.com/blog/goodbye-rubygems/
18
- [simi-removed]: https://www.reddit.com/r/ruby/s/gOk42POCaV
19
- [martin-removed]: https://bsky.app/profile/martinemde.com/post/3m3occezxxs2q
20
- [draper-lies]: https://joel.drapper.me/p/ruby-central-fact-check/
21
- [draper-theft]: https://joel.drapper.me/p/ruby-central/
22
- [reinteractive]: https://reinteractive.com/ruby-on-rails
23
- [gem-coop]: https://gem.coop
24
- [gem-naming]: https://github.com/gem-coop/gem.coop/issues/12
25
- [martin-ann]: https://martinemde.com/2025/10/05/announcing-gem-coop.html
26
- [gem-scopes]: https://github.com/galtzo-floss/bundle-namespace
27
- [gem-server]: https://github.com/galtzo-floss/gem-server
28
- [reinteractive-podcast]: https://youtu.be/_H4qbtC5qzU?si=BvuBU90R2wAqD2E6
29
-
30
- [![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] [![stone_checksums Logo by Aboling0, CC BY-SA 4.0][🖼️stone_checksums-i]][🖼️stone_checksums]
31
-
32
- [🖼️galtzo-i]: https://logos.galtzo.com/assets/images/galtzo-floss/avatar-192px.svg
33
- [🖼️galtzo-discord]: https://discord.gg/3qme4XHNKN
34
- [🖼️ruby-lang-i]: https://logos.galtzo.com/assets/images/ruby-lang/avatar-192px.svg
35
- [🖼️ruby-lang]: https://www.ruby-lang.org/
36
- [🖼️stone_checksums-i]: https://logos.galtzo.com/assets/images/galtzo-floss/stone_checksums/avatar-192px.svg
37
- [🖼️stone_checksums]: https://github.com/galtzo-floss/stone_checksums
38
-
39
- # 🗿 StoneChecksums - Generate SHA-256 and SHA-512 checksums of a RubyGem
40
-
41
- [![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]
42
-
43
- `if ci_badges.map(&:color).detect { it != "green"}` ☝️ [let me know][🖼️galtzo-discord], as I may have missed the [discord notification][🖼️galtzo-discord].
1
+ <a href="https://github.com/galtzo-floss"><img alt="galtzo-floss Logo by Aboling0, CC BY-SA 4.0" src="https://logos.galtzo.com/assets/images/galtzo-floss/avatar-128px.svg" width="14%" align="right"/></a>
2
+
3
+ # 🗿 StoneChecksums
4
+
5
+ [![Version][👽versioni]][👽version] [![GitHub tag (latest SemVer)][⛳️tag-img]][⛳️tag] [![License: MIT][📄license-img]][📄license] [![Downloads Rank][👽dl-ranki]][👽dl-rank] [![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 Test Coverage][🚎2-cov-wfi]][🚎2-cov-wf] [![CI Style][🚎5-st-wfi]][🚎5-st-wf] [![Apache SkyWalking Eyes License Compatibility Check][🚎15-🪪-wfi]][🚎15-🪪-wf]
6
+
7
+ `if ci_badges.map(&:color).detect { it != "green"}` ☝️ [let me know][✉️discord-invite], as I may have missed the [discord notification][✉️discord-invite].
44
8
 
45
9
  ---
46
10
 
47
11
  `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.
48
12
 
49
- [![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]
13
+ [![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 at ko-fi.com][🖇kofi-img]][🖇kofi]
14
+
15
+ <details markdown="1">
16
+ <summary>👣 How will this project approach the September 2025 hostile takeover of RubyGems? 🚑️</summary>
17
+
18
+ I've summarized my thoughts in [this blog post](https://dev.to/galtzo/hostile-takeover-of-rubygems-my-thoughts-5hlo).
19
+
20
+ </details>
50
21
 
51
- ## 🌻 Synopsis
22
+ ## 🌻 Synopsis <a href="https://discord.gg/3qme4XHNKN"><img alt="Galtzo FLOSS Logo by Aboling0, CC BY-SA 4.0" src="https://logos.galtzo.com/assets/images/galtzo-floss/avatar-128px.svg" width="8%" align="right"/></a> <a href="https://ruby-toolbox.com"><img alt="ruby-lang Logo, Yukihiro Matsumoto, Ruby Visual Identity Team, CC BY-SA 2.5" src="https://logos.galtzo.com/assets/images/ruby-lang/avatar-128px.svg" width="8%" align="right"/></a>
52
23
 
53
24
  Generate SHA-256 and SHA-512 checksums of a rubygem library,
54
25
  and commit them to your repository.
@@ -63,39 +34,60 @@ bin/generate_checksums
63
34
 
64
35
  ## 💡 Info you can shake a stick at
65
36
 
66
- | Tokens to Remember | [![Gem name][⛳️name-img]][⛳️gem-name] [![Gem namespace][⛳️namespace-img]][⛳️gem-namespace] |
37
+ | Tokens to Remember | [![Gem name][⛳️name-img]][⛳️gem-name] [![Gem namespace][⛳️namespace-img]][⛳️gem-namespace] |
67
38
  |-------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
68
- | 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] |
69
- | 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] |
70
- | 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] |
71
- | 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] |
72
- | 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] |
73
- | 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] |
74
- | 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] |
75
- | 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] |
76
- | 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] |
77
- | 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] |
78
- | `...` 💖 | [![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] |
39
+ | Works with JRuby | [![JRuby 9.2 Compat][💎jruby-9.2i]][🚎jruby-9.2-wf] [![JRuby 9.3 Compat][💎jruby-9.3i]][🚎jruby-9.3-wf] <br/> [![JRuby 9.4 Compat][💎jruby-9.4i]][🚎jruby-9.4-wf] [![JRuby 10.0 Compat][💎jruby-10.0i]][🚎jruby-10.0-wf] [![JRuby current Compat][💎jruby-c-i]][🚎10-j-wf] [![JRuby HEAD Compat][💎jruby-headi]][🚎3-hd-wf]|
40
+ | Works with Truffle Ruby | [![Truffle Ruby 22.3 Compat][💎truby-22.3i]][🚎truby-22.3-wf] [![Truffle Ruby 23.0 Compat][💎truby-23.0i]][🚎truby-23.0-wf] [![Truffle Ruby 23.1 Compat][💎truby-23.1i]][🚎truby-23.1-wf] <br/> [![Truffle Ruby 24.2 Compat][💎truby-24.2i]][🚎truby-24.2-wf] [![Truffle Ruby 25.0 Compat][💎truby-25.0i]][🚎truby-25.0-wf] [![Truffle Ruby 33.0 Compat][💎truby-33.0i]][🚎truby-33.0-wf] [![Truffle Ruby current Compat][💎truby-c-i]][🚎9-t-wf] [![Truffle Ruby HEAD Compat][💎truby-headi]][🚎3-hd-wf]|
41
+ | Works with MRI Ruby 4 | [![Ruby current Compat][💎ruby-c-i]][🚎11-c-wf] [![Ruby HEAD Compat][💎ruby-headi]][🚎3-hd-wf]|
42
+ | Works with MRI Ruby 3 | [![Ruby 3.0 Compat][💎ruby-3.0i]][🚎ruby-3.0-wf] [![Ruby 3.1 Compat][💎ruby-3.1i]][🚎ruby-3.1-wf] [![Ruby 3.2 Compat][💎ruby-3.2i]][🚎ruby-3.2-wf] [![Ruby 3.3 Compat][💎ruby-3.3i]][🚎ruby-3.3-wf] [![Ruby 3.4 Compat][💎ruby-3.4i]][🚎ruby-3.4-wf]|
43
+ | Works with MRI Ruby 2 | ![Ruby 2.2 Compat][💎ruby-2.2i] ![Ruby 2.3 Compat][💎ruby-2.3i] <br/> [![Ruby 2.4 Compat][💎ruby-2.4i]][🚎ruby-2.4-wf] [![Ruby 2.5 Compat][💎ruby-2.5i]][🚎ruby-2.5-wf] [![Ruby 2.6 Compat][💎ruby-2.6i]][🚎ruby-2.6-wf] [![Ruby 2.7 Compat][💎ruby-2.7i]][🚎ruby-2.7-wf]|
44
+ | 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] |
45
+ | 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] |
46
+ | 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] |
47
+ | Compliance | [![License: MIT][📄license-img]][📄license] [![Apache license compatibility: Category A][📄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] |
48
+ | 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] |
49
+ | 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] |
50
+ | `...` 💖 | [![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] |
79
51
 
80
52
  ### Compatibility
81
53
 
82
54
  Compatible with MRI Ruby 2.2.0+, and concordant releases of JRuby, and TruffleRuby.
55
+ CI workflows and Appraisals are generated for MRI Ruby 2.4+.
56
+ This test floor is configured by `ruby.test_minimum` in `.kettle-jem.yml` and
57
+ may be higher than the gem's runtime compatibility floor when legacy Rubies are
58
+ not practical for the current toolchain.
59
+
60
+ <a href="https://github.com/kettle-dev"><img alt="kettle-dev Logo by Aboling0, CC BY-SA 4.0" src="https://logos.galtzo.com/assets/images/kettle-dev/avatar-128px.svg" width="14%" align="right"/></a>
61
+
62
+ The _amazing_ test matrix is powered by the kettle-dev stack.
83
63
 
84
- | 🚚 _Amazing_ test matrix was brought to you by | 🔎 appraisal2 🔎 and the color 💚 green 💚 |
85
- |------------------------------------------------|--------------------------------------------------------|
86
- | 👟 Check it out! | ✨ [github.com/appraisal-rb/appraisal2][💎appraisal2] ✨ |
64
+ <details markdown="1">
65
+ <summary>How kettle-dev manages complexity in tests</summary>
66
+
67
+ | Gem | Source | Role | Daily download rank |
68
+ |-----|--------|------|---------------------|
69
+ | [appraisal2](https://bestgems.org/gems/appraisal2) | [GitHub](https://github.com/appraisal-rb/appraisal2) | multi-dependency Appraisal matrix generation | [![Daily download rank for appraisal2](https://img.shields.io/gem/rd/appraisal2.svg?style=flat-square)](https://bestgems.org/gems/appraisal2) |
70
+ | [appraisal2-rubocop](https://bestgems.org/gems/appraisal2-rubocop) | [GitHub](https://github.com/appraisal-rb/appraisal2-rubocop) | RuboCop Appraisal generator integration | [![Daily download rank for appraisal2-rubocop](https://img.shields.io/gem/rd/appraisal2-rubocop.svg?style=flat-square)](https://bestgems.org/gems/appraisal2-rubocop) |
71
+ | [kettle-dev](https://bestgems.org/gems/kettle-dev) | [GitHub](https://github.com/kettle-dev/kettle-dev) | development, release, and CI workflow tooling | [![Daily download rank for kettle-dev](https://img.shields.io/gem/rd/kettle-dev.svg?style=flat-square)](https://bestgems.org/gems/kettle-dev) |
72
+ | [kettle-jem](https://bestgems.org/gems/kettle-jem) | [GitHub](https://github.com/kettle-dev/kettle-jem) | Appraisals & CI workflow templates | [![Daily download rank for kettle-jem](https://img.shields.io/gem/rd/kettle-jem.svg?style=flat-square)](https://bestgems.org/gems/kettle-jem) |
73
+ | [kettle-soup-cover](https://bestgems.org/gems/kettle-soup-cover) | [GitHub](https://github.com/kettle-dev/kettle-soup-cover) | SimpleCov coverage policy and reporting | [![Daily download rank for kettle-soup-cover](https://img.shields.io/gem/rd/kettle-soup-cover.svg?style=flat-square)](https://bestgems.org/gems/kettle-soup-cover) |
74
+ | [kettle-test](https://bestgems.org/gems/kettle-test) | [GitHub](https://github.com/kettle-dev/kettle-test) | standard test runner and coverage harness | [![Daily download rank for kettle-test](https://img.shields.io/gem/rd/kettle-test.svg?style=flat-square)](https://bestgems.org/gems/kettle-test) |
75
+ | [rubocop-lts](https://bestgems.org/gems/rubocop-lts) | [GitHub](https://github.com/rubocop-lts/rubocop-lts) | Ruby-version-aware linting | [![Daily download rank for rubocop-lts](https://img.shields.io/gem/rd/rubocop-lts.svg?style=flat-square)](https://bestgems.org/gems/rubocop-lts) |
76
+ | [turbo_tests2](https://bestgems.org/gems/turbo_tests2) | [GitHub](https://github.com/galtzo-floss/turbo_tests2) | parallel test execution | [![Daily download rank for turbo_tests2](https://img.shields.io/gem/rd/turbo_tests2.svg?style=flat-square)](https://bestgems.org/gems/turbo_tests2) |
77
+
78
+ </details>
87
79
 
88
80
  ### Federated DVCS
89
81
 
90
- <details>
91
- <summary>Find this repo on federated forges</summary>
82
+ <details markdown="1">
83
+ <summary>Find this repo on federated forges (Coming soon!)</summary>
92
84
 
93
- | Federated [DVCS][💎d-in-dvcs] Repository | Status | Issues | PRs | Wiki | CI | Discussions |
85
+ | Federated [DVCS][💎d-in-dvcs] Repository | Status | Issues | PRs | Wiki | CI | Discussions |
94
86
  |-------------------------------------------------|-----------------------------------------------------------------------|---------------------------|--------------------------|---------------------------|--------------------------|------------------------------|
95
- | 🧪 [galtzo-floss/stone_checksums on GitLab][📜src-gl] | The Truth | [💚][🤝gl-issues] | [💚][🤝gl-pulls] | [💚][📜gl-wiki] | 🐭 Tiny Matrix | ➖ |
96
- | 🧊 [galtzo-floss/stone_checksums on CodeBerg][📜src-cb] | An Ethical Mirror ([Donate][🤝cb-donate]) | [💚][🤝cb-issues] | [💚][🤝cb-pulls] | ➖ | ⭕️ No Matrix | ➖ |
97
- | 🐙 [galtzo-floss/stone_checksums on GitHub][📜src-gh] | Another Mirror | [💚][🤝gh-issues] | [💚][🤝gh-pulls] | [💚][📜gh-wiki] | 💯 Full Matrix | [💚][gh-discussions] |
98
- | 🎮️ [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] |
87
+ | 🧪 [galtzo-floss/stone_checksums on GitLab][📜src-gl] | The Truth | [💚][🤝gl-issues] | [💚][🤝gl-pulls] | [💚][📜gl-wiki] | 🐭 Tiny Matrix | ➖ |
88
+ | 🧊 [galtzo-floss/stone_checksums on CodeBerg][📜src-cb] | An Ethical Mirror ([Donate][🤝cb-donate]) | [💚][🤝cb-issues] | [💚][🤝cb-pulls] | ➖ | ⭕️ No Matrix | ➖ |
89
+ | 🐙 [galtzo-floss/stone_checksums on GitHub][📜src-gh] | Another Mirror | [💚][🤝gh-issues] | [💚][🤝gh-pulls] | [💚][📜gh-wiki] | 💯 Full Matrix | [💚][gh-discussions] |
90
+ | 🎮️ [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] |
99
91
 
100
92
  </details>
101
93
 
@@ -105,8 +97,8 @@ Compatible with MRI Ruby 2.2.0+, and concordant releases of JRuby, and TruffleRu
105
97
 
106
98
  Available as part of the Tidelift Subscription.
107
99
 
108
- <details>
109
- <summary>Need enterprise-level guarantees?</summary>
100
+ <details markdown="1">
101
+ <summary>Need enterprise-level guarantees?</summary>
110
102
 
111
103
  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.
112
104
 
@@ -138,41 +130,6 @@ If bundler is not being used to manage dependencies, install the gem by executin
138
130
  gem install stone_checksums
139
131
  ```
140
132
 
141
- ### 🔒 Secure Installation
142
-
143
- <details>
144
- <summary>For Medium or High Security Installations</summary>
145
-
146
- This gem is cryptographically signed, and has verifiable [SHA-256 and SHA-512][💎SHA_checksums] checksums by
147
- [stone_checksums][💎stone_checksums]. Be sure the gem you install hasn’t been tampered with
148
- by following the instructions below.
149
-
150
- Add my public key (if you haven’t already, expires 2045-04-29) as a trusted certificate:
151
-
152
- ```console
153
- gem cert --add <(curl -Ls https://raw.github.com/galtzo-floss/certs/main/pboling.pem)
154
- ```
155
-
156
- You only need to do that once. Then proceed to install with:
157
-
158
- ```console
159
- gem install stone_checksums -P HighSecurity
160
- ```
161
-
162
- The `HighSecurity` trust profile will verify signed gems, and not allow the installation of unsigned dependencies.
163
-
164
- If you want to up your security game full-time:
165
-
166
- ```console
167
- bundle config set --global trust-policy MediumSecurity
168
- ```
169
-
170
- `MediumSecurity` instead of `HighSecurity` is necessary if not all the gems you use are signed.
171
-
172
- NOTE: Be prepared to track down certs for signed gems and add them the same way you added mine.
173
-
174
- </details>
175
-
176
133
  ## ⚙️ Configuration
177
134
 
178
135
  Configuration env vars:
@@ -225,8 +182,8 @@ While galtzo-floss tools are free software and will always be, the project would
225
182
  Raising a monthly budget of... "dollars" would make the project more sustainable.
226
183
 
227
184
  We welcome both individual and corporate sponsors! We also offer a
228
- wide array of funding channels to account for your preferences
229
- (although currently [Open Collective][🖇osc] is our preferred funding platform).
185
+ wide array of funding channels to account for your preferences.
186
+ Currently, [Open Collective][🖇osc] is our preferred funding platform.
230
187
 
231
188
  **If you're working in a company that's making significant use of galtzo-floss tools we'd
232
189
  appreciate it if you suggest to your company to become a galtzo-floss sponsor.**
@@ -238,7 +195,7 @@ You can support the development of galtzo-floss tools via
238
195
  [Open Collective][🖇osc]
239
196
  and [Tidelift][🏙️entsup-tidelift].
240
197
 
241
- | 📍 NOTE |
198
+ | 📍 NOTE |
242
199
  |----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
243
200
  | 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. |
244
201
 
@@ -262,14 +219,11 @@ NOTE: [kettle-readme-backers][kettle-readme-backers] updates this list every day
262
219
  No sponsors yet. Be the first!
263
220
  <!-- OPENCOLLECTIVE-ORGANIZATIONS:END -->
264
221
 
265
- [kettle-readme-backers]: https://github.com/galtzo-floss/stone_checksums/blob/main/exe/kettle-readme-backers
222
+ [kettle-readme-backers]: https://github.com/galtzo-floss/stone_checksums/blob/main/bin/kettle-readme-backers
266
223
 
267
224
  ### Another way to support open-source
268
225
 
269
- > How wonderful it is that nobody need wait a single moment before starting to improve the world.<br/>
270
- >—Anne Frank
271
-
272
- 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).
226
+ 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. 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).
273
227
 
274
228
  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`.
275
229
 
@@ -277,7 +231,7 @@ I’m developing a new library, [floss_funding][🖇floss-funding-gem], designed
277
231
 
278
232
  **[Floss-Funding.dev][🖇floss-funding.dev]: 👉️ No network calls. 👉️ No tracking. 👉️ No oversight. 👉️ Minimal crypto hashing. 💡 Easily disabled nags**
279
233
 
280
- [![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]
234
+ [![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 to my FLOSS efforts at ko-fi.com][🖇kofi-img]][🖇kofi]
281
235
 
282
236
  ## 🔐 Security
283
237
 
@@ -286,7 +240,7 @@ See [SECURITY.md][🔐security].
286
240
  ## 🤝 Contributing
287
241
 
288
242
  If you need some ideas of where to help, you could work on adding more code coverage,
289
- or if it is already 💯 (see [below](#code-coverage)) check [reek](REEK), [issues][🤝gh-issues], or [PRs][🤝gh-pulls],
243
+ or if it is already 💯 (see [below](#code-coverage)) check [issues][🤝gh-issues] or [PRs][🤝gh-pulls],
290
244
  or use the gem and think about how it could be better.
291
245
 
292
246
  We [![Keep A Changelog][📗keep-changelog-img]][📗keep-changelog] so if you make changes, remember to update it.
@@ -299,12 +253,17 @@ See [CONTRIBUTING.md][🤝contributing].
299
253
 
300
254
  ### Code Coverage
301
255
 
256
+ <details markdown="1">
257
+ <summary>Coverage service badges</summary>
258
+
302
259
  [![Coverage Graph][🏀codecov-g]][🏀codecov]
303
260
 
304
261
  [![Coveralls Test Coverage][🏀coveralls-img]][🏀coveralls]
305
262
 
306
263
  [![QLTY Test Coverage][🏀qlty-covi]][🏀qlty-cov]
307
264
 
265
+ </details>
266
+
308
267
  ### 🪇 Code of Conduct
309
268
 
310
269
  Everyone interacting with this project's codebases, issue trackers,
@@ -318,14 +277,14 @@ Made with [contributors-img][🖐contrib-rocks].
318
277
 
319
278
  Also see GitLab Contributors: [https://gitlab.com/galtzo-floss/stone_checksums/-/graphs/main][🚎contributors-gl]
320
279
 
321
- <details>
322
- <summary>⭐️ Star History</summary>
280
+ <details markdown="1">
281
+ <summary>⭐️ Star History</summary>
323
282
 
324
- <a href="https://star-history.com/#galtzo-floss/stone_checksums&Date">
283
+ <a href="https://star-history.com/galtzo-floss/stone_checksums&Date">
325
284
  <picture>
326
- <source media="(prefers-color-scheme: dark)" srcset="https://api.star-history.com/svg?repos=galtzo-floss/stone_checksums&type=Date&theme=dark" />
327
- <source media="(prefers-color-scheme: light)" srcset="https://api.star-history.com/svg?repos=galtzo-floss/stone_checksums&type=Date" />
328
- <img alt="Star History Chart" src="https://api.star-history.com/svg?repos=galtzo-floss/stone_checksums&type=Date" />
285
+ <source media="(prefers-color-scheme: dark)" srcset="https://api.star-history.com/svg?repos=galtzo-floss/stone_checksums&type=Date&theme=dark" />
286
+ <source media="(prefers-color-scheme: light)" srcset="https://api.star-history.com/svg?repos=galtzo-floss/stone_checksums&type=Date" />
287
+ <img alt="Star History Chart" src="https://api.star-history.com/svg?repos=galtzo-floss/stone_checksums&type=Date" />
329
288
  </picture>
330
289
  </a>
331
290
 
@@ -333,19 +292,8 @@ Also see GitLab Contributors: [https://gitlab.com/galtzo-floss/stone_checksums/-
333
292
 
334
293
  ## 📌 Versioning
335
294
 
336
- This Library adheres to [![Semantic Versioning 2.0.0][📌semver-img]][📌semver].
337
- Violations of this scheme should be reported as bugs.
338
- Specifically, if a minor or patch version is released that breaks backward compatibility,
339
- a new version should be immediately released that restores compatibility.
340
- Breaking changes to the public API will only be introduced with new major versions.
341
-
342
- > dropping support for a platform is both obviously and objectively a breaking change <br/>
343
- >—Jordan Harband ([@ljharb](https://github.com/ljharb), maintainer of SemVer) [in SemVer issue 716][📌semver-breaking]
344
-
345
- I understand that policy doesn't work universally ("exceptions to every rule!"),
346
- but it is the policy here.
347
- As such, in many cases it is good to specify a dependency on this library using
348
- the [Pessimistic Version Constraint][📌pvc] with two digits of precision.
295
+ This library follows [![Semantic Versioning 2.0.0][📌semver-img]][📌semver] for its public API where practical.
296
+ For most applications, prefer the [Pessimistic Version Constraint][📌pvc] with two digits of precision.
349
297
 
350
298
  For example:
351
299
 
@@ -353,12 +301,11 @@ For example:
353
301
  spec.add_dependency("stone_checksums", "~> 1.0")
354
302
  ```
355
303
 
356
- <details>
304
+ <details markdown="1">
357
305
  <summary>📌 Is "Platform Support" part of the public API? More details inside.</summary>
358
306
 
359
- SemVer should, IMO, but doesn't explicitly, say that dropping support for specific Platforms
360
- is a *breaking change* to an API.
361
- It is obvious to many, but not all, and since the spec is silent, the bike shedding is endless.
307
+ Dropping support for a platform can be a breaking change for affected users.
308
+ If a release changes supported platforms, it should be called out clearly in the changelog and versioned with that impact in mind.
362
309
 
363
310
  To get a better understanding of how SemVer is intended to work over a project's lifetime,
364
311
  read this article from the creator of SemVer:
@@ -372,22 +319,18 @@ See [CHANGELOG.md][📌changelog] for a list of releases.
372
319
  ## 📄 License
373
320
 
374
321
  The gem is available as open source under the terms of
375
- the [MIT License][📄license] [![License: MIT][📄license-img]][📄license-ref].
376
- See [LICENSE.txt][📄license] for the official [Copyright Notice][📄copyright-notice-explainer].
322
+ the [MIT](MIT.md) [![License: MIT][📄license-img]][📄license-ref].
377
323
 
378
324
  ### © Copyright
379
325
 
380
- <ul>
381
- <li>
382
- Copyright (c) 2022 - 2025 Peter H. Boling, of
383
- <a href="https://discord.gg/3qme4XHNKN">
384
- Galtzo.com
385
- <picture>
386
- <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">
387
- </picture>
388
- </a>, and stone_checksums contributors.
389
- </li>
390
- </ul>
326
+ See [LICENSE.md][📄license] for the official copyright notice.
327
+
328
+ <details markdown="1">
329
+ <summary>Copyright holders</summary>
330
+
331
+ - Copyright (c) 2025-2026 |7eter l-|. l3oling
332
+
333
+ </details>
391
334
 
392
335
  ## 🤑 A request for help
393
336
 
@@ -404,10 +347,12 @@ To join the community or get help 👇️ Join the Discord.
404
347
 
405
348
  To say "thanks!" ☝️ Join the Discord or 👇️ send money.
406
349
 
407
- [![Sponsor galtzo-floss/stone_checksums 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]
350
+ [![Sponsor galtzo-floss/stone_checksums 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] 💌 [![Donate on PayPal][🖇paypal-bottom-img]][🖇paypal]
408
351
 
409
352
  ### Please give the project a star ⭐ ♥.
410
353
 
354
+ Many parts of this project are actively managed by a [kettle-jem](https://github.com/structuredmerge/structuredmerge-ruby/tree/main/gems/kettle-jem) smart template utilizing [StructuredMerge.org](https://structuredmerge.org) merge contracts.
355
+
411
356
  Thanks for RTFM. ☺️
412
357
 
413
358
  [⛳liberapay-img]: https://img.shields.io/liberapay/goal/pboling.svg?logo=liberapay&color=a51611&style=flat
@@ -427,12 +372,8 @@ Thanks for RTFM. ☺️
427
372
  [🖇sponsor-img]: https://img.shields.io/badge/Sponsor_Me!-pboling.svg?style=social&logo=github
428
373
  [🖇sponsor-bottom-img]: https://img.shields.io/badge/Sponsor_Me!-pboling-blue?style=for-the-badge&logo=github
429
374
  [🖇sponsor]: https://github.com/sponsors/pboling
430
- [🖇polar-img]: https://img.shields.io/badge/polar-donate-a51611.svg?style=flat
431
- [🖇polar]: https://polar.sh/pboling
432
375
  [🖇kofi-img]: https://img.shields.io/badge/ko--fi-%E2%9C%93-a51611.svg?style=flat
433
- [🖇kofi]: https://ko-fi.com/O5O86SNP4
434
- [🖇patreon-img]: https://img.shields.io/badge/patreon-donate-a51611.svg?style=flat
435
- [🖇patreon]: https://patreon.com/galtzo
376
+ [🖇kofi]: https://ko-fi.com/pboling
436
377
  [🖇buyme-small-img]: https://img.shields.io/badge/buy_me_a_coffee-%E2%9C%93-a51611.svg?style=flat
437
378
  [🖇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
438
379
  [🖇buyme]: https://www.buymeacoffee.com/pboling
@@ -452,13 +393,13 @@ Thanks for RTFM. ☺️
452
393
  [⛳️gem-name]: https://bestgems.org/gems/stone_checksums
453
394
  [⛳️name-img]: https://img.shields.io/badge/name-stone__checksums-3C2D2D.svg?style=square&logo=rubygems&logoColor=red
454
395
  [⛳️tag-img]: https://img.shields.io/github/tag/galtzo-floss/stone_checksums.svg
455
- [⛳️tag]: http://github.com/galtzo-floss/stone_checksums/releases
396
+ [⛳️tag]: https://github.com/galtzo-floss/stone_checksums/releases
456
397
  [🚂maint-blog]: http://www.railsbling.com/tags/stone_checksums
457
398
  [🚂maint-blog-img]: https://img.shields.io/badge/blog-railsbling-0093D0.svg?style=for-the-badge&logo=rubyonrails&logoColor=orange
458
399
  [🚂maint-contact]: http://www.railsbling.com/contact
459
400
  [🚂maint-contact-img]: https://img.shields.io/badge/Contact-Maintainer-0093D0.svg?style=flat&logo=rubyonrails&logoColor=red
460
401
  [💖🖇linkedin]: http://www.linkedin.com/in/peterboling
461
- [💖🖇linkedin-img]: https://img.shields.io/badge/PeterBoling-LinkedIn-0B66C2?style=flat&logo=newjapanprowrestling
402
+ [💖🖇linkedin-img]: https://img.shields.io/badge/LinkedIn-Profile-0B66C2?style=flat&logo=newjapanprowrestling
462
403
  [💖✌️wellfound]: https://wellfound.com/u/peter-boling
463
404
  [💖✌️wellfound-img]: https://img.shields.io/badge/peter--boling-orange?style=flat&logo=wellfound
464
405
  [💖💲crunchbase]: https://www.crunchbase.com/person/peter-boling
@@ -487,7 +428,7 @@ Thanks for RTFM. ☺️
487
428
  [💁🏼‍♂️peterboling]: http://www.peterboling.com
488
429
  [🚂railsbling]: http://www.railsbling.com
489
430
  [📜src-gl-img]: https://img.shields.io/badge/GitLab-FBA326?style=for-the-badge&logo=Gitlab&logoColor=orange
490
- [📜src-gl]: https://gitlab.com/galtzo-floss/stone_checksums/
431
+ [📜src-gl]: https://gitlab.com/galtzo-floss/stone_checksums
491
432
  [📜src-cb-img]: https://img.shields.io/badge/CodeBerg-4893CC?style=for-the-badge&logo=CodeBerg&logoColor=blue
492
433
  [📜src-cb]: https://codeberg.org/galtzo-floss/stone_checksums
493
434
  [📜src-gh-img]: https://img.shields.io/badge/GitHub-238636?style=for-the-badge&logo=Github&logoColor=green
@@ -496,12 +437,10 @@ Thanks for RTFM. ☺️
496
437
  [📜docs-head-rd-img]: https://img.shields.io/badge/YARD_on_Galtzo.com-HEAD-943CD2?style=for-the-badge&logo=readthedocs&logoColor=white
497
438
  [📜gl-wiki]: https://gitlab.com/galtzo-floss/stone_checksums/-/wikis/home
498
439
  [📜gh-wiki]: https://github.com/galtzo-floss/stone_checksums/wiki
499
- [📜gl-wiki-img]: https://img.shields.io/badge/wiki-examples-943CD2.svg?style=for-the-badge&logo=gitlab&logoColor=white
500
- [📜gh-wiki-img]: https://img.shields.io/badge/wiki-examples-943CD2.svg?style=for-the-badge&logo=github&logoColor=white
440
+ [📜gl-wiki-img]: https://img.shields.io/badge/wiki-gitlab-943CD2.svg?style=for-the-badge&logo=gitlab&logoColor=white
441
+ [📜gh-wiki-img]: https://img.shields.io/badge/wiki-github-943CD2.svg?style=for-the-badge&logo=github&logoColor=white
501
442
  [👽dl-rank]: https://bestgems.org/gems/stone_checksums
502
443
  [👽dl-ranki]: https://img.shields.io/gem/rd/stone_checksums.svg
503
- [👽oss-help]: https://www.codetriage.com/galtzo-floss/stone_checksums
504
- [👽oss-helpi]: https://www.codetriage.com/galtzo-floss/stone_checksums/badges/users.svg
505
444
  [👽version]: https://bestgems.org/gems/stone_checksums
506
445
  [👽versioni]: https://img.shields.io/gem/v/stone_checksums.svg
507
446
  [🏀qlty-mnt]: https://qlty.sh/gh/galtzo-floss/projects/stone_checksums
@@ -512,24 +451,31 @@ Thanks for RTFM. ☺️
512
451
  [🏀codecovi]: https://codecov.io/gh/galtzo-floss/stone_checksums/graph/badge.svg
513
452
  [🏀coveralls]: https://coveralls.io/github/galtzo-floss/stone_checksums?branch=main
514
453
  [🏀coveralls-img]: https://coveralls.io/repos/github/galtzo-floss/stone_checksums/badge.svg?branch=main
515
- [🖐codeQL]: https://github.com/galtzo-floss/stone_checksums/security/code-scanning
516
- [🖐codeQL-img]: https://github.com/galtzo-floss/stone_checksums/actions/workflows/codeql-analysis.yml/badge.svg
517
- [🚎1-an-wf]: https://github.com/galtzo-floss/stone_checksums/actions/workflows/ancient.yml
518
- [🚎1-an-wfi]: https://github.com/galtzo-floss/stone_checksums/actions/workflows/ancient.yml/badge.svg
454
+ [🚎ruby-2.4-wf]: https://github.com/galtzo-floss/stone_checksums/actions/workflows/ruby-2.4.yml
455
+ [🚎ruby-2.5-wf]: https://github.com/galtzo-floss/stone_checksums/actions/workflows/ruby-2.5.yml
456
+ [🚎ruby-2.6-wf]: https://github.com/galtzo-floss/stone_checksums/actions/workflows/ruby-2.6.yml
457
+ [🚎ruby-2.7-wf]: https://github.com/galtzo-floss/stone_checksums/actions/workflows/ruby-2.7.yml
458
+ [🚎ruby-3.0-wf]: https://github.com/galtzo-floss/stone_checksums/actions/workflows/ruby-3.0.yml
459
+ [🚎ruby-3.1-wf]: https://github.com/galtzo-floss/stone_checksums/actions/workflows/ruby-3.1.yml
460
+ [🚎ruby-3.2-wf]: https://github.com/galtzo-floss/stone_checksums/actions/workflows/ruby-3.2.yml
461
+ [🚎ruby-3.3-wf]: https://github.com/galtzo-floss/stone_checksums/actions/workflows/ruby-3.3.yml
462
+ [🚎ruby-3.4-wf]: https://github.com/galtzo-floss/stone_checksums/actions/workflows/ruby-3.4.yml
463
+ [🚎jruby-9.2-wf]: https://github.com/galtzo-floss/stone_checksums/actions/workflows/jruby-9.2.yml
464
+ [🚎jruby-9.3-wf]: https://github.com/galtzo-floss/stone_checksums/actions/workflows/jruby-9.3.yml
465
+ [🚎jruby-9.4-wf]: https://github.com/galtzo-floss/stone_checksums/actions/workflows/jruby-9.4.yml
466
+ [🚎jruby-10.0-wf]: https://github.com/galtzo-floss/stone_checksums/actions/workflows/jruby-10.0.yml
467
+ [🚎truby-22.3-wf]: https://github.com/galtzo-floss/stone_checksums/actions/workflows/truffleruby-22.3.yml
468
+ [🚎truby-23.0-wf]: https://github.com/galtzo-floss/stone_checksums/actions/workflows/truffleruby-23.0.yml
469
+ [🚎truby-23.1-wf]: https://github.com/galtzo-floss/stone_checksums/actions/workflows/truffleruby-23.1.yml
470
+ [🚎truby-24.2-wf]: https://github.com/galtzo-floss/stone_checksums/actions/workflows/truffleruby-24.2.yml
471
+ [🚎truby-25.0-wf]: https://github.com/galtzo-floss/stone_checksums/actions/workflows/truffleruby-25.0.yml
472
+ [🚎truby-33.0-wf]: https://github.com/galtzo-floss/stone_checksums/actions/workflows/truffleruby-33.0.yml
519
473
  [🚎2-cov-wf]: https://github.com/galtzo-floss/stone_checksums/actions/workflows/coverage.yml
520
474
  [🚎2-cov-wfi]: https://github.com/galtzo-floss/stone_checksums/actions/workflows/coverage.yml/badge.svg
521
475
  [🚎3-hd-wf]: https://github.com/galtzo-floss/stone_checksums/actions/workflows/heads.yml
522
476
  [🚎3-hd-wfi]: https://github.com/galtzo-floss/stone_checksums/actions/workflows/heads.yml/badge.svg
523
- [🚎4-lg-wf]: https://github.com/galtzo-floss/stone_checksums/actions/workflows/legacy.yml
524
- [🚎4-lg-wfi]: https://github.com/galtzo-floss/stone_checksums/actions/workflows/legacy.yml/badge.svg
525
477
  [🚎5-st-wf]: https://github.com/galtzo-floss/stone_checksums/actions/workflows/style.yml
526
478
  [🚎5-st-wfi]: https://github.com/galtzo-floss/stone_checksums/actions/workflows/style.yml/badge.svg
527
- [🚎6-s-wf]: https://github.com/galtzo-floss/stone_checksums/actions/workflows/supported.yml
528
- [🚎6-s-wfi]: https://github.com/galtzo-floss/stone_checksums/actions/workflows/supported.yml/badge.svg
529
- [🚎7-us-wf]: https://github.com/galtzo-floss/stone_checksums/actions/workflows/unsupported.yml
530
- [🚎7-us-wfi]: https://github.com/galtzo-floss/stone_checksums/actions/workflows/unsupported.yml/badge.svg
531
- [🚎8-ho-wf]: https://github.com/galtzo-floss/stone_checksums/actions/workflows/hoary.yml
532
- [🚎8-ho-wfi]: https://github.com/galtzo-floss/stone_checksums/actions/workflows/hoary.yml/badge.svg
533
479
  [🚎9-t-wf]: https://github.com/galtzo-floss/stone_checksums/actions/workflows/truffle.yml
534
480
  [🚎9-t-wfi]: https://github.com/galtzo-floss/stone_checksums/actions/workflows/truffle.yml/badge.svg
535
481
  [🚎10-j-wf]: https://github.com/galtzo-floss/stone_checksums/actions/workflows/jruby.yml
@@ -545,7 +491,7 @@ Thanks for RTFM. ☺️
545
491
  [🚎15-🪪-wf]: https://github.com/galtzo-floss/stone_checksums/actions/workflows/license-eye.yml
546
492
  [🚎15-🪪-wfi]: https://github.com/galtzo-floss/stone_checksums/actions/workflows/license-eye.yml/badge.svg
547
493
  [💎ruby-2.2i]: https://img.shields.io/badge/Ruby-2.2_(%F0%9F%9A%ABCI)-AABBCC?style=for-the-badge&logo=ruby&logoColor=white
548
- [💎ruby-2.3i]: https://img.shields.io/badge/Ruby-2.3-DF00CA?style=for-the-badge&logo=ruby&logoColor=white
494
+ [💎ruby-2.3i]: https://img.shields.io/badge/Ruby-2.3_(%F0%9F%9A%ABCI)-AABBCC?style=for-the-badge&logo=ruby&logoColor=white
549
495
  [💎ruby-2.4i]: https://img.shields.io/badge/Ruby-2.4-DF00CA?style=for-the-badge&logo=ruby&logoColor=white
550
496
  [💎ruby-2.5i]: https://img.shields.io/badge/Ruby-2.5-DF00CA?style=for-the-badge&logo=ruby&logoColor=white
551
497
  [💎ruby-2.6i]: https://img.shields.io/badge/Ruby-2.6-DF00CA?style=for-the-badge&logo=ruby&logoColor=white
@@ -554,17 +500,21 @@ Thanks for RTFM. ☺️
554
500
  [💎ruby-3.1i]: https://img.shields.io/badge/Ruby-3.1-CC342D?style=for-the-badge&logo=ruby&logoColor=white
555
501
  [💎ruby-3.2i]: https://img.shields.io/badge/Ruby-3.2-CC342D?style=for-the-badge&logo=ruby&logoColor=white
556
502
  [💎ruby-3.3i]: https://img.shields.io/badge/Ruby-3.3-CC342D?style=for-the-badge&logo=ruby&logoColor=white
503
+ [💎ruby-3.4i]: https://img.shields.io/badge/Ruby-3.4-CC342D?style=for-the-badge&logo=ruby&logoColor=white
557
504
  [💎ruby-c-i]: https://img.shields.io/badge/Ruby-current-CC342D?style=for-the-badge&logo=ruby&logoColor=green
558
505
  [💎ruby-headi]: https://img.shields.io/badge/Ruby-HEAD-CC342D?style=for-the-badge&logo=ruby&logoColor=blue
559
- [💎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
560
- [💎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
506
+ [💎truby-22.3i]: https://img.shields.io/badge/Truffle_Ruby-22.3-34BCB1?style=for-the-badge&logo=ruby&logoColor=pink
507
+ [💎truby-23.0i]: https://img.shields.io/badge/Truffle_Ruby-23.0-34BCB1?style=for-the-badge&logo=ruby&logoColor=pink
561
508
  [💎truby-23.1i]: https://img.shields.io/badge/Truffle_Ruby-23.1-34BCB1?style=for-the-badge&logo=ruby&logoColor=pink
509
+ [💎truby-24.2i]: https://img.shields.io/badge/Truffle_Ruby-24.2-34BCB1?style=for-the-badge&logo=ruby&logoColor=pink
510
+ [💎truby-25.0i]: https://img.shields.io/badge/Truffle_Ruby-25.0-34BCB1?style=for-the-badge&logo=ruby&logoColor=pink
511
+ [💎truby-33.0i]: https://img.shields.io/badge/Truffle_Ruby-33.0-34BCB1?style=for-the-badge&logo=ruby&logoColor=pink
562
512
  [💎truby-c-i]: https://img.shields.io/badge/Truffle_Ruby-current-34BCB1?style=for-the-badge&logo=ruby&logoColor=green
563
513
  [💎truby-headi]: https://img.shields.io/badge/Truffle_Ruby-HEAD-34BCB1?style=for-the-badge&logo=ruby&logoColor=blue
564
- [💎jruby-9.1i]: https://img.shields.io/badge/JRuby-9.1_(%F0%9F%9A%ABCI)-AABBCC?style=for-the-badge&logo=ruby&logoColor=red
565
- [💎jruby-9.2i]: https://img.shields.io/badge/JRuby-9.2_(%F0%9F%9A%ABCI)-AABBCC?style=for-the-badge&logo=ruby&logoColor=red
566
- [💎jruby-9.3i]: https://img.shields.io/badge/JRuby-9.3_(%F0%9F%9A%ABCI)-AABBCC?style=for-the-badge&logo=ruby&logoColor=red
514
+ [💎jruby-9.2i]: https://img.shields.io/badge/JRuby-9.2-FBE742?style=for-the-badge&logo=ruby&logoColor=red
515
+ [💎jruby-9.3i]: https://img.shields.io/badge/JRuby-9.3-FBE742?style=for-the-badge&logo=ruby&logoColor=red
567
516
  [💎jruby-9.4i]: https://img.shields.io/badge/JRuby-9.4-FBE742?style=for-the-badge&logo=ruby&logoColor=red
517
+ [💎jruby-10.0i]: https://img.shields.io/badge/JRuby-10.0-FBE742?style=for-the-badge&logo=ruby&logoColor=red
568
518
  [💎jruby-c-i]: https://img.shields.io/badge/JRuby-current-FBE742?style=for-the-badge&logo=ruby&logoColor=green
569
519
  [💎jruby-headi]: https://img.shields.io/badge/JRuby-HEAD-FBE742?style=for-the-badge&logo=ruby&logoColor=blue
570
520
  [🤝gh-issues]: https://github.com/galtzo-floss/stone_checksums/issues
@@ -574,34 +524,35 @@ Thanks for RTFM. ☺️
574
524
  [🤝cb-issues]: https://codeberg.org/galtzo-floss/stone_checksums/issues
575
525
  [🤝cb-pulls]: https://codeberg.org/galtzo-floss/stone_checksums/pulls
576
526
  [🤝cb-donate]: https://donate.codeberg.org/
577
- [🤝contributing]: CONTRIBUTING.md
578
- [🏀codecov-g]: https://codecov.io/gh/galtzo-floss/stone_checksums/graphs/tree.svg
527
+ [🤝contributing]: https://github.com/galtzo-floss/stone_checksums/blob/main/CONTRIBUTING.md
528
+ [🏀codecov-g]: https://codecov.io/gh/galtzo-floss/stone_checksums/graph/badge.svg
579
529
  [🖐contrib-rocks]: https://contrib.rocks
580
530
  [🖐contributors]: https://github.com/galtzo-floss/stone_checksums/graphs/contributors
581
531
  [🖐contributors-img]: https://contrib.rocks/image?repo=galtzo-floss/stone_checksums
582
532
  [🚎contributors-gl]: https://gitlab.com/galtzo-floss/stone_checksums/-/graphs/main
583
- [🪇conduct]: CODE_OF_CONDUCT.md
533
+ [🪇conduct]: https://github.com/galtzo-floss/stone_checksums/blob/main/CODE_OF_CONDUCT.md
584
534
  [🪇conduct-img]: https://img.shields.io/badge/Contributor_Covenant-2.1-259D6C.svg
585
535
  [📌pvc]: http://guides.rubygems.org/patterns/#pessimistic-version-constraint
586
536
  [📌semver]: https://semver.org/spec/v2.0.0.html
587
537
  [📌semver-img]: https://img.shields.io/badge/semver-2.0.0-259D6C.svg?style=flat
588
538
  [📌semver-breaking]: https://github.com/semver/semver/issues/716#issuecomment-869336139
589
539
  [📌major-versions-not-sacred]: https://tom.preston-werner.com/2022/05/23/major-version-numbers-are-not-sacred.html
590
- [📌changelog]: CHANGELOG.md
540
+ [📌changelog]: https://github.com/galtzo-floss/stone_checksums/blob/main/CHANGELOG.md
591
541
  [📗keep-changelog]: https://keepachangelog.com/en/1.0.0/
592
542
  [📗keep-changelog-img]: https://img.shields.io/badge/keep--a--changelog-1.0.0-34495e.svg?style=flat
593
- [📌gitmoji]:https://gitmoji.dev
594
- [📌gitmoji-img]:https://img.shields.io/badge/gitmoji_commits-%20%F0%9F%98%9C%20%F0%9F%98%8D-34495e.svg?style=flat-square
543
+ [📌gitmoji]: https://gitmoji.dev
544
+ [📌gitmoji-img]: https://img.shields.io/badge/gitmoji_commits-%20%F0%9F%98%9C%20%F0%9F%98%8D-34495e.svg?style=flat-square
595
545
  [🧮kloc]: https://www.youtube.com/watch?v=dQw4w9WgXcQ
596
- [🧮kloc-img]: https://img.shields.io/badge/KLOC-4.112-FFDD67.svg?style=for-the-badge&logo=YouTube&logoColor=blue
597
- [🔐security]: SECURITY.md
546
+ [🧮kloc-img]: https://img.shields.io/badge/KLOC-0.124-FFDD67.svg?style=for-the-badge&logo=YouTube&logoColor=blue
547
+ [🔐security]: https://github.com/galtzo-floss/stone_checksums/blob/main/SECURITY.md
598
548
  [🔐security-img]: https://img.shields.io/badge/security-policy-259D6C.svg?style=flat
599
549
  [📄copyright-notice-explainer]: https://opensource.stackexchange.com/questions/5778/why-do-licenses-such-as-the-mit-license-specify-a-single-year
600
- [📄license]: LICENSE.txt
601
- [📄license-ref]: https://opensource.org/licenses/MIT
550
+ [📄license]: LICENSE.md
551
+ [📄license-ref]: MIT.md
602
552
  [📄license-img]: https://img.shields.io/badge/License-MIT-259D6C.svg
603
- [📄license-compat]: https://dev.to/galtzo/how-to-check-license-compatibility-41h0
553
+ [📄license-compat]: https://www.apache.org/legal/resolved.html#category-a
604
554
  [📄license-compat-img]: https://img.shields.io/badge/Apache_Compatible:_Category_A-%E2%9C%93-259D6C.svg?style=flat&logo=Apache
555
+
605
556
  [📄ilo-declaration]: https://www.ilo.org/declaration/lang--en/index.htm
606
557
  [📄ilo-declaration-img]: https://img.shields.io/badge/ILO_Fundamental_Principles-✓-259D6C.svg?style=flat
607
558
  [🚎yard-current]: http://rubydoc.info/gems/stone_checksums
@@ -613,3 +564,14 @@ Thanks for RTFM. ☺️
613
564
  [💎appraisal2]: https://github.com/appraisal-rb/appraisal2
614
565
  [💎appraisal2-img]: https://img.shields.io/badge/appraised_by-appraisal2-34495e.svg?plastic&logo=ruby&logoColor=white
615
566
  [💎d-in-dvcs]: https://railsbling.com/posts/dvcs/put_the_d_in_dvcs/
567
+
568
+ <!-- kettle-jem:metadata:start -->
569
+ | Field | Value |
570
+ |---|---|
571
+ | Package | stone_checksums |
572
+ | Description | 🗿 Generate both SHA256 & SHA512 checksums into the checksums directory, and git commit them.<br>gem install stone_checksums<br>Then, use the rake task or the script:<br>rake build:generate_checksums<br>gem_checksums<br>Control options with ENV variables!<br>Fund overlooked open source projects - bottom of stack, dev/test dependencies: floss-funding.dev |
573
+ | Homepage | https://github.com/galtzo-floss/stone_checksums |
574
+ | Source | https://github.com/galtzo-floss/stone_checksums |
575
+ | License | `MIT` |
576
+ | Funding | https://github.com/sponsors/pboling, https://ko-fi.com/pboling, https://liberapay.com/pboling/donate, https://opencollective.com/galtzo-floss, https://thanks.dev/u/gh/pboling, https://tidelift.com/funding/github/rubygems/stone_checksums, https://www.buymeacoffee.com/pboling |
577
+ <!-- kettle-jem:metadata:end -->