yard-fence 0.8.2 → 0.9.0
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 +30 -1
- data/CITATION.cff +6 -6
- data/CONTRIBUTING.md +51 -34
- data/FUNDING.md +6 -9
- data/LICENSE.md +10 -0
- data/README.md +132 -190
- data/certs/pboling.pem +27 -0
- data/lib/yard/fence/version.rb +2 -2
- data/lib/yard/fence.rb +38 -26
- data/sig/yard/fence/version.rbs +9 -0
- data/sig/yard/fence.rbs +10 -0
- data.tar.gz.sig +0 -0
- metadata +84 -78
- metadata.gz.sig +0 -0
- data/LICENSE.txt +0 -21
- data/REEK +0 -0
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 9d5f096b0f24b04537ca7eedf32025ac2ff3f4fbcd2ffd3f8a61858cb22dd987
|
|
4
|
+
data.tar.gz: d69fd384aee0052908e6a182d46f148f924d4427c983a4aef53b612b6230edb6
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: ff41883cf435550001b5a76279770622613fac37492e87649c6cc740e21e7e43d7f9d99a80e844fd0d117e07f6ba4b8fd40d8603aa21bdbf381f6966236202c0
|
|
7
|
+
data.tar.gz: '0960b5f3d1cd6373cd71f86c681e577406a0ffe6c2cdc36d3251e137c009795ea4ffc448e11545740bdc56e75d9c731e33e068c691812c4b8c7e06ce5f50f734'
|
checksums.yaml.gz.sig
CHANGED
|
Binary file
|
data/CHANGELOG.md
CHANGED
|
@@ -28,8 +28,35 @@ Please file a bug if you notice a violation of semantic versioning.
|
|
|
28
28
|
|
|
29
29
|
### Fixed
|
|
30
30
|
|
|
31
|
+
- Fixed CI workflow setup for appraisal-based style and coverage jobs, locked-deps, and TruffleRuby 23.1.
|
|
32
|
+
|
|
31
33
|
### Security
|
|
32
34
|
|
|
35
|
+
## [0.9.0] - 2026-05-23
|
|
36
|
+
|
|
37
|
+
- TAG: [v0.9.0][0.9.0t]
|
|
38
|
+
- COVERAGE: 97.71% -- 171/175 lines in 5 files
|
|
39
|
+
- BRANCH COVERAGE: 90.74% -- 49/54 branches in 5 files
|
|
40
|
+
- 47.37% documented
|
|
41
|
+
|
|
42
|
+
### Added
|
|
43
|
+
|
|
44
|
+
- `Yard::Fence.install_rake_tasks!` for explicit integration with a chosen documentation rake task
|
|
45
|
+
- Rake task integration now wires `yard:fence:prepare` before the selected YARD task and runs HTML post-processing after that task completes
|
|
46
|
+
|
|
47
|
+
### Changed
|
|
48
|
+
|
|
49
|
+
- Documentation processing is now Rake-driven. Projects should call `Yard::Fence.install_rake_tasks!` after defining their `:yard` task so prepare and post-processing hooks run only for documentation builds.
|
|
50
|
+
- Project maintenance files, workflows, modular Gemfiles, and local development wiring were refreshed with the current kettle-jem template.
|
|
51
|
+
|
|
52
|
+
### Removed
|
|
53
|
+
|
|
54
|
+
- Removed global `at_exit` post-processing. Raw `yard` / `bin/yard` no longer runs `yard-fence` post-processing unless the caller invokes the Rake-integrated documentation task.
|
|
55
|
+
|
|
56
|
+
### Fixed
|
|
57
|
+
|
|
58
|
+
- Loading YARD during unrelated rake tasks no longer clears or rewrites `docs/`.
|
|
59
|
+
|
|
33
60
|
## [0.8.2] - 2025-12-30
|
|
34
61
|
|
|
35
62
|
- TAG: [v0.8.2][0.8.2t]
|
|
@@ -182,7 +209,9 @@ Please file a bug if you notice a violation of semantic versioning.
|
|
|
182
209
|
|
|
183
210
|
- Initial release
|
|
184
211
|
|
|
185
|
-
[Unreleased]: https://github.com/galtzo-floss/yard-fence/compare/v0.
|
|
212
|
+
[Unreleased]: https://github.com/galtzo-floss/yard-fence/compare/v0.9.0...HEAD
|
|
213
|
+
[0.9.0]: https://github.com/galtzo-floss/yard-fence/compare/v0.8.2...v0.9.0
|
|
214
|
+
[0.9.0t]: https://github.com/galtzo-floss/yard-fence/releases/tag/v0.9.0
|
|
186
215
|
[0.8.2]: https://github.com/galtzo-floss/yard-fence/compare/v0.8.1...v0.8.2
|
|
187
216
|
[0.8.2t]: https://github.com/galtzo-floss/yard-fence/releases/tag/v0.8.2
|
|
188
217
|
[0.8.1]: https://github.com/galtzo-floss/yard-fence/compare/v0.8.0...v0.8.1
|
data/CITATION.cff
CHANGED
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
cff-version: 1.2.0
|
|
2
|
-
title: yard-fence
|
|
2
|
+
title: "yard-fence"
|
|
3
3
|
message: >-
|
|
4
4
|
If you use this work and you want to cite it,
|
|
5
5
|
then you can use the metadata from this file.
|
|
6
6
|
type: software
|
|
7
7
|
authors:
|
|
8
|
-
- given-names: Peter
|
|
9
|
-
family-names: Boling
|
|
10
|
-
email:
|
|
11
|
-
affiliation:
|
|
8
|
+
- given-names: "Peter H."
|
|
9
|
+
family-names: "Boling"
|
|
10
|
+
email: "floss@galtzo.com"
|
|
11
|
+
affiliation: "galtzo.com"
|
|
12
12
|
orcid: 'https://orcid.org/0009-0008-8519-441X'
|
|
13
13
|
identifiers:
|
|
14
14
|
- type: url
|
|
15
15
|
value: 'https://github.com/galtzo-floss/yard-fence'
|
|
16
|
-
description: yard-fence
|
|
16
|
+
description: "yard-fence"
|
|
17
17
|
repository-code: 'https://github.com/galtzo-floss/yard-fence'
|
|
18
18
|
abstract: >-
|
|
19
19
|
yard-fence
|
data/CONTRIBUTING.md
CHANGED
|
@@ -8,29 +8,37 @@ To submit a patch, please fork the project, create a patch with tests, and send
|
|
|
8
8
|
|
|
9
9
|
Remember to [![Keep A Changelog][📗keep-changelog-img]][📗keep-changelog] if you make changes.
|
|
10
10
|
|
|
11
|
+
## Developer Certificate of Origin
|
|
12
|
+
|
|
13
|
+
In order to protect users of this project, we require all contributors to comply with the
|
|
14
|
+
[Developer Certificate of Origin](https://developercertificate.org/).
|
|
15
|
+
This ensures that all contributions are properly licensed and attributed.
|
|
16
|
+
|
|
11
17
|
## Help out!
|
|
12
18
|
|
|
13
|
-
Take a look at the
|
|
19
|
+
Take a look at the open issues and pull requests, or use the gem and find something to improve.
|
|
14
20
|
|
|
15
21
|
Follow these instructions:
|
|
16
22
|
|
|
17
|
-
1.
|
|
18
|
-
2.
|
|
19
|
-
3.
|
|
20
|
-
4.
|
|
21
|
-
5.
|
|
22
|
-
6.
|
|
23
|
-
7.
|
|
23
|
+
1. Join the Discord: [![Live Chat on Discord][✉️discord-invite-img]][✉️discord-invite]
|
|
24
|
+
2. Fork the repository
|
|
25
|
+
3. Create your feature branch (`git checkout -b my-new-feature`)
|
|
26
|
+
4. Make some fixes.
|
|
27
|
+
5. Commit your changes (`git commit -am 'Added some feature'`)
|
|
28
|
+
6. Push to the branch (`git push origin my-new-feature`)
|
|
29
|
+
7. Make sure to add tests for it. This is important, so it doesn't break in a future release.
|
|
30
|
+
8. Create new Pull Request.
|
|
31
|
+
9. Announce it in the channel for this org in the [Discord][✉️discord-invite]!
|
|
24
32
|
|
|
25
33
|
## Executables vs Rake tasks
|
|
26
34
|
|
|
27
|
-
Executables shipped by dependencies, such as
|
|
35
|
+
Executables shipped by dependencies, such as kettle-dev, and stone_checksums, are available
|
|
28
36
|
after running `bin/setup`. These include:
|
|
29
37
|
|
|
30
38
|
- gem_checksums
|
|
31
39
|
- kettle-changelog
|
|
32
40
|
- kettle-commit-msg
|
|
33
|
-
-
|
|
41
|
+
- kettle-dev-setup
|
|
34
42
|
- kettle-dvcs
|
|
35
43
|
- kettle-pre-release
|
|
36
44
|
- kettle-readme-backers
|
|
@@ -52,7 +60,7 @@ General/runtime
|
|
|
52
60
|
- CI: When set to true, adjusts default rake tasks toward CI behavior
|
|
53
61
|
|
|
54
62
|
Coverage (kettle-soup-cover / SimpleCov)
|
|
55
|
-
- K_SOUP_COV_DO: Enable coverage collection (default: true in .
|
|
63
|
+
- K_SOUP_COV_DO: Enable coverage collection (default: true in `mise.toml`)
|
|
56
64
|
- K_SOUP_COV_FORMATTERS: Comma-separated list of formatters (html, xml, rcov, lcov, json, tty)
|
|
57
65
|
- K_SOUP_COV_MIN_LINE: Minimum line coverage threshold (integer, e.g., 100)
|
|
58
66
|
- K_SOUP_COV_MIN_BRANCH: Minimum branch coverage threshold (integer, e.g., 100)
|
|
@@ -68,7 +76,9 @@ GitHub API and CI helpers
|
|
|
68
76
|
Releasing and signing
|
|
69
77
|
- SKIP_GEM_SIGNING: If set, skip gem signing during build/release
|
|
70
78
|
- GEM_CERT_USER: Username for selecting your public cert in `certs/<USER>.pem` (defaults to $USER)
|
|
71
|
-
- SOURCE_DATE_EPOCH: Reproducible build timestamp.
|
|
79
|
+
- SOURCE_DATE_EPOCH: Reproducible build timestamp.
|
|
80
|
+
- `kettle-release` will set this automatically for the session.
|
|
81
|
+
- Not needed on bundler >= 2.7.0, as reproducible builds have become the default.
|
|
72
82
|
|
|
73
83
|
Git hooks and commit message helpers (exe/kettle-commit-msg)
|
|
74
84
|
- GIT_HOOK_BRANCH_VALIDATE: Branch name validation mode (e.g., `jira`) or `false` to disable
|
|
@@ -76,7 +86,7 @@ Git hooks and commit message helpers (exe/kettle-commit-msg)
|
|
|
76
86
|
- GIT_HOOK_FOOTER_SENTINEL: Required when footer append is enabled — a unique first-line sentinel to prevent duplicates
|
|
77
87
|
- GIT_HOOK_FOOTER_APPEND_DEBUG: Extra debug output in the footer template (true/false)
|
|
78
88
|
|
|
79
|
-
For a quick starting point, this repository’s
|
|
89
|
+
For a quick starting point, this repository’s `mise.toml` defines the shared defaults, and `.env.local` can override them locally. Copy `.env.local.example` to `.env.local`, use `KEY=value` lines, and either activate `mise` in your shell or run commands through `mise exec -C /path/to/project -- ...`.
|
|
80
90
|
|
|
81
91
|
## Appraisals
|
|
82
92
|
|
|
@@ -87,24 +97,28 @@ They are created and updated with the commands:
|
|
|
87
97
|
bin/rake appraisal:update
|
|
88
98
|
```
|
|
89
99
|
|
|
90
|
-
|
|
100
|
+
If you need to reset all gemfiles/*.gemfile.lock files:
|
|
101
|
+
|
|
102
|
+
```console
|
|
103
|
+
bin/rake appraisal:reset
|
|
104
|
+
```
|
|
91
105
|
|
|
92
|
-
|
|
106
|
+
When adding an appraisal to CI, check the [runner tool cache][🏃♂️runner-tool-cache] to see which runner to use.
|
|
93
107
|
|
|
94
|
-
|
|
108
|
+
## Run Tests
|
|
95
109
|
|
|
96
|
-
|
|
110
|
+
Run tests via `kettle-test` (provided by `kettle-test`). It runs RSpec, writes the full log to
|
|
111
|
+
`tmp/kettle-test/rspec-TIMESTAMP.log`, and prints a compact highlight block with timing, seed,
|
|
112
|
+
pass/fail count, failing example list, and SimpleCov coverage percentages.
|
|
97
113
|
|
|
98
114
|
```console
|
|
99
|
-
bundle exec
|
|
115
|
+
bundle exec kettle-test
|
|
100
116
|
```
|
|
101
117
|
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
To run all tests
|
|
118
|
+
For targeted runs, disable the hard coverage threshold to avoid false failures:
|
|
105
119
|
|
|
106
120
|
```console
|
|
107
|
-
bundle exec
|
|
121
|
+
K_SOUP_COV_MIN_HARD=false bundle exec kettle-test spec/path/to/spec.rb
|
|
108
122
|
```
|
|
109
123
|
|
|
110
124
|
### Spec organization (required)
|
|
@@ -168,39 +182,41 @@ NOTE: To build without signing the gem set `SKIP_GEM_SIGNING` to any value in th
|
|
|
168
182
|
1. Update version.rb to contain the correct version-to-be-released.
|
|
169
183
|
2. Run `bundle exec kettle-changelog`.
|
|
170
184
|
3. Run `bundle exec kettle-release`.
|
|
185
|
+
4. Stay awake and monitor the release process for any errors, and answer any prompts.
|
|
171
186
|
|
|
172
187
|
#### Manual process
|
|
173
188
|
|
|
174
189
|
1. Run `bin/setup && bin/rake` as a "test, coverage, & linting" sanity check
|
|
175
190
|
2. Update the version number in `version.rb`, and ensure `CHANGELOG.md` reflects changes
|
|
176
191
|
3. Run `bin/setup && bin/rake` again as a secondary check, and to update `Gemfile.lock`
|
|
177
|
-
4. Run `
|
|
178
|
-
5. Run `git
|
|
192
|
+
4. Run `bin/rake yard` to regenerate the docs site using the canonical docs task
|
|
193
|
+
5. Run `git commit -am "🔖 Prepare release v<VERSION>"` to commit the changes
|
|
194
|
+
6. Run `git push` to trigger the final CI pipeline before release, and merge PRs
|
|
179
195
|
- NOTE: Remember to [check the build][🧪build].
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
196
|
+
7. Run `export GIT_TRUNK_BRANCH_NAME="$(git remote show origin | grep 'HEAD branch' | cut -d ' ' -f5)" && echo $GIT_TRUNK_BRANCH_NAME`
|
|
197
|
+
8. Run `git checkout $GIT_TRUNK_BRANCH_NAME`
|
|
198
|
+
9. Run `git pull origin $GIT_TRUNK_BRANCH_NAME` to ensure latest trunk code
|
|
199
|
+
10. Optional for older Bundler (< 2.7.0): Set `SOURCE_DATE_EPOCH` so `rake build` and `rake release` use the same timestamp and generate the same checksums
|
|
184
200
|
- If your Bundler is >= 2.7.0, you can skip this; builds are reproducible by default.
|
|
185
201
|
- Run `export SOURCE_DATE_EPOCH=$EPOCHSECONDS && echo $SOURCE_DATE_EPOCH`
|
|
186
202
|
- If the echo above has no output, then it didn't work.
|
|
187
203
|
- Note: `zsh/datetime` module is needed, if running `zsh`.
|
|
188
204
|
- In older versions of `bash` you can use `date +%s` instead, i.e. `export SOURCE_DATE_EPOCH=$(date +%s) && echo $SOURCE_DATE_EPOCH`
|
|
189
|
-
|
|
190
|
-
|
|
205
|
+
11. Run `bundle exec rake build`
|
|
206
|
+
12. Run `bin/gem_checksums` (more context [1][🔒️rubygems-checksums-pr], [2][🔒️rubygems-guides-pr])
|
|
191
207
|
to create SHA-256 and SHA-512 checksums. This functionality is provided by the `stone_checksums`
|
|
192
208
|
[gem][💎stone_checksums].
|
|
193
209
|
- The script automatically commits but does not push the checksums
|
|
194
|
-
|
|
210
|
+
13. Sanity check the SHA256, comparing with the output from the `bin/gem_checksums` command:
|
|
195
211
|
- `sha256sum pkg/<gem name>-<version>.gem`
|
|
196
|
-
|
|
212
|
+
14. Run `bundle exec rake release` which will create a git tag for the version,
|
|
197
213
|
push git commits and tags, and push the `.gem` file to the gem host configured in the gemspec.
|
|
198
214
|
|
|
199
|
-
[📜src-gl]: https://gitlab.com/galtzo-floss/yard-fence
|
|
215
|
+
[📜src-gl]: https://gitlab.com/galtzo-floss/yard-fence
|
|
200
216
|
[📜src-cb]: https://codeberg.org/galtzo-floss/yard-fence
|
|
201
217
|
[📜src-gh]: https://github.com/galtzo-floss/yard-fence
|
|
202
218
|
[🧪build]: https://github.com/galtzo-floss/yard-fence/actions
|
|
203
|
-
[🤝conduct]: https://
|
|
219
|
+
[🤝conduct]: https://github.com/galtzo-floss/yard-fence/blob/main/CODE_OF_CONDUCT.md
|
|
204
220
|
[🖐contrib-rocks]: https://contrib.rocks
|
|
205
221
|
[🖐contributors]: https://github.com/galtzo-floss/yard-fence/graphs/contributors
|
|
206
222
|
[🚎contributors-gl]: https://gitlab.com/galtzo-floss/yard-fence/-/graphs/main
|
|
@@ -216,3 +232,4 @@ NOTE: To build without signing the gem set `SKIP_GEM_SIGNING` to any value in th
|
|
|
216
232
|
[📌major-versions-not-sacred]: https://tom.preston-werner.com/2022/05/23/major-version-numbers-are-not-sacred.html
|
|
217
233
|
[🚎appraisal2]: https://github.com/appraisal-rb/appraisal2
|
|
218
234
|
[🏃♂️runner-tool-cache]: https://github.com/ruby/ruby-builder/releases/tag/toolcache
|
|
235
|
+
[✉️discord-invite]: https://discord.gg/3qme4XHNKN
|
data/FUNDING.md
CHANGED
|
@@ -19,7 +19,7 @@ Many paths lead to being a sponsor or a backer of this project. Are you on such
|
|
|
19
19
|
[🖇polar-img]: https://img.shields.io/badge/polar-donate-a51611.svg?style=flat
|
|
20
20
|
[🖇polar]: https://polar.sh/pboling
|
|
21
21
|
[🖇kofi-img]: https://img.shields.io/badge/ko--fi-%E2%9C%93-a51611.svg?style=flat
|
|
22
|
-
[🖇kofi]: https://ko-fi.com/
|
|
22
|
+
[🖇kofi]: https://ko-fi.com/pboling
|
|
23
23
|
[🖇patreon-img]: https://img.shields.io/badge/patreon-donate-a51611.svg?style=flat
|
|
24
24
|
[🖇patreon]: https://patreon.com/galtzo
|
|
25
25
|
[🖇buyme-small-img]: https://img.shields.io/badge/buy_me_a_coffee-%E2%9C%93-a51611.svg?style=flat
|
|
@@ -31,11 +31,11 @@ Many paths lead to being a sponsor or a backer of this project. Are you on such
|
|
|
31
31
|
|
|
32
32
|
<!-- RELEASE-NOTES-FOOTER-END -->
|
|
33
33
|
|
|
34
|
-
# 🤑
|
|
34
|
+
# 🤑 A request for help
|
|
35
35
|
|
|
36
36
|
Maintainers have teeth and need to pay their dentists.
|
|
37
|
-
After getting laid off in an RIF in March and
|
|
38
|
-
I
|
|
37
|
+
After getting laid off in an RIF in March, and encountering difficulty finding a new one,
|
|
38
|
+
I began spending most of my time building open source tools.
|
|
39
39
|
I'm hoping to be able to pay for my kids' health insurance this month,
|
|
40
40
|
so if you value the work I am doing, I need your support.
|
|
41
41
|
Please consider sponsoring me or the project.
|
|
@@ -44,16 +44,13 @@ To join the community or get help 👇️ Join the Discord.
|
|
|
44
44
|
|
|
45
45
|
[![Live Chat on Discord][✉️discord-invite-img-ftb]][✉️discord-invite]
|
|
46
46
|
|
|
47
|
-
To say "thanks
|
|
47
|
+
To say "thanks!" ☝️ Join the Discord or 👇️ send money.
|
|
48
48
|
|
|
49
49
|
[![Sponsor galtzo-floss/yard-fence 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]
|
|
50
50
|
|
|
51
51
|
# Another Way to Support Open Source Software
|
|
52
52
|
|
|
53
|
-
|
|
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).
|
|
53
|
+
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).
|
|
57
54
|
|
|
58
55
|
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
56
|
|