stone_checksums 1.0.2 → 1.0.3
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.
- checksums.yaml +4 -4
- checksums.yaml.gz.sig +0 -0
- data/CHANGELOG.md +23 -0
- data/CITATION.cff +20 -0
- data/CONTRIBUTING.md +42 -16
- data/FUNDING.md +77 -0
- data/README.md +138 -75
- data/REEK +0 -0
- data/RUBOCOP.md +71 -0
- data/lib/gem_checksums.rb +52 -52
- data/lib/stone_checksums/version.rb +1 -1
- data.tar.gz.sig +0 -0
- metadata +114 -14
- metadata.gz.sig +0 -0
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 65cfc4ad1a568d2c9ee61a9c13ef3630febe4200060f0817904c3f5c7d53de53
|
|
4
|
+
data.tar.gz: 278967e0df204e08600790a08e0ccc09be49688fa5d5e12a8900c244c6a27759
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 4d7a5197145c3b7664246082227c2eb4c9eadee2a0e375bb362fb62666aa5dc5002210e4ff75c8b63a6ad2a458cc8f7924fc94c2a3fdc933a984bb23c638a683
|
|
7
|
+
data.tar.gz: afbfdfca0cf76560e83b096a173a4165109d28634faba93168324cf5a414fc918531408d92eac7ef694a290bb2e9de6141571fdf04e295412105aff855f156ca
|
checksums.yaml.gz.sig
CHANGED
|
Binary file
|
data/CHANGELOG.md
CHANGED
|
@@ -17,19 +17,30 @@ Please file a bug if you notice a violation of semantic versioning.
|
|
|
17
17
|
[📗keep-changelog-img]: https://img.shields.io/badge/keep--a--changelog-1.0.0-FFDD67.svg?style=flat
|
|
18
18
|
|
|
19
19
|
## [Unreleased]
|
|
20
|
+
|
|
20
21
|
### Added
|
|
22
|
+
|
|
21
23
|
### Changed
|
|
24
|
+
|
|
22
25
|
### Deprecated
|
|
26
|
+
|
|
23
27
|
### Removed
|
|
28
|
+
|
|
24
29
|
### Fixed
|
|
30
|
+
|
|
31
|
+
- documentation
|
|
32
|
+
|
|
25
33
|
### Security
|
|
26
34
|
|
|
27
35
|
## [1.0.2] - 2025-08-26
|
|
36
|
+
|
|
28
37
|
- TAG: [v1.0.2][1.0.2t]
|
|
29
38
|
- COVERAGE: 100.00% -- 97/97 lines in 6 files
|
|
30
39
|
- BRANCH COVERAGE: 92.86% -- 26/28 branches in 6 files
|
|
31
40
|
- 68.42% documented
|
|
41
|
+
|
|
32
42
|
### Fixed
|
|
43
|
+
|
|
33
44
|
- gemspec details that got mangled in the switch from gem_checksums.gemspec to stone_checksums.gemspec
|
|
34
45
|
- spec.required_ruby_version (accidentally bumped from 2.2 to 2.3)
|
|
35
46
|
- spec.summary
|
|
@@ -37,30 +48,42 @@ Please file a bug if you notice a violation of semantic versioning.
|
|
|
37
48
|
- spec.homepage
|
|
38
49
|
|
|
39
50
|
## [1.0.1] - 2025-08-26
|
|
51
|
+
|
|
40
52
|
- TAG: [v1.0.1][1.0.1t]
|
|
41
53
|
- COVERAGE: 100.00% -- 97/97 lines in 6 files
|
|
42
54
|
- BRANCH COVERAGE: 92.86% -- 26/28 branches in 6 files
|
|
43
55
|
- 68.42% documented
|
|
56
|
+
|
|
44
57
|
### Added
|
|
58
|
+
|
|
45
59
|
- Added proper namespace: StoneChecksums
|
|
46
60
|
- Namespace now matches gem name according to RubyGems convention
|
|
47
61
|
- Old Namespace, GemChecksums, will be dropped in next major version
|
|
62
|
+
|
|
48
63
|
### Changed
|
|
64
|
+
|
|
49
65
|
- Improve error help text on old bundler, recommend upgrading
|
|
66
|
+
|
|
50
67
|
### Fixed
|
|
68
|
+
|
|
51
69
|
- Support for bundler >= v2.7, which no longer relies on SOURCE_DATE_EPOCH
|
|
52
70
|
- NOTE: Bundler v2.7+ defaults to a constant build date in 1980 to make all builds reproducible.
|
|
71
|
+
|
|
53
72
|
### Documentation
|
|
73
|
+
|
|
54
74
|
- Updated README with checksum usage, Bundler version guidance, and env vars.
|
|
55
75
|
- Added YARD docstrings for public APIs.
|
|
56
76
|
- Expanded RBS signatures for public constants and methods.
|
|
57
77
|
|
|
58
78
|
## [1.0.0] - 2025-02-23
|
|
79
|
+
|
|
59
80
|
- TAG: [v1.0.0][1.0.0t]
|
|
60
81
|
- COVERAGE: 98.67% -- 74/75 lines in 5 files
|
|
61
82
|
- BRANCH COVERAGE: 79.17% -- 19/24 branches in 5 files
|
|
62
83
|
- 38.46% documented
|
|
84
|
+
|
|
63
85
|
### Added
|
|
86
|
+
|
|
64
87
|
- Initial release
|
|
65
88
|
|
|
66
89
|
[Unreleased]: https://gitlab.com/galtzo-floss/stone_checksums/-/compare/v1.0.2...HEAD
|
data/CITATION.cff
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
cff-version: 1.2.0
|
|
2
|
+
title: stone_checksums
|
|
3
|
+
message: >-
|
|
4
|
+
If you use this work and you want to cite it,
|
|
5
|
+
then you can use the metadata from this file.
|
|
6
|
+
type: software
|
|
7
|
+
authors:
|
|
8
|
+
- given-names: Peter Hurn
|
|
9
|
+
family-names: Boling
|
|
10
|
+
email: peter@railsbling.com
|
|
11
|
+
affiliation: railsbling.com
|
|
12
|
+
orcid: 'https://orcid.org/0009-0008-8519-441X'
|
|
13
|
+
identifiers:
|
|
14
|
+
- type: url
|
|
15
|
+
value: 'https://github.com/galtzo-floss/stone_checksums'
|
|
16
|
+
description: stone_checksums
|
|
17
|
+
repository-code: 'https://github.com/galtzo-floss/stone_checksums'
|
|
18
|
+
abstract: >-
|
|
19
|
+
stone_checksums
|
|
20
|
+
license: See license file
|
data/CONTRIBUTING.md
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
# Contributing
|
|
2
2
|
|
|
3
|
-
Bug reports and pull requests are welcome on
|
|
3
|
+
Bug reports and pull requests are welcome on [CodeBerg][📜src-cb], [GitLab][📜src-gl], or [GitHub][📜src-gh].
|
|
4
4
|
This project should be a safe, welcoming space for collaboration, so contributors agree to adhere to
|
|
5
5
|
the [code of conduct][🤝conduct].
|
|
6
6
|
|
|
7
7
|
To submit a patch, please fork the project, create a patch with tests, and send a pull request.
|
|
8
8
|
|
|
9
|
-
Remember to [![Keep A Changelog][📗keep-changelog-img]][📗keep-changelog].
|
|
9
|
+
Remember to [![Keep A Changelog][📗keep-changelog-img]][📗keep-changelog] if you make changes.
|
|
10
10
|
|
|
11
11
|
## Help out!
|
|
12
12
|
|
|
@@ -22,6 +22,26 @@ Follow these instructions:
|
|
|
22
22
|
6. Make sure to add tests for it. This is important, so it doesn't break in a future release.
|
|
23
23
|
7. Create new Pull Request.
|
|
24
24
|
|
|
25
|
+
## Executables vs Rake tasks
|
|
26
|
+
|
|
27
|
+
Executables shipped by dependencies, such as stone_checksums, and stone_checksums, are available
|
|
28
|
+
after running `bin/setup`. These include:
|
|
29
|
+
|
|
30
|
+
- gem_checksums
|
|
31
|
+
- kettle-changelog
|
|
32
|
+
- kettle-commit-msg
|
|
33
|
+
- stone_checksums-setup
|
|
34
|
+
- kettle-dvcs
|
|
35
|
+
- kettle-pre-release
|
|
36
|
+
- kettle-readme-backers
|
|
37
|
+
- kettle-release
|
|
38
|
+
|
|
39
|
+
There are many Rake tasks available as well. You can see them by running:
|
|
40
|
+
|
|
41
|
+
```shell
|
|
42
|
+
bin/rake -T
|
|
43
|
+
```
|
|
44
|
+
|
|
25
45
|
## Environment Variables for Local Development
|
|
26
46
|
|
|
27
47
|
Below are the primary environment variables recognized by stone_checksums (and its integrated tools). Unless otherwise noted, set boolean values to the string "true" to enable.
|
|
@@ -60,14 +80,14 @@ For a quick starting point, this repository’s `.envrc` shows sane defaults, an
|
|
|
60
80
|
|
|
61
81
|
## Appraisals
|
|
62
82
|
|
|
63
|
-
From time to time the
|
|
83
|
+
From time to time the [appraisal2][🚎appraisal2] gemfiles in `gemfiles/` will need to be updated.
|
|
64
84
|
They are created and updated with the commands:
|
|
65
85
|
|
|
66
86
|
```console
|
|
67
87
|
bin/rake appraisal:update
|
|
68
88
|
```
|
|
69
89
|
|
|
70
|
-
When adding an appraisal to CI check the [runner tool cache][🏃♂️runner-tool-cache] to see which runner to use.
|
|
90
|
+
When adding an appraisal to CI, check the [runner tool cache][🏃♂️runner-tool-cache] to see which runner to use.
|
|
71
91
|
|
|
72
92
|
## The Reek List
|
|
73
93
|
|
|
@@ -89,9 +109,10 @@ bundle exec rake test
|
|
|
89
109
|
|
|
90
110
|
### Spec organization (required)
|
|
91
111
|
|
|
92
|
-
- For each class or module under `lib/`, keep all of its unit tests in a single spec file under `spec/` that mirrors the path and file name
|
|
93
|
-
-
|
|
94
|
-
-
|
|
112
|
+
- One spec file per class/module. For each class or module under `lib/`, keep all of its unit tests in a single spec file under `spec/` that mirrors the path and file name exactly: `lib/stone_checksums/release_cli.rb` -> `spec/stone_checksums/release_cli_spec.rb`.
|
|
113
|
+
- Never add a second spec file for the same class/module. Examples of disallowed names: `*_more_spec.rb`, `*_extra_spec.rb`, `*_status_spec.rb`, or any other suffix that still targets the same class. If you find yourself wanting a second file, merge those examples into the canonical spec file for that class/module.
|
|
114
|
+
- Exception: Integration specs that intentionally span multiple classes. Place these under `spec/integration/` (or a clearly named integration folder), and do not directly mirror a single class. Name them after the scenario, not a class.
|
|
115
|
+
- Migration note: If a duplicate spec file exists, move all examples into the canonical file and delete the duplicate. Do not leave stubs or empty files behind.
|
|
95
116
|
|
|
96
117
|
## Lint It
|
|
97
118
|
|
|
@@ -114,7 +135,7 @@ For more detailed information about using RuboCop in this project, please see th
|
|
|
114
135
|
Never add `# rubocop:disable ...` / `# rubocop:enable ...` comments to code or specs (except when following the few existing `rubocop:disable` patterns for a rule already being disabled elsewhere in the code). Instead:
|
|
115
136
|
|
|
116
137
|
- Prefer configuration-based exclusions when a rule should not apply to certain paths or files (e.g., via `.rubocop.yml`).
|
|
117
|
-
- When a violation is temporary and you plan to fix it later, record it in `.rubocop_gradual.lock` using the gradual workflow:
|
|
138
|
+
- When a violation is temporary, and you plan to fix it later, record it in `.rubocop_gradual.lock` using the gradual workflow:
|
|
118
139
|
- `bundle exec rake rubocop_gradual:autocorrect` (preferred)
|
|
119
140
|
- `bundle exec rake rubocop_gradual:force_update` (only when you cannot fix the violations immediately)
|
|
120
141
|
|
|
@@ -134,19 +155,21 @@ Also see GitLab Contributors: [https://gitlab.com/galtzo-floss/stone_checksums/-
|
|
|
134
155
|
|
|
135
156
|
### One-time, Per-maintainer, Setup
|
|
136
157
|
|
|
137
|
-
**IMPORTANT**:
|
|
138
|
-
|
|
158
|
+
**IMPORTANT**: To sign a build,
|
|
159
|
+
a public key for signing gems will need to be picked up by the line in the
|
|
139
160
|
`gemspec` defining the `spec.cert_chain` (check the relevant ENV variables there).
|
|
140
|
-
All releases
|
|
161
|
+
All releases are signed releases.
|
|
141
162
|
See: [RubyGems Security Guide][🔒️rubygems-security-guide]
|
|
142
163
|
|
|
143
|
-
NOTE: To build without signing the gem
|
|
164
|
+
NOTE: To build without signing the gem set `SKIP_GEM_SIGNING` to any value in the environment.
|
|
144
165
|
|
|
145
166
|
### To release a new version:
|
|
146
167
|
|
|
147
168
|
#### Automated process
|
|
148
169
|
|
|
149
|
-
|
|
170
|
+
1. Update version.rb to contain the correct version-to-be-released.
|
|
171
|
+
2. Run `bundle exec kettle-changelog`.
|
|
172
|
+
3. Run `bundle exec kettle-release`.
|
|
150
173
|
|
|
151
174
|
#### Manual process
|
|
152
175
|
|
|
@@ -173,16 +196,18 @@ Run `kettle-release`.
|
|
|
173
196
|
12. Sanity check the SHA256, comparing with the output from the `bin/gem_checksums` command:
|
|
174
197
|
- `sha256sum pkg/<gem name>-<version>.gem`
|
|
175
198
|
13. Run `bundle exec rake release` which will create a git tag for the version,
|
|
176
|
-
push git commits and tags, and push the `.gem` file to
|
|
199
|
+
push git commits and tags, and push the `.gem` file to the gem host configured in the gemspec.
|
|
177
200
|
|
|
178
|
-
[
|
|
201
|
+
[📜src-gl]: https://gitlab.com/galtzo-floss/stone_checksums/
|
|
202
|
+
[📜src-cb]: https://codeberg.org/galtzo-floss/stone_checksums
|
|
203
|
+
[📜src-gh]: https://github.com/galtzo-floss/stone_checksums
|
|
179
204
|
[🧪build]: https://github.com/galtzo-floss/stone_checksums/actions
|
|
180
205
|
[🤝conduct]: https://gitlab.com/galtzo-floss/stone_checksums/-/blob/main/CODE_OF_CONDUCT.md
|
|
181
206
|
[🖐contrib-rocks]: https://contrib.rocks
|
|
182
207
|
[🖐contributors]: https://github.com/galtzo-floss/stone_checksums/graphs/contributors
|
|
183
208
|
[🚎contributors-gl]: https://gitlab.com/galtzo-floss/stone_checksums/-/graphs/main
|
|
184
209
|
[🖐contributors-img]: https://contrib.rocks/image?repo=galtzo-floss/stone_checksums
|
|
185
|
-
[💎
|
|
210
|
+
[💎gem-coop]: https://gem.coop
|
|
186
211
|
[🔒️rubygems-security-guide]: https://guides.rubygems.org/security/#building-gems
|
|
187
212
|
[🔒️rubygems-checksums-pr]: https://github.com/rubygems/rubygems/pull/6022
|
|
188
213
|
[🔒️rubygems-guides-pr]: https://github.com/rubygems/guides/pull/325
|
|
@@ -191,4 +216,5 @@ Run `kettle-release`.
|
|
|
191
216
|
[📗keep-changelog-img]: https://img.shields.io/badge/keep--a--changelog-1.0.0-FFDD67.svg?style=flat
|
|
192
217
|
[📌semver-breaking]: https://github.com/semver/semver/issues/716#issuecomment-869336139
|
|
193
218
|
[📌major-versions-not-sacred]: https://tom.preston-werner.com/2022/05/23/major-version-numbers-are-not-sacred.html
|
|
219
|
+
[🚎appraisal2]: https://github.com/appraisal-rb/appraisal2
|
|
194
220
|
[🏃♂️runner-tool-cache]: https://github.com/ruby/ruby-builder/releases/tag/toolcache
|
data/FUNDING.md
ADDED
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
<!-- RELEASE-NOTES-FOOTER-START -->
|
|
2
|
+
|
|
3
|
+
Official Discord 👉️ [![Live Chat on Discord][✉️discord-invite-img]][✉️discord-invite]
|
|
4
|
+
|
|
5
|
+
Many paths lead to being a sponsor or a backer of this project. Are you on such a path?
|
|
6
|
+
|
|
7
|
+
[![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]
|
|
8
|
+
|
|
9
|
+
[![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]
|
|
10
|
+
|
|
11
|
+
[⛳liberapay-img]: https://img.shields.io/liberapay/goal/pboling.svg?logo=liberapay&color=a51611&style=flat
|
|
12
|
+
[⛳liberapay]: https://liberapay.com/pboling/donate
|
|
13
|
+
[🖇osc-backers]: https://opencollective.com/galtzo-floss#backer
|
|
14
|
+
[🖇osc-backers-i]: https://opencollective.com/galtzo-floss/backers/badge.svg?style=flat
|
|
15
|
+
[🖇osc-sponsors]: https://opencollective.com/galtzo-floss#sponsor
|
|
16
|
+
[🖇osc-sponsors-i]: https://opencollective.com/galtzo-floss/sponsors/badge.svg?style=flat
|
|
17
|
+
[🖇sponsor-img]: https://img.shields.io/badge/Sponsor_Me!-pboling.svg?style=social&logo=github
|
|
18
|
+
[🖇sponsor]: https://github.com/sponsors/pboling
|
|
19
|
+
[🖇polar-img]: https://img.shields.io/badge/polar-donate-a51611.svg?style=flat
|
|
20
|
+
[🖇polar]: https://polar.sh/pboling
|
|
21
|
+
[🖇kofi-img]: https://img.shields.io/badge/ko--fi-%E2%9C%93-a51611.svg?style=flat
|
|
22
|
+
[🖇kofi]: https://ko-fi.com/O5O86SNP4
|
|
23
|
+
[🖇patreon-img]: https://img.shields.io/badge/patreon-donate-a51611.svg?style=flat
|
|
24
|
+
[🖇patreon]: https://patreon.com/galtzo
|
|
25
|
+
[🖇buyme-small-img]: https://img.shields.io/badge/buy_me_a_coffee-%E2%9C%93-a51611.svg?style=flat
|
|
26
|
+
[🖇buyme]: https://www.buymeacoffee.com/pboling
|
|
27
|
+
[🖇paypal-img]: https://img.shields.io/badge/donate-paypal-a51611.svg?style=flat&logo=paypal
|
|
28
|
+
[🖇paypal]: https://www.paypal.com/paypalme/peterboling
|
|
29
|
+
[✉️discord-invite]: https://discord.gg/3qme4XHNKN
|
|
30
|
+
[✉️discord-invite-img]: https://img.shields.io/discord/1373797679469170758?style=flat
|
|
31
|
+
|
|
32
|
+
<!-- RELEASE-NOTES-FOOTER-END -->
|
|
33
|
+
|
|
34
|
+
# 🤑 Request for Help
|
|
35
|
+
|
|
36
|
+
Maintainers have teeth and need to pay their dentists.
|
|
37
|
+
After getting laid off in an RIF in March and filled with many dozens of rejections,
|
|
38
|
+
I'm now spending ~60+ hours a week building open source tools.
|
|
39
|
+
I'm hoping to be able to pay for my kids' health insurance this month,
|
|
40
|
+
so if you value the work I am doing, I need your support.
|
|
41
|
+
Please consider sponsoring me or the project.
|
|
42
|
+
|
|
43
|
+
To join the community or get help 👇️ Join the Discord.
|
|
44
|
+
|
|
45
|
+
[![Live Chat on Discord][✉️discord-invite-img-ftb]][✉️discord-invite]
|
|
46
|
+
|
|
47
|
+
To say "thanks for maintaining such a great tool" ☝️ Join the Discord or 👇️ send money.
|
|
48
|
+
|
|
49
|
+
[![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]
|
|
50
|
+
|
|
51
|
+
# Another Way to Support Open Source Software
|
|
52
|
+
|
|
53
|
+
> How wonderful it is that nobody need wait a single moment before starting to improve the world.<br/>
|
|
54
|
+
>—Anne Frank
|
|
55
|
+
|
|
56
|
+
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).
|
|
57
|
+
|
|
58
|
+
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`.
|
|
59
|
+
|
|
60
|
+
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.
|
|
61
|
+
|
|
62
|
+
**[Floss-Funding.dev][🖇floss-funding.dev]: 👉️ No network calls. 👉️ No tracking. 👉️ No oversight. 👉️ Minimal crypto hashing. 💡 Easily disabled nags**
|
|
63
|
+
|
|
64
|
+
[⛳liberapay-bottom-img]: https://img.shields.io/liberapay/goal/pboling.svg?style=for-the-badge&logo=liberapay&color=a51611
|
|
65
|
+
[🖇osc-all-img]: https://img.shields.io/opencollective/all/galtzo-floss
|
|
66
|
+
[🖇osc-sponsors-img]: https://img.shields.io/opencollective/sponsors/galtzo-floss
|
|
67
|
+
[🖇osc-backers-img]: https://img.shields.io/opencollective/backers/galtzo-floss
|
|
68
|
+
[🖇osc-all-bottom-img]: https://img.shields.io/opencollective/all/galtzo-floss?style=for-the-badge
|
|
69
|
+
[🖇osc-sponsors-bottom-img]: https://img.shields.io/opencollective/sponsors/galtzo-floss?style=for-the-badge
|
|
70
|
+
[🖇osc-backers-bottom-img]: https://img.shields.io/opencollective/backers/galtzo-floss?style=for-the-badge
|
|
71
|
+
[🖇osc]: https://opencollective.com/galtzo-floss
|
|
72
|
+
[🖇sponsor-bottom-img]: https://img.shields.io/badge/Sponsor_Me!-pboling-blue?style=for-the-badge&logo=github
|
|
73
|
+
[🖇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
|
|
74
|
+
[🖇paypal-bottom-img]: https://img.shields.io/badge/donate-paypal-a51611.svg?style=for-the-badge&logo=paypal&color=0A0A0A
|
|
75
|
+
[🖇floss-funding.dev]: https://floss-funding.dev
|
|
76
|
+
[🖇floss-funding-gem]: https://github.com/galtzo-floss/floss_funding
|
|
77
|
+
[✉️discord-invite-img-ftb]: https://img.shields.io/discord/1373797679469170758?style=for-the-badge
|
data/README.md
CHANGED
|
@@ -1,3 +1,32 @@
|
|
|
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
|
+
|
|
1
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]
|
|
2
31
|
|
|
3
32
|
[🖼️galtzo-i]: https://logos.galtzo.com/assets/images/galtzo-floss/avatar-192px.svg
|
|
@@ -9,15 +38,15 @@
|
|
|
9
38
|
|
|
10
39
|
# 🗿 StoneChecksums - Generate SHA-256 and SHA-512 checksums of a RubyGem
|
|
11
40
|
|
|
12
|
-
[![Version][👽versioni]][👽version] [![License: MIT][📄license-img]][📄license-ref] [![Downloads Rank][👽dl-ranki]][👽dl-rank] [![Open Source Helpers][👽oss-helpi]][👽oss-help] [![CodeCov Test Coverage][
|
|
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]
|
|
13
42
|
|
|
14
|
-
|
|
43
|
+
`if ci_badges.map(&:color).detect { it != "green"}` ☝️ [let me know][🖼️galtzo-discord], as I may have missed the [discord notification][🖼️galtzo-discord].
|
|
15
44
|
|
|
16
45
|
---
|
|
17
46
|
|
|
18
|
-
|
|
47
|
+
`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.
|
|
19
48
|
|
|
20
|
-
[![Liberapay Goal Progress][⛳liberapay-img]][⛳liberapay] [![
|
|
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]
|
|
21
50
|
|
|
22
51
|
## 🌻 Synopsis
|
|
23
52
|
|
|
@@ -34,17 +63,39 @@ bin/generate_checksums
|
|
|
34
63
|
|
|
35
64
|
## 💡 Info you can shake a stick at
|
|
36
65
|
|
|
66
|
+
| Tokens to Remember | [![Gem name][⛳️name-img]][⛳️gem-name] [![Gem namespace][⛳️namespace-img]][⛳️gem-namespace] |
|
|
67
|
+
|-------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|
|
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] |
|
|
79
|
+
|
|
80
|
+
### Compatibility
|
|
81
|
+
|
|
82
|
+
Compatible with MRI Ruby 2.2.0+, and concordant releases of JRuby, and TruffleRuby.
|
|
83
|
+
|
|
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] ✨ |
|
|
87
|
+
|
|
37
88
|
### Federated DVCS
|
|
38
89
|
|
|
39
90
|
<details>
|
|
40
|
-
<summary>Find this repo on
|
|
91
|
+
<summary>Find this repo on federated forges</summary>
|
|
41
92
|
|
|
42
|
-
| Federated [DVCS][💎d-in-dvcs] Repository | Status
|
|
43
|
-
|
|
44
|
-
| 🧪 [
|
|
45
|
-
| 🧊 [
|
|
46
|
-
| 🐙 [
|
|
47
|
-
| 🎮️ [Discord Server][✉️discord-invite] | [![Live Chat on Discord][✉️discord-invite-img]][✉️discord-invite] | [Let's][✉️discord-invite] | [talk][✉️discord-invite] | [about][✉️discord-invite] | [this][✉️discord-invite] | [library!][✉️discord-invite] |
|
|
93
|
+
| Federated [DVCS][💎d-in-dvcs] Repository | Status | Issues | PRs | Wiki | CI | Discussions |
|
|
94
|
+
|-------------------------------------------------|-----------------------------------------------------------------------|---------------------------|--------------------------|---------------------------|--------------------------|------------------------------|
|
|
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] |
|
|
48
99
|
|
|
49
100
|
</details>
|
|
50
101
|
|
|
@@ -52,47 +103,40 @@ bin/generate_checksums
|
|
|
52
103
|
|
|
53
104
|
### Enterprise Support [](https://tidelift.com/subscription/pkg/rubygems-stone_checksums?utm_source=rubygems-stone_checksums&utm_medium=referral&utm_campaign=readme)
|
|
54
105
|
|
|
106
|
+
Available as part of the Tidelift Subscription.
|
|
107
|
+
|
|
55
108
|
<details>
|
|
56
109
|
<summary>Need enterprise-level guarantees?</summary>
|
|
57
110
|
|
|
111
|
+
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
|
+
|
|
58
113
|
[![Get help from me on Tidelift][🏙️entsup-tidelift-img]][🏙️entsup-tidelift]
|
|
59
114
|
|
|
60
|
-
- 💡Subscribe for support guarantees covering _all_ FLOSS dependencies
|
|
115
|
+
- 💡Subscribe for support guarantees covering _all_ your FLOSS dependencies
|
|
61
116
|
- 💡Tidelift is part of [Sonar][🏙️entsup-tidelift-sonar]
|
|
62
117
|
- 💡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
|
|
63
118
|
|
|
64
119
|
Alternatively:
|
|
65
120
|
|
|
66
|
-
- [![Live Chat on Discord][✉️discord-invite-img]][✉️discord-invite]
|
|
121
|
+
- [![Live Chat on Discord][✉️discord-invite-img-ftb]][✉️discord-invite]
|
|
67
122
|
- [![Get help from me on Upwork][👨🏼🏫expsup-upwork-img]][👨🏼🏫expsup-upwork]
|
|
68
123
|
- [![Get help from me on Codementor][👨🏼🏫expsup-codementor-img]][👨🏼🏫expsup-codementor]
|
|
69
124
|
|
|
70
125
|
</details>
|
|
71
126
|
|
|
72
|
-
| Tokens to Remember | [![Gem name][⛳️name-img]][⛳️gem-name] [![Gem namespace][⛳️namespace-img]][⛳️gem-namespace] |
|
|
73
|
-
|-------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|
|
74
|
-
| 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] |
|
|
75
|
-
| Works with Truffle Ruby | ![Truffle Ruby 22.3 Compat][💎truby-22.3i] <br/> [![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] |
|
|
76
|
-
| 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] |
|
|
77
|
-
| Works with MRI Ruby 2 | ![Ruby 2.0 Compat][💎ruby-2.0i] ![Ruby 2.1 Compat][💎ruby-2.1i] ![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] |
|
|
78
|
-
| Works with MRI Ruby 1 | ![Ruby 1.9 Compat][💎ruby-1.9i] |
|
|
79
|
-
| 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] |
|
|
80
|
-
| 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] |
|
|
81
|
-
| 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] |
|
|
82
|
-
| 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] |
|
|
83
|
-
| Support | [![Live Chat on Discord][✉️discord-invite-img]][✉️discord-invite] [![Get help from me on Upwork][👨🏼🏫expsup-upwork-img]][👨🏼🏫expsup-upwork] [![Get help from me on Codementor][👨🏼🏫expsup-codementor-img]][👨🏼🏫expsup-codementor] |
|
|
84
|
-
| 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] |
|
|
85
|
-
| `...` 💖 | [![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] |
|
|
86
|
-
|
|
87
127
|
## ✨ Installation
|
|
88
128
|
|
|
89
129
|
Install the gem and add to the application's Gemfile by executing:
|
|
90
130
|
|
|
91
|
-
|
|
131
|
+
```console
|
|
132
|
+
bundle add stone_checksums
|
|
133
|
+
```
|
|
92
134
|
|
|
93
135
|
If bundler is not being used to manage dependencies, install the gem by executing:
|
|
94
136
|
|
|
95
|
-
|
|
137
|
+
```console
|
|
138
|
+
gem install stone_checksums
|
|
139
|
+
```
|
|
96
140
|
|
|
97
141
|
### 🔒 Secure Installation
|
|
98
142
|
|
|
@@ -200,19 +244,25 @@ and [Tidelift][🏙️entsup-tidelift].
|
|
|
200
244
|
|
|
201
245
|
### Open Collective for Individuals
|
|
202
246
|
|
|
247
|
+
Support us with a monthly donation and help us continue our activities. [[Become a backer](https://opencollective.com/galtzo-floss#backer)]
|
|
248
|
+
|
|
249
|
+
NOTE: [kettle-readme-backers][kettle-readme-backers] updates this list every day, automatically.
|
|
250
|
+
|
|
203
251
|
<!-- OPENCOLLECTIVE-INDIVIDUALS:START -->
|
|
204
252
|
No backers yet. Be the first!
|
|
205
253
|
<!-- OPENCOLLECTIVE-INDIVIDUALS:END -->
|
|
206
254
|
|
|
207
|
-
Support us with a monthly donation and help us continue our activities. [[Become a backer](https://opencollective.com/galtzo-floss#backer)]
|
|
208
|
-
|
|
209
255
|
### Open Collective for Organizations
|
|
210
256
|
|
|
257
|
+
Become a sponsor and get your logo on our README on GitHub with a link to your site. [[Become a sponsor](https://opencollective.com/galtzo-floss#sponsor)]
|
|
258
|
+
|
|
259
|
+
NOTE: [kettle-readme-backers][kettle-readme-backers] updates this list every day, automatically.
|
|
260
|
+
|
|
211
261
|
<!-- OPENCOLLECTIVE-ORGANIZATIONS:START -->
|
|
212
262
|
No sponsors yet. Be the first!
|
|
213
263
|
<!-- OPENCOLLECTIVE-ORGANIZATIONS:END -->
|
|
214
264
|
|
|
215
|
-
|
|
265
|
+
[kettle-readme-backers]: https://github.com/galtzo-floss/stone_checksums/blob/main/exe/kettle-readme-backers
|
|
216
266
|
|
|
217
267
|
### Another way to support open-source
|
|
218
268
|
|
|
@@ -227,7 +277,7 @@ I’m developing a new library, [floss_funding][🖇floss-funding-gem], designed
|
|
|
227
277
|
|
|
228
278
|
**[Floss-Funding.dev][🖇floss-funding.dev]: 👉️ No network calls. 👉️ No tracking. 👉️ No oversight. 👉️ Minimal crypto hashing. 💡 Easily disabled nags**
|
|
229
279
|
|
|
230
|
-
[![
|
|
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]
|
|
231
281
|
|
|
232
282
|
## 🔐 Security
|
|
233
283
|
|
|
@@ -249,11 +299,11 @@ See [CONTRIBUTING.md][🤝contributing].
|
|
|
249
299
|
|
|
250
300
|
### Code Coverage
|
|
251
301
|
|
|
252
|
-
[![Coverage Graph][
|
|
302
|
+
[![Coverage Graph][🏀codecov-g]][🏀codecov]
|
|
253
303
|
|
|
254
|
-
[![Coveralls Test Coverage][
|
|
304
|
+
[![Coveralls Test Coverage][🏀coveralls-img]][🏀coveralls]
|
|
255
305
|
|
|
256
|
-
[![QLTY Test Coverage][
|
|
306
|
+
[![QLTY Test Coverage][🏀qlty-covi]][🏀qlty-cov]
|
|
257
307
|
|
|
258
308
|
### 🪇 Code of Conduct
|
|
259
309
|
|
|
@@ -329,7 +379,7 @@ See [LICENSE.txt][📄license] for the official [Copyright Notice][📄copyright
|
|
|
329
379
|
|
|
330
380
|
<ul>
|
|
331
381
|
<li>
|
|
332
|
-
Copyright (c)
|
|
382
|
+
Copyright (c) 2022 - 2025 Peter H. Boling, of
|
|
333
383
|
<a href="https://discord.gg/3qme4XHNKN">
|
|
334
384
|
Galtzo.com
|
|
335
385
|
<picture>
|
|
@@ -341,31 +391,35 @@ See [LICENSE.txt][📄license] for the official [Copyright Notice][📄copyright
|
|
|
341
391
|
|
|
342
392
|
## 🤑 A request for help
|
|
343
393
|
|
|
344
|
-
Maintainers have teeth
|
|
345
|
-
After getting laid off in an RIF in March, and
|
|
346
|
-
I
|
|
394
|
+
Maintainers have teeth and need to pay their dentists.
|
|
395
|
+
After getting laid off in an RIF in March, and encountering difficulty finding a new one,
|
|
396
|
+
I began spending most of my time building open source tools.
|
|
347
397
|
I'm hoping to be able to pay for my kids' health insurance this month,
|
|
348
398
|
so if you value the work I am doing, I need your support.
|
|
349
399
|
Please consider sponsoring me or the project.
|
|
350
400
|
|
|
351
|
-
|
|
401
|
+
To join the community or get help 👇️ Join the Discord.
|
|
352
402
|
|
|
353
|
-
|
|
403
|
+
[![Live Chat on Discord][✉️discord-invite-img-ftb]][✉️discord-invite]
|
|
354
404
|
|
|
355
|
-
To
|
|
405
|
+
To say "thanks!" ☝️ Join the Discord or 👇️ send money.
|
|
356
406
|
|
|
357
|
-
[![
|
|
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]
|
|
358
408
|
|
|
359
409
|
### Please give the project a star ⭐ ♥.
|
|
360
410
|
|
|
361
411
|
Thanks for RTFM. ☺️
|
|
362
412
|
|
|
363
|
-
[⛳liberapay-img]: https://img.shields.io/liberapay/goal/pboling.svg?logo=liberapay&color=a51611
|
|
413
|
+
[⛳liberapay-img]: https://img.shields.io/liberapay/goal/pboling.svg?logo=liberapay&color=a51611&style=flat
|
|
364
414
|
[⛳liberapay-bottom-img]: https://img.shields.io/liberapay/goal/pboling.svg?style=for-the-badge&logo=liberapay&color=a51611
|
|
365
415
|
[⛳liberapay]: https://liberapay.com/pboling/donate
|
|
366
416
|
[🖇osc-all-img]: https://img.shields.io/opencollective/all/galtzo-floss
|
|
367
417
|
[🖇osc-sponsors-img]: https://img.shields.io/opencollective/sponsors/galtzo-floss
|
|
368
418
|
[🖇osc-backers-img]: https://img.shields.io/opencollective/backers/galtzo-floss
|
|
419
|
+
[🖇osc-backers]: https://opencollective.com/galtzo-floss#backer
|
|
420
|
+
[🖇osc-backers-i]: https://opencollective.com/galtzo-floss/backers/badge.svg?style=flat
|
|
421
|
+
[🖇osc-sponsors]: https://opencollective.com/galtzo-floss#sponsor
|
|
422
|
+
[🖇osc-sponsors-i]: https://opencollective.com/galtzo-floss/sponsors/badge.svg?style=flat
|
|
369
423
|
[🖇osc-all-bottom-img]: https://img.shields.io/opencollective/all/galtzo-floss?style=for-the-badge
|
|
370
424
|
[🖇osc-sponsors-bottom-img]: https://img.shields.io/opencollective/sponsors/galtzo-floss?style=for-the-badge
|
|
371
425
|
[🖇osc-backers-bottom-img]: https://img.shields.io/opencollective/backers/galtzo-floss?style=for-the-badge
|
|
@@ -373,13 +427,13 @@ Thanks for RTFM. ☺️
|
|
|
373
427
|
[🖇sponsor-img]: https://img.shields.io/badge/Sponsor_Me!-pboling.svg?style=social&logo=github
|
|
374
428
|
[🖇sponsor-bottom-img]: https://img.shields.io/badge/Sponsor_Me!-pboling-blue?style=for-the-badge&logo=github
|
|
375
429
|
[🖇sponsor]: https://github.com/sponsors/pboling
|
|
376
|
-
[🖇polar-img]: https://img.shields.io/badge/polar-donate-a51611.svg
|
|
430
|
+
[🖇polar-img]: https://img.shields.io/badge/polar-donate-a51611.svg?style=flat
|
|
377
431
|
[🖇polar]: https://polar.sh/pboling
|
|
378
|
-
[🖇kofi-img]: https://img.shields.io/badge/ko--fi
|
|
432
|
+
[🖇kofi-img]: https://img.shields.io/badge/ko--fi-%E2%9C%93-a51611.svg?style=flat
|
|
379
433
|
[🖇kofi]: https://ko-fi.com/O5O86SNP4
|
|
380
|
-
[🖇patreon-img]: https://img.shields.io/badge/patreon-donate-a51611.svg
|
|
434
|
+
[🖇patreon-img]: https://img.shields.io/badge/patreon-donate-a51611.svg?style=flat
|
|
381
435
|
[🖇patreon]: https://patreon.com/galtzo
|
|
382
|
-
[🖇buyme-small-img]: https://img.shields.io/badge/buy_me_a_coffee
|
|
436
|
+
[🖇buyme-small-img]: https://img.shields.io/badge/buy_me_a_coffee-%E2%9C%93-a51611.svg?style=flat
|
|
383
437
|
[🖇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
|
|
384
438
|
[🖇buyme]: https://www.buymeacoffee.com/pboling
|
|
385
439
|
[🖇paypal-img]: https://img.shields.io/badge/donate-paypal-a51611.svg?style=flat&logo=paypal
|
|
@@ -388,25 +442,29 @@ Thanks for RTFM. ☺️
|
|
|
388
442
|
[🖇floss-funding.dev]: https://floss-funding.dev
|
|
389
443
|
[🖇floss-funding-gem]: https://github.com/galtzo-floss/floss_funding
|
|
390
444
|
[✉️discord-invite]: https://discord.gg/3qme4XHNKN
|
|
391
|
-
[✉️discord-invite-img]: https://img.shields.io/discord/1373797679469170758?style=for-the-badge
|
|
445
|
+
[✉️discord-invite-img-ftb]: https://img.shields.io/discord/1373797679469170758?style=for-the-badge&logo=discord
|
|
446
|
+
[✉️ruby-friends-img]: https://img.shields.io/badge/daily.dev-%F0%9F%92%8E_Ruby_Friends-0A0A0A?style=for-the-badge&logo=dailydotdev&logoColor=white
|
|
447
|
+
[✉️ruby-friends]: https://app.daily.dev/squads/rubyfriends
|
|
392
448
|
|
|
393
449
|
[✇bundle-group-pattern]: https://gist.github.com/pboling/4564780
|
|
394
450
|
[⛳️gem-namespace]: https://github.com/galtzo-floss/stone_checksums
|
|
395
451
|
[⛳️namespace-img]: https://img.shields.io/badge/namespace-StoneChecksums-3C2D2D.svg?style=square&logo=ruby&logoColor=white
|
|
396
|
-
[⛳️gem-name]: https://
|
|
452
|
+
[⛳️gem-name]: https://bestgems.org/gems/stone_checksums
|
|
397
453
|
[⛳️name-img]: https://img.shields.io/badge/name-stone__checksums-3C2D2D.svg?style=square&logo=rubygems&logoColor=red
|
|
454
|
+
[⛳️tag-img]: https://img.shields.io/github/tag/galtzo-floss/stone_checksums.svg
|
|
455
|
+
[⛳️tag]: http://github.com/galtzo-floss/stone_checksums/releases
|
|
398
456
|
[🚂maint-blog]: http://www.railsbling.com/tags/stone_checksums
|
|
399
457
|
[🚂maint-blog-img]: https://img.shields.io/badge/blog-railsbling-0093D0.svg?style=for-the-badge&logo=rubyonrails&logoColor=orange
|
|
400
458
|
[🚂maint-contact]: http://www.railsbling.com/contact
|
|
401
459
|
[🚂maint-contact-img]: https://img.shields.io/badge/Contact-Maintainer-0093D0.svg?style=flat&logo=rubyonrails&logoColor=red
|
|
402
460
|
[💖🖇linkedin]: http://www.linkedin.com/in/peterboling
|
|
403
461
|
[💖🖇linkedin-img]: https://img.shields.io/badge/PeterBoling-LinkedIn-0B66C2?style=flat&logo=newjapanprowrestling
|
|
404
|
-
[💖✌️wellfound]: https://wellfound.com/u/peter-boling
|
|
462
|
+
[💖✌️wellfound]: https://wellfound.com/u/peter-boling
|
|
405
463
|
[💖✌️wellfound-img]: https://img.shields.io/badge/peter--boling-orange?style=flat&logo=wellfound
|
|
406
464
|
[💖💲crunchbase]: https://www.crunchbase.com/person/peter-boling
|
|
407
465
|
[💖💲crunchbase-img]: https://img.shields.io/badge/peter--boling-purple?style=flat&logo=crunchbase
|
|
408
466
|
[💖🐘ruby-mast]: https://ruby.social/@galtzo
|
|
409
|
-
[💖🐘ruby-mast-img]: https://img.shields.io/mastodon/follow/109447111526622197?domain=https
|
|
467
|
+
[💖🐘ruby-mast-img]: https://img.shields.io/mastodon/follow/109447111526622197?domain=https://ruby.social&style=flat&logo=mastodon&label=Ruby%20@galtzo
|
|
410
468
|
[💖🦋bluesky]: https://bsky.app/profile/galtzo.com
|
|
411
469
|
[💖🦋bluesky-img]: https://img.shields.io/badge/@galtzo.com-0285FF?style=flat&logo=bluesky&logoColor=white
|
|
412
470
|
[💖🌳linktree]: https://linktr.ee/galtzo
|
|
@@ -436,22 +494,24 @@ Thanks for RTFM. ☺️
|
|
|
436
494
|
[📜src-gh]: https://github.com/galtzo-floss/stone_checksums
|
|
437
495
|
[📜docs-cr-rd-img]: https://img.shields.io/badge/RubyDoc-Current_Release-943CD2?style=for-the-badge&logo=readthedocs&logoColor=white
|
|
438
496
|
[📜docs-head-rd-img]: https://img.shields.io/badge/YARD_on_Galtzo.com-HEAD-943CD2?style=for-the-badge&logo=readthedocs&logoColor=white
|
|
439
|
-
[📜wiki]: https://gitlab.com/galtzo-floss/stone_checksums/-/wikis/home
|
|
440
|
-
[📜wiki
|
|
441
|
-
[
|
|
497
|
+
[📜gl-wiki]: https://gitlab.com/galtzo-floss/stone_checksums/-/wikis/home
|
|
498
|
+
[📜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
|
|
501
|
+
[👽dl-rank]: https://bestgems.org/gems/stone_checksums
|
|
442
502
|
[👽dl-ranki]: https://img.shields.io/gem/rd/stone_checksums.svg
|
|
443
503
|
[👽oss-help]: https://www.codetriage.com/galtzo-floss/stone_checksums
|
|
444
504
|
[👽oss-helpi]: https://www.codetriage.com/galtzo-floss/stone_checksums/badges/users.svg
|
|
445
|
-
[👽version]: https://
|
|
505
|
+
[👽version]: https://bestgems.org/gems/stone_checksums
|
|
446
506
|
[👽versioni]: https://img.shields.io/gem/v/stone_checksums.svg
|
|
447
|
-
[
|
|
448
|
-
[
|
|
449
|
-
[
|
|
450
|
-
[
|
|
451
|
-
[
|
|
452
|
-
[
|
|
453
|
-
[
|
|
454
|
-
[
|
|
507
|
+
[🏀qlty-mnt]: https://qlty.sh/gh/galtzo-floss/projects/stone_checksums
|
|
508
|
+
[🏀qlty-mnti]: https://qlty.sh/gh/galtzo-floss/projects/stone_checksums/maintainability.svg
|
|
509
|
+
[🏀qlty-cov]: https://qlty.sh/gh/galtzo-floss/projects/stone_checksums/metrics/code?sort=coverageRating
|
|
510
|
+
[🏀qlty-covi]: https://qlty.sh/gh/galtzo-floss/projects/stone_checksums/coverage.svg
|
|
511
|
+
[🏀codecov]: https://codecov.io/gh/galtzo-floss/stone_checksums
|
|
512
|
+
[🏀codecovi]: https://codecov.io/gh/galtzo-floss/stone_checksums/graph/badge.svg
|
|
513
|
+
[🏀coveralls]: https://coveralls.io/github/galtzo-floss/stone_checksums?branch=main
|
|
514
|
+
[🏀coveralls-img]: https://coveralls.io/repos/github/galtzo-floss/stone_checksums/badge.svg?branch=main
|
|
455
515
|
[🖐codeQL]: https://github.com/galtzo-floss/stone_checksums/security/code-scanning
|
|
456
516
|
[🖐codeQL-img]: https://github.com/galtzo-floss/stone_checksums/actions/workflows/codeql-analysis.yml/badge.svg
|
|
457
517
|
[🚎1-an-wf]: https://github.com/galtzo-floss/stone_checksums/actions/workflows/ancient.yml
|
|
@@ -476,13 +536,14 @@ Thanks for RTFM. ☺️
|
|
|
476
536
|
[🚎10-j-wfi]: https://github.com/galtzo-floss/stone_checksums/actions/workflows/jruby.yml/badge.svg
|
|
477
537
|
[🚎11-c-wf]: https://github.com/galtzo-floss/stone_checksums/actions/workflows/current.yml
|
|
478
538
|
[🚎11-c-wfi]: https://github.com/galtzo-floss/stone_checksums/actions/workflows/current.yml/badge.svg
|
|
539
|
+
[🚎12-crh-wf]: https://github.com/galtzo-floss/stone_checksums/actions/workflows/dep-heads.yml
|
|
540
|
+
[🚎12-crh-wfi]: https://github.com/galtzo-floss/stone_checksums/actions/workflows/dep-heads.yml/badge.svg
|
|
479
541
|
[🚎13-🔒️-wf]: https://github.com/galtzo-floss/stone_checksums/actions/workflows/locked_deps.yml
|
|
480
542
|
[🚎13-🔒️-wfi]: https://github.com/galtzo-floss/stone_checksums/actions/workflows/locked_deps.yml/badge.svg
|
|
481
543
|
[🚎14-🔓️-wf]: https://github.com/galtzo-floss/stone_checksums/actions/workflows/unlocked_deps.yml
|
|
482
544
|
[🚎14-🔓️-wfi]: https://github.com/galtzo-floss/stone_checksums/actions/workflows/unlocked_deps.yml/badge.svg
|
|
483
|
-
[
|
|
484
|
-
[
|
|
485
|
-
[💎ruby-2.1i]: https://img.shields.io/badge/Ruby-2.1_(%F0%9F%9A%ABCI)-AABBCC?style=for-the-badge&logo=ruby&logoColor=white
|
|
545
|
+
[🚎15-🪪-wf]: https://github.com/galtzo-floss/stone_checksums/actions/workflows/license-eye.yml
|
|
546
|
+
[🚎15-🪪-wfi]: https://github.com/galtzo-floss/stone_checksums/actions/workflows/license-eye.yml/badge.svg
|
|
486
547
|
[💎ruby-2.2i]: https://img.shields.io/badge/Ruby-2.2_(%F0%9F%9A%ABCI)-AABBCC?style=for-the-badge&logo=ruby&logoColor=white
|
|
487
548
|
[💎ruby-2.3i]: https://img.shields.io/badge/Ruby-2.3-DF00CA?style=for-the-badge&logo=ruby&logoColor=white
|
|
488
549
|
[💎ruby-2.4i]: https://img.shields.io/badge/Ruby-2.4-DF00CA?style=for-the-badge&logo=ruby&logoColor=white
|
|
@@ -496,7 +557,7 @@ Thanks for RTFM. ☺️
|
|
|
496
557
|
[💎ruby-c-i]: https://img.shields.io/badge/Ruby-current-CC342D?style=for-the-badge&logo=ruby&logoColor=green
|
|
497
558
|
[💎ruby-headi]: https://img.shields.io/badge/Ruby-HEAD-CC342D?style=for-the-badge&logo=ruby&logoColor=blue
|
|
498
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
|
|
499
|
-
[💎truby-23.0i]: https://img.shields.io/badge/Truffle_Ruby-23.
|
|
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
|
|
500
561
|
[💎truby-23.1i]: https://img.shields.io/badge/Truffle_Ruby-23.1-34BCB1?style=for-the-badge&logo=ruby&logoColor=pink
|
|
501
562
|
[💎truby-c-i]: https://img.shields.io/badge/Truffle_Ruby-current-34BCB1?style=for-the-badge&logo=ruby&logoColor=green
|
|
502
563
|
[💎truby-headi]: https://img.shields.io/badge/Truffle_Ruby-HEAD-34BCB1?style=for-the-badge&logo=ruby&logoColor=blue
|
|
@@ -514,7 +575,7 @@ Thanks for RTFM. ☺️
|
|
|
514
575
|
[🤝cb-pulls]: https://codeberg.org/galtzo-floss/stone_checksums/pulls
|
|
515
576
|
[🤝cb-donate]: https://donate.codeberg.org/
|
|
516
577
|
[🤝contributing]: CONTRIBUTING.md
|
|
517
|
-
[
|
|
578
|
+
[🏀codecov-g]: https://codecov.io/gh/galtzo-floss/stone_checksums/graphs/tree.svg
|
|
518
579
|
[🖐contrib-rocks]: https://contrib.rocks
|
|
519
580
|
[🖐contributors]: https://github.com/galtzo-floss/stone_checksums/graphs/contributors
|
|
520
581
|
[🖐contributors-img]: https://contrib.rocks/image?repo=galtzo-floss/stone_checksums
|
|
@@ -530,23 +591,25 @@ Thanks for RTFM. ☺️
|
|
|
530
591
|
[📗keep-changelog]: https://keepachangelog.com/en/1.0.0/
|
|
531
592
|
[📗keep-changelog-img]: https://img.shields.io/badge/keep--a--changelog-1.0.0-34495e.svg?style=flat
|
|
532
593
|
[📌gitmoji]:https://gitmoji.dev
|
|
533
|
-
[📌gitmoji-img]:https://img.shields.io/badge/gitmoji_commits-%20
|
|
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
|
|
534
595
|
[🧮kloc]: https://www.youtube.com/watch?v=dQw4w9WgXcQ
|
|
535
|
-
[🧮kloc-img]: https://img.shields.io/badge/KLOC-
|
|
596
|
+
[🧮kloc-img]: https://img.shields.io/badge/KLOC-4.112-FFDD67.svg?style=for-the-badge&logo=YouTube&logoColor=blue
|
|
536
597
|
[🔐security]: SECURITY.md
|
|
537
598
|
[🔐security-img]: https://img.shields.io/badge/security-policy-259D6C.svg?style=flat
|
|
538
599
|
[📄copyright-notice-explainer]: https://opensource.stackexchange.com/questions/5778/why-do-licenses-such-as-the-mit-license-specify-a-single-year
|
|
539
600
|
[📄license]: LICENSE.txt
|
|
540
601
|
[📄license-ref]: https://opensource.org/licenses/MIT
|
|
541
602
|
[📄license-img]: https://img.shields.io/badge/License-MIT-259D6C.svg
|
|
603
|
+
[📄license-compat]: https://dev.to/galtzo/how-to-check-license-compatibility-41h0
|
|
604
|
+
[📄license-compat-img]: https://img.shields.io/badge/Apache_Compatible:_Category_A-%E2%9C%93-259D6C.svg?style=flat&logo=Apache
|
|
542
605
|
[📄ilo-declaration]: https://www.ilo.org/declaration/lang--en/index.htm
|
|
543
606
|
[📄ilo-declaration-img]: https://img.shields.io/badge/ILO_Fundamental_Principles-✓-259D6C.svg?style=flat
|
|
544
607
|
[🚎yard-current]: http://rubydoc.info/gems/stone_checksums
|
|
545
|
-
[🚎yard-head]: https://
|
|
608
|
+
[🚎yard-head]: https://stone-checksums.galtzo.com
|
|
546
609
|
[💎stone_checksums]: https://github.com/galtzo-floss/stone_checksums
|
|
547
610
|
[💎SHA_checksums]: https://gitlab.com/galtzo-floss/stone_checksums/-/tree/main/checksums
|
|
548
611
|
[💎rlts]: https://github.com/rubocop-lts/rubocop-lts
|
|
549
|
-
[💎rlts-img]: https://img.shields.io/badge/code_style_
|
|
612
|
+
[💎rlts-img]: https://img.shields.io/badge/code_style_&_linting-rubocop--lts-34495e.svg?plastic&logo=ruby&logoColor=white
|
|
550
613
|
[💎appraisal2]: https://github.com/appraisal-rb/appraisal2
|
|
551
614
|
[💎appraisal2-img]: https://img.shields.io/badge/appraised_by-appraisal2-34495e.svg?plastic&logo=ruby&logoColor=white
|
|
552
615
|
[💎d-in-dvcs]: https://railsbling.com/posts/dvcs/put_the_d_in_dvcs/
|
data/REEK
ADDED
|
File without changes
|
data/RUBOCOP.md
ADDED
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
# RuboCop Usage Guide
|
|
2
|
+
|
|
3
|
+
## Overview
|
|
4
|
+
|
|
5
|
+
A tale of two RuboCop plugin gems.
|
|
6
|
+
|
|
7
|
+
### RuboCop Gradual
|
|
8
|
+
|
|
9
|
+
This project uses `rubocop_gradual` instead of vanilla RuboCop for code style checking. The `rubocop_gradual` tool allows for gradual adoption of RuboCop rules by tracking violations in a lock file.
|
|
10
|
+
|
|
11
|
+
### RuboCop LTS
|
|
12
|
+
|
|
13
|
+
This project uses `rubocop-lts` to ensure, on a best-effort basis, compatibility with Ruby >= 1.9.2.
|
|
14
|
+
RuboCop rules are meticulously configured by the `rubocop-lts` family of gems to ensure that a project is compatible with a specific version of Ruby. See: https://rubocop-lts.gitlab.io for more.
|
|
15
|
+
|
|
16
|
+
## Checking RuboCop Violations
|
|
17
|
+
|
|
18
|
+
To check for RuboCop violations in this project, always use:
|
|
19
|
+
|
|
20
|
+
```bash
|
|
21
|
+
bundle exec rake rubocop_gradual:check
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
**Do not use** the standard RuboCop commands like:
|
|
25
|
+
- `bundle exec rubocop`
|
|
26
|
+
- `rubocop`
|
|
27
|
+
|
|
28
|
+
## Understanding the Lock File
|
|
29
|
+
|
|
30
|
+
The `.rubocop_gradual.lock` file tracks all current RuboCop violations in the project. This allows the team to:
|
|
31
|
+
|
|
32
|
+
1. Prevent new violations while gradually fixing existing ones
|
|
33
|
+
2. Track progress on code style improvements
|
|
34
|
+
3. Ensure CI builds don't fail due to pre-existing violations
|
|
35
|
+
|
|
36
|
+
## Common Commands
|
|
37
|
+
|
|
38
|
+
- **Check violations**
|
|
39
|
+
- `bundle exec rake rubocop_gradual`
|
|
40
|
+
- `bundle exec rake rubocop_gradual:check`
|
|
41
|
+
- **(Safe) Autocorrect violations, and update lockfile if no new violations**
|
|
42
|
+
- `bundle exec rake rubocop_gradual:autocorrect`
|
|
43
|
+
- **Force update the lock file (w/o autocorrect) to match violations present in code**
|
|
44
|
+
- `bundle exec rake rubocop_gradual:force_update`
|
|
45
|
+
|
|
46
|
+
## Workflow
|
|
47
|
+
|
|
48
|
+
1. Before submitting a PR, run `bundle exec rake rubocop_gradual:autocorrect`
|
|
49
|
+
a. or just the default `bundle exec rake`, as autocorrection is a pre-requisite of the default task.
|
|
50
|
+
2. If there are new violations, either:
|
|
51
|
+
- Fix them in your code
|
|
52
|
+
- Run `bundle exec rake rubocop_gradual:force_update` to update the lock file (only for violations you can't fix immediately)
|
|
53
|
+
3. Commit the updated `.rubocop_gradual.lock` file along with your changes
|
|
54
|
+
|
|
55
|
+
## Never add inline RuboCop disables
|
|
56
|
+
|
|
57
|
+
Do not add inline `rubocop:disable` / `rubocop:enable` comments anywhere in the codebase (including specs, except when following the few existing `rubocop:disable` patterns for a rule already being disabled elsewhere in the code). We handle exceptions in two supported ways:
|
|
58
|
+
|
|
59
|
+
- Permanent/structural exceptions: prefer adjusting the RuboCop configuration (e.g., in `.rubocop.yml`) to exclude a rule for a path or file pattern when it makes sense project-wide.
|
|
60
|
+
- Temporary exceptions while improving code: record the current violations in `.rubocop_gradual.lock` via the gradual workflow:
|
|
61
|
+
- `bundle exec rake rubocop_gradual:autocorrect` (preferred; will autocorrect what it can and update the lock only if no new violations were introduced)
|
|
62
|
+
- If needed, `bundle exec rake rubocop_gradual:force_update` (as a last resort when you cannot fix the newly reported violations immediately)
|
|
63
|
+
|
|
64
|
+
In general, treat the rules as guidance to follow; fix violations rather than ignore them. For example, RSpec conventions in this project expect `described_class` to be used in specs that target a specific class under test.
|
|
65
|
+
|
|
66
|
+
## Benefits of rubocop_gradual
|
|
67
|
+
|
|
68
|
+
- Allows incremental adoption of code style rules
|
|
69
|
+
- Prevents CI failures due to pre-existing violations
|
|
70
|
+
- Provides a clear record of code style debt
|
|
71
|
+
- Enables focused efforts on improving code quality over time
|
data/lib/gem_checksums.rb
CHANGED
|
@@ -25,31 +25,31 @@ module GemChecksums
|
|
|
25
25
|
GIT_DRY_RUN_ENV = ENV.fetch("GEM_CHECKSUMS_GIT_DRY_RUN", "false").casecmp("true") == 0
|
|
26
26
|
CHECKSUMS_DIR = ENV.fetch("GEM_CHECKSUMS_CHECKSUMS_DIR", "checksums")
|
|
27
27
|
PACKAGE_DIR = ENV.fetch("GEM_CHECKSUMS_PACKAGE_DIR", "pkg")
|
|
28
|
-
BUILD_TIME_WARNING =
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
28
|
+
BUILD_TIME_WARNING = <<-BUILD_TIME_WARNING
|
|
29
|
+
WARNING: Build time not provided via environment variable SOURCE_DATE_EPOCH.
|
|
30
|
+
When using Bundler < 2.7.0, you must set SOURCE_DATE_EPOCH *before* building
|
|
31
|
+
the gem to ensure consistent SHA-256 & SHA-512 checksums.
|
|
32
|
+
|
|
33
|
+
PREFERRED: Upgrade to Bundler >= 2.7.0, which uses a constant timestamp for gem builds,
|
|
34
|
+
making SOURCE_DATE_EPOCH unnecessary for reproducible checksums.
|
|
35
|
+
|
|
36
|
+
IMPORTANT: If you choose to set the build time via SOURCE_DATE_EPOCH,
|
|
37
|
+
you must re-build the gem, i.e. `bundle exec rake build` or `gem build`.
|
|
38
|
+
|
|
39
|
+
How to set the build time (only needed for Bundler < 2.7.0):
|
|
40
|
+
|
|
41
|
+
In zsh shell:
|
|
42
|
+
- export SOURCE_DATE_EPOCH=$EPOCHSECONDS && echo $SOURCE_DATE_EPOCH
|
|
43
|
+
- If the echo above has no output, then it didn't work.
|
|
44
|
+
- Note that you'll need the `zsh/datetime` module enabled.
|
|
45
|
+
|
|
46
|
+
In fish shell:
|
|
47
|
+
- set -x SOURCE_DATE_EPOCH (date +%s)
|
|
48
|
+
- echo $SOURCE_DATE_EPOCH
|
|
49
|
+
|
|
50
|
+
In bash shell:
|
|
51
|
+
- export SOURCE_DATE_EPOCH=$(date +%s) && echo $SOURCE_DATE_EPOCH
|
|
52
|
+
|
|
53
53
|
BUILD_TIME_WARNING
|
|
54
54
|
|
|
55
55
|
# Make this gem's rake tasks available in your Rakefile:
|
|
@@ -108,11 +108,11 @@ module GemChecksums
|
|
|
108
108
|
|
|
109
109
|
unless proceed
|
|
110
110
|
# Non-interactive prompt: advise and abort
|
|
111
|
-
prompt_msg =
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
111
|
+
prompt_msg = <<-PROMPT
|
|
112
|
+
Detected Bundler #{bundler_ver || "(unknown)"} which is older than 2.7.0.
|
|
113
|
+
For reproducible builds without SOURCE_DATE_EPOCH, please update Bundler to >= 2.7.0.
|
|
114
|
+
If you still want to proceed with this older Bundler, you must set SOURCE_DATE_EPOCH and re-run.
|
|
115
|
+
Tip: set GEM_CHECKSUMS_ASSUME_YES=true to proceed non-interactively (still requires SOURCE_DATE_EPOCH).
|
|
116
116
|
PROMPT
|
|
117
117
|
warn(prompt_msg)
|
|
118
118
|
# Continue to enforce SOURCE_DATE_EPOCH below; if not set, this will raise.
|
|
@@ -174,34 +174,34 @@ module GemChecksums
|
|
|
174
174
|
|
|
175
175
|
version = gem_name[VERSION_REGEX]
|
|
176
176
|
|
|
177
|
-
git_cmd =
|
|
178
|
-
|
|
179
|
-
|
|
177
|
+
git_cmd = <<-GIT_MSG.rstrip
|
|
178
|
+
git add #{CHECKSUMS_DIR}/* && \
|
|
179
|
+
git commit #{git_dry_run_flag} -m "🔒️ Checksums for v#{version}"
|
|
180
180
|
GIT_MSG
|
|
181
181
|
|
|
182
182
|
if git_dry_run_flag
|
|
183
|
-
git_cmd +=
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
183
|
+
git_cmd += <<-CLEANUP_MSG
|
|
184
|
+
&& \
|
|
185
|
+
echo "Cleaning up in dry run mode" && \
|
|
186
|
+
git reset #{digest512_64bit_path} && \
|
|
187
|
+
git reset #{digest256_32bit_path} && \
|
|
188
|
+
rm -f #{digest512_64bit_path} && \
|
|
189
|
+
rm -f #{digest256_32bit_path}
|
|
190
190
|
CLEANUP_MSG
|
|
191
191
|
end
|
|
192
192
|
|
|
193
|
-
puts
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
193
|
+
puts <<-RESULTS
|
|
194
|
+
[ GEM: #{gem_name} ]
|
|
195
|
+
[ VERSION: #{version} ]
|
|
196
|
+
[ GEM PKG LOCATION: #{gem_pkg} ]
|
|
197
|
+
[ CHECKSUM SHA-256: #{digest256_32bit} ]
|
|
198
|
+
[ CHECKSUM SHA-512: #{digest512_64bit} ]
|
|
199
|
+
[ CHECKSUM SHA-256 PATH: #{digest256_32bit_path} ]
|
|
200
|
+
[ CHECKSUM SHA-512 PATH: #{digest512_64bit_path} ]
|
|
201
|
+
|
|
202
|
+
... Running ...
|
|
203
|
+
|
|
204
|
+
#{git_cmd}
|
|
205
205
|
RESULTS
|
|
206
206
|
|
|
207
207
|
if git_dry_run_flag
|
data.tar.gz.sig
CHANGED
|
Binary file
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: stone_checksums
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 1.0.
|
|
4
|
+
version: 1.0.3
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Peter H. Boling
|
|
@@ -46,7 +46,7 @@ dependencies:
|
|
|
46
46
|
version: '1.1'
|
|
47
47
|
- - ">="
|
|
48
48
|
- !ruby/object:Gem::Version
|
|
49
|
-
version: 1.1.
|
|
49
|
+
version: 1.1.9
|
|
50
50
|
type: :runtime
|
|
51
51
|
prerelease: false
|
|
52
52
|
version_requirements: !ruby/object:Gem::Requirement
|
|
@@ -56,9 +56,85 @@ dependencies:
|
|
|
56
56
|
version: '1.1'
|
|
57
57
|
- - ">="
|
|
58
58
|
- !ruby/object:Gem::Version
|
|
59
|
-
version: 1.1.
|
|
59
|
+
version: 1.1.9
|
|
60
60
|
- !ruby/object:Gem::Dependency
|
|
61
61
|
name: kettle-dev
|
|
62
|
+
requirement: !ruby/object:Gem::Requirement
|
|
63
|
+
requirements:
|
|
64
|
+
- - "~>"
|
|
65
|
+
- !ruby/object:Gem::Version
|
|
66
|
+
version: '1.1'
|
|
67
|
+
type: :development
|
|
68
|
+
prerelease: false
|
|
69
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
70
|
+
requirements:
|
|
71
|
+
- - "~>"
|
|
72
|
+
- !ruby/object:Gem::Version
|
|
73
|
+
version: '1.1'
|
|
74
|
+
- !ruby/object:Gem::Dependency
|
|
75
|
+
name: bundler-audit
|
|
76
|
+
requirement: !ruby/object:Gem::Requirement
|
|
77
|
+
requirements:
|
|
78
|
+
- - "~>"
|
|
79
|
+
- !ruby/object:Gem::Version
|
|
80
|
+
version: 0.9.2
|
|
81
|
+
type: :development
|
|
82
|
+
prerelease: false
|
|
83
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
84
|
+
requirements:
|
|
85
|
+
- - "~>"
|
|
86
|
+
- !ruby/object:Gem::Version
|
|
87
|
+
version: 0.9.2
|
|
88
|
+
- !ruby/object:Gem::Dependency
|
|
89
|
+
name: rake
|
|
90
|
+
requirement: !ruby/object:Gem::Requirement
|
|
91
|
+
requirements:
|
|
92
|
+
- - "~>"
|
|
93
|
+
- !ruby/object:Gem::Version
|
|
94
|
+
version: '13.0'
|
|
95
|
+
type: :development
|
|
96
|
+
prerelease: false
|
|
97
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
98
|
+
requirements:
|
|
99
|
+
- - "~>"
|
|
100
|
+
- !ruby/object:Gem::Version
|
|
101
|
+
version: '13.0'
|
|
102
|
+
- !ruby/object:Gem::Dependency
|
|
103
|
+
name: require_bench
|
|
104
|
+
requirement: !ruby/object:Gem::Requirement
|
|
105
|
+
requirements:
|
|
106
|
+
- - "~>"
|
|
107
|
+
- !ruby/object:Gem::Version
|
|
108
|
+
version: '1.0'
|
|
109
|
+
- - ">="
|
|
110
|
+
- !ruby/object:Gem::Version
|
|
111
|
+
version: 1.0.4
|
|
112
|
+
type: :development
|
|
113
|
+
prerelease: false
|
|
114
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
115
|
+
requirements:
|
|
116
|
+
- - "~>"
|
|
117
|
+
- !ruby/object:Gem::Version
|
|
118
|
+
version: '1.0'
|
|
119
|
+
- - ">="
|
|
120
|
+
- !ruby/object:Gem::Version
|
|
121
|
+
version: 1.0.4
|
|
122
|
+
- !ruby/object:Gem::Dependency
|
|
123
|
+
name: appraisal2
|
|
124
|
+
requirement: !ruby/object:Gem::Requirement
|
|
125
|
+
requirements:
|
|
126
|
+
- - "~>"
|
|
127
|
+
- !ruby/object:Gem::Version
|
|
128
|
+
version: '3.0'
|
|
129
|
+
type: :development
|
|
130
|
+
prerelease: false
|
|
131
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
132
|
+
requirements:
|
|
133
|
+
- - "~>"
|
|
134
|
+
- !ruby/object:Gem::Version
|
|
135
|
+
version: '3.0'
|
|
136
|
+
- !ruby/object:Gem::Dependency
|
|
137
|
+
name: kettle-test
|
|
62
138
|
requirement: !ruby/object:Gem::Requirement
|
|
63
139
|
requirements:
|
|
64
140
|
- - "~>"
|
|
@@ -66,7 +142,7 @@ dependencies:
|
|
|
66
142
|
version: '1.0'
|
|
67
143
|
- - ">="
|
|
68
144
|
- !ruby/object:Gem::Version
|
|
69
|
-
version: 1.0.
|
|
145
|
+
version: 1.0.6
|
|
70
146
|
type: :development
|
|
71
147
|
prerelease: false
|
|
72
148
|
version_requirements: !ruby/object:Gem::Requirement
|
|
@@ -76,27 +152,41 @@ dependencies:
|
|
|
76
152
|
version: '1.0'
|
|
77
153
|
- - ">="
|
|
78
154
|
- !ruby/object:Gem::Version
|
|
79
|
-
version: 1.0.
|
|
155
|
+
version: 1.0.6
|
|
80
156
|
- !ruby/object:Gem::Dependency
|
|
81
|
-
name:
|
|
157
|
+
name: ruby-progressbar
|
|
82
158
|
requirement: !ruby/object:Gem::Requirement
|
|
83
159
|
requirements:
|
|
84
160
|
- - "~>"
|
|
85
161
|
- !ruby/object:Gem::Version
|
|
86
|
-
version: '
|
|
162
|
+
version: '1.13'
|
|
163
|
+
type: :development
|
|
164
|
+
prerelease: false
|
|
165
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
166
|
+
requirements:
|
|
167
|
+
- - "~>"
|
|
168
|
+
- !ruby/object:Gem::Version
|
|
169
|
+
version: '1.13'
|
|
170
|
+
- !ruby/object:Gem::Dependency
|
|
171
|
+
name: gitmoji-regex
|
|
172
|
+
requirement: !ruby/object:Gem::Requirement
|
|
173
|
+
requirements:
|
|
174
|
+
- - "~>"
|
|
175
|
+
- !ruby/object:Gem::Version
|
|
176
|
+
version: '1.0'
|
|
87
177
|
- - ">="
|
|
88
178
|
- !ruby/object:Gem::Version
|
|
89
|
-
version: 0.
|
|
179
|
+
version: 1.0.3
|
|
90
180
|
type: :development
|
|
91
181
|
prerelease: false
|
|
92
182
|
version_requirements: !ruby/object:Gem::Requirement
|
|
93
183
|
requirements:
|
|
94
184
|
- - "~>"
|
|
95
185
|
- !ruby/object:Gem::Version
|
|
96
|
-
version: '0
|
|
186
|
+
version: '1.0'
|
|
97
187
|
- - ">="
|
|
98
188
|
- !ruby/object:Gem::Version
|
|
99
|
-
version: 0.
|
|
189
|
+
version: 1.0.3
|
|
100
190
|
description: "\U0001F5FF Generate both SHA256 & SHA512 checksums into the checksums
|
|
101
191
|
directory, and git commit them.\n gem install stone_checksums\nThen, use the rake
|
|
102
192
|
task or the script:\n rake build:generate_checksums\n gem_checksums\nControl options
|
|
@@ -109,17 +199,25 @@ executables:
|
|
|
109
199
|
extensions: []
|
|
110
200
|
extra_rdoc_files:
|
|
111
201
|
- CHANGELOG.md
|
|
202
|
+
- CITATION.cff
|
|
112
203
|
- CODE_OF_CONDUCT.md
|
|
113
204
|
- CONTRIBUTING.md
|
|
205
|
+
- FUNDING.md
|
|
114
206
|
- LICENSE.txt
|
|
115
207
|
- README.md
|
|
208
|
+
- REEK
|
|
209
|
+
- RUBOCOP.md
|
|
116
210
|
- SECURITY.md
|
|
117
211
|
files:
|
|
118
212
|
- CHANGELOG.md
|
|
213
|
+
- CITATION.cff
|
|
119
214
|
- CODE_OF_CONDUCT.md
|
|
120
215
|
- CONTRIBUTING.md
|
|
216
|
+
- FUNDING.md
|
|
121
217
|
- LICENSE.txt
|
|
122
218
|
- README.md
|
|
219
|
+
- REEK
|
|
220
|
+
- RUBOCOP.md
|
|
123
221
|
- SECURITY.md
|
|
124
222
|
- exe/gem_checksums
|
|
125
223
|
- lib/gem_checksums.rb
|
|
@@ -135,10 +233,10 @@ licenses:
|
|
|
135
233
|
- MIT
|
|
136
234
|
metadata:
|
|
137
235
|
homepage_uri: https://stone-checksums.galtzo.com/
|
|
138
|
-
source_code_uri: https://github.com/galtzo-floss/stone_checksums/tree/v1.0.
|
|
139
|
-
changelog_uri: https://github.com/galtzo-floss/stone_checksums/blob/v1.0.
|
|
236
|
+
source_code_uri: https://github.com/galtzo-floss/stone_checksums/tree/v1.0.3
|
|
237
|
+
changelog_uri: https://github.com/galtzo-floss/stone_checksums/blob/v1.0.3/CHANGELOG.md
|
|
140
238
|
bug_tracker_uri: https://github.com/galtzo-floss/stone_checksums/issues
|
|
141
|
-
documentation_uri: https://www.rubydoc.info/gems/stone_checksums/1.0.
|
|
239
|
+
documentation_uri: https://www.rubydoc.info/gems/stone_checksums/1.0.3
|
|
142
240
|
funding_uri: https://github.com/sponsors/pboling
|
|
143
241
|
wiki_uri: https://github.com/galtzo-floss/stone_checksums/wiki
|
|
144
242
|
news_uri: https://www.railsbling.com/tags/stone_checksums
|
|
@@ -150,6 +248,8 @@ rdoc_options:
|
|
|
150
248
|
libraries"
|
|
151
249
|
- "--main"
|
|
152
250
|
- README.md
|
|
251
|
+
- "--exclude"
|
|
252
|
+
- "^sig/"
|
|
153
253
|
- "--line-numbers"
|
|
154
254
|
- "--inline-source"
|
|
155
255
|
- "--quiet"
|
|
@@ -166,7 +266,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
166
266
|
- !ruby/object:Gem::Version
|
|
167
267
|
version: '0'
|
|
168
268
|
requirements: []
|
|
169
|
-
rubygems_version: 3.7.
|
|
269
|
+
rubygems_version: 3.7.2
|
|
170
270
|
specification_version: 4
|
|
171
271
|
summary: "\U0001F5FF Generate both SHA256 & SHA512 checksums of RubyGem libraries"
|
|
172
272
|
test_files: []
|
metadata.gz.sig
CHANGED
|
Binary file
|