nomono 1.0.0 → 1.0.2
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 +57 -1
- data/CITATION.cff +1 -1
- data/CODE_OF_CONDUCT.md +1 -22
- data/CONTRIBUTING.md +74 -29
- data/LICENSE.md +12 -0
- data/README.md +104 -189
- data/certs/pboling.pem +27 -0
- data/lib/nomono/version.rb +1 -1
- data/lib/nomono.rb +1 -0
- data/sig/nomono/version.rbs +6 -0
- data.tar.gz.sig +0 -0
- metadata +48 -43
- metadata.gz.sig +4 -2
- 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: b47509ca8d4b41af4151a1c6c66fc15ccc1ccc44f008cd0b835ffccff5dc87d7
|
|
4
|
+
data.tar.gz: 8ff2ac529c4b2afc71d3b64102f0761993dcf557ca16d48da889bad5dd7e843c
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 9bc1a6313013c6298336ad29e4331cf75e05371778d548a95fb28a9592b4efdb9068061e1bc3f7e2c0e1e2a67b7b44b26b3cca050e4872af6462e0988d8aabe2
|
|
7
|
+
data.tar.gz: 1ba432de7e7c5e052437ddf69701e7f5d74d6804480393f403015041433d405688fb01a7f7f2344b7b2752da464819b80a0a19f3c8a90a5b9f4168ca32d03aef
|
checksums.yaml.gz.sig
CHANGED
|
Binary file
|
data/CHANGELOG.md
CHANGED
|
@@ -30,11 +30,67 @@ Please file a bug if you notice a violation of semantic versioning.
|
|
|
30
30
|
|
|
31
31
|
### Security
|
|
32
32
|
|
|
33
|
+
## [1.0.2] - 2026-05-31
|
|
34
|
+
|
|
35
|
+
- TAG: [v1.0.2][1.0.2t]
|
|
36
|
+
- COVERAGE: 100.00% -- 86/86 lines in 4 files
|
|
37
|
+
- BRANCH COVERAGE: 100.00% -- 28/28 branches in 4 files
|
|
38
|
+
- 12.50% documented
|
|
39
|
+
|
|
40
|
+
### Added
|
|
41
|
+
|
|
42
|
+
- Added StructuredMerge git diff driver configuration and the incident response
|
|
43
|
+
plan from the current kettle-jem template.
|
|
44
|
+
|
|
45
|
+
### Changed
|
|
46
|
+
|
|
47
|
+
- Retemplated with the current kettle-jem template set, including the
|
|
48
|
+
`.structuredmerge/kettle-jem.yml` config migration, README logo and
|
|
49
|
+
templating attribution refresh, current modular Gemfile dependencies, and the
|
|
50
|
+
`kettle-dev` 2.0.6 development dependency floor.
|
|
51
|
+
|
|
52
|
+
### Fixed
|
|
53
|
+
|
|
54
|
+
- Fixed generated documentation URLs that incorrectly pointed at a monorepo
|
|
55
|
+
`gems/nomono` path.
|
|
56
|
+
- Made the debug-output resolver spec tolerant of Ruby implementation
|
|
57
|
+
differences in `Hash#inspect` spacing.
|
|
58
|
+
|
|
59
|
+
## [1.0.1] - 2026-05-27
|
|
60
|
+
|
|
61
|
+
- TAG: [v1.0.1][1.0.1t]
|
|
62
|
+
- COVERAGE: 100.00% -- 86/86 lines in 4 files
|
|
63
|
+
- BRANCH COVERAGE: 100.00% -- 28/28 branches in 4 files
|
|
64
|
+
- 12.50% documented
|
|
65
|
+
|
|
66
|
+
### Added
|
|
67
|
+
|
|
68
|
+
- Improved documentation of ENV variables and overrides in README.md
|
|
69
|
+
|
|
70
|
+
### Changed
|
|
71
|
+
|
|
72
|
+
- Retemplated with the current kettle-jem template set.
|
|
73
|
+
|
|
74
|
+
### Fixed
|
|
75
|
+
|
|
76
|
+
- (dev) Updated the development dependency floor to `kettle-dev` 2.0.1 so the
|
|
77
|
+
templated `yard` rake task installs the expected yard-timekeeper cleanup.
|
|
78
|
+
- (dev) Routed `bin/yard` through `bin/rake yard` so direct documentation runs use the
|
|
79
|
+
same rake-installed documentation plugin hooks.
|
|
80
|
+
- (dev) Restored templated Rake task loading so `bin/rake` runs the expected
|
|
81
|
+
development task set instead of only the default stub.
|
|
82
|
+
- (dev) Restored full line and branch coverage for the public resolver and installer
|
|
83
|
+
behavior.
|
|
84
|
+
|
|
33
85
|
## [1.0.0] - 2026-03-26
|
|
34
86
|
|
|
35
87
|
- TAG: [v1.0.0][1.0.0t]
|
|
36
88
|
- 12.50% documented
|
|
37
89
|
|
|
38
|
-
[Unreleased]: https://github.com/kettle-rb/nomono/compare/v1.0.
|
|
90
|
+
[Unreleased]: https://github.com/kettle-rb/nomono/compare/v1.0.2...HEAD
|
|
91
|
+
[1.0.2]: https://github.com/kettle-rb/nomono/compare/v1.0.1...v1.0.2
|
|
92
|
+
[1.0.2t]: https://github.com/kettle-rb/nomono/releases/tag/v1.0.2
|
|
93
|
+
[1.0.1]: https://github.com/kettle-rb/nomono/compare/v1.0.0...v1.0.1
|
|
94
|
+
[1.0.1t]: https://github.com/kettle-rb/nomono/releases/tag/v1.0.1
|
|
39
95
|
[1.0.0]: https://github.com/kettle-rb/nomono/compare/3080fe8ceff657265445e8b4936aa2a90faa37f9...v1.0.0
|
|
40
96
|
[1.0.0t]: https://github.com/kettle-rb/nomono/tags/v1.0.0
|
data/CITATION.cff
CHANGED
data/CODE_OF_CONDUCT.md
CHANGED
|
@@ -1,14 +1,3 @@
|
|
|
1
|
-
# Code of Conduct
|
|
2
|
-
|
|
3
|
-
"nomono" follows [The Ruby Community Conduct Guideline](https://www.ruby-lang.org/en/conduct) in all "collaborative space", which is defined as community communications channels (such as mailing lists, submitted patches, commit comments, etc.):
|
|
4
|
-
|
|
5
|
-
* Participants will be tolerant of opposing views.
|
|
6
|
-
* Participants must ensure that their language and actions are free of personal attacks and disparaging personal remarks.
|
|
7
|
-
* When interpreting the words and actions of others, participants should always assume good intentions.
|
|
8
|
-
* Behaviour which can be reasonably considered harassment will not be tolerated.
|
|
9
|
-
|
|
10
|
-
If you have any concerns about behaviour within this project, please contact us at ["peter.boling@gmail.com"](mailto:"peter.boling@gmail.com").
|
|
11
|
-
|
|
12
1
|
# Contributor Covenant Code of Conduct
|
|
13
2
|
|
|
14
3
|
## Our Pledge
|
|
@@ -19,6 +8,7 @@ size, visible or invisible disability, ethnicity, sex characteristics, gender
|
|
|
19
8
|
identity and expression, level of experience, education, socio-economic status,
|
|
20
9
|
nationality, personal appearance, race, caste, color, religion, or sexual
|
|
21
10
|
identity and orientation.
|
|
11
|
+
|
|
22
12
|
We pledge to act and interact in ways that contribute to an open, welcoming,
|
|
23
13
|
diverse, inclusive, and healthy community.
|
|
24
14
|
|
|
@@ -142,14 +132,3 @@ For answers to common questions about this code of conduct, see the FAQ at
|
|
|
142
132
|
[translations]: https://www.contributor-covenant.org/translations
|
|
143
133
|
[🚂maint-contact]: http://www.railsbling.com/contact
|
|
144
134
|
[🚂maint-contact-img]: https://img.shields.io/badge/Contact-Maintainer-0093D0.svg?style=flat&logo=rubyonrails&logoColor=red
|
|
145
|
-
|
|
146
|
-
We as members, contributors, and leaders pledge to make participation in our
|
|
147
|
-
community a harassment-free experience for everyone, regardless of age, body
|
|
148
|
-
size, visible or invisible disability, ethnicity, sex characteristics, gender
|
|
149
|
-
identity and expression, level of experience, education, socio-economic status,
|
|
150
|
-
nationality, personal appearance, race, caste, color, religion, or sexual
|
|
151
|
-
identity and orientation.
|
|
152
|
-
|
|
153
|
-
We pledge to act and interact in ways that contribute to an open, welcoming,
|
|
154
|
-
diverse, inclusive, and healthy community.
|
|
155
|
-
|
data/CONTRIBUTING.md
CHANGED
|
@@ -8,19 +8,27 @@ 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
|
|
|
@@ -42,6 +50,22 @@ There are many Rake tasks available as well. You can see them by running:
|
|
|
42
50
|
bin/rake -T
|
|
43
51
|
```
|
|
44
52
|
|
|
53
|
+
## Code quality checks
|
|
54
|
+
|
|
55
|
+
Run the Reek task when you want a smell check that fails on current findings:
|
|
56
|
+
|
|
57
|
+
```shell
|
|
58
|
+
bin/rake reek
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
Refresh the checked-in `REEK` backlog through the rake task, not by redirecting
|
|
62
|
+
the raw `reek` executable output. The rake task uses the project bundle and
|
|
63
|
+
avoids stale generated binstubs shadowing the Reek gem executable:
|
|
64
|
+
|
|
65
|
+
```shell
|
|
66
|
+
bin/rake reek:update
|
|
67
|
+
```
|
|
68
|
+
|
|
45
69
|
## Environment Variables for Local Development
|
|
46
70
|
|
|
47
71
|
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.
|
|
@@ -78,11 +102,32 @@ Git hooks and commit message helpers (exe/kettle-commit-msg)
|
|
|
78
102
|
- GIT_HOOK_FOOTER_SENTINEL: Required when footer append is enabled — a unique first-line sentinel to prevent duplicates
|
|
79
103
|
- GIT_HOOK_FOOTER_APPEND_DEBUG: Extra debug output in the footer template (true/false)
|
|
80
104
|
|
|
105
|
+
Git diff driver setup
|
|
106
|
+
- Local setup writes repository `.gitattributes` entries so this checkout uses StructuredMerge semantic diffs.
|
|
107
|
+
- Global setup registers `diff.smorg-*` commands once in the user Git config; use it when you work across several StructuredMerge-enabled repositories.
|
|
108
|
+
- Include-file setup writes `.git/smorg/config` and includes it from local Git config, keeping command registrations out of the repository files.
|
|
109
|
+
- Git hosting forges generally ignore external diff drivers, so pull request views may still show raw textual diffs even when local `git diff` uses semantic drivers.
|
|
110
|
+
|
|
111
|
+
```console
|
|
112
|
+
K_JEM_TEMPLATING=true bundle exec kettle-jem install
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
Troubleshooting Git diffs
|
|
116
|
+
- Use `git diff --no-ext-diff` to compare against Git's built-in diff output.
|
|
117
|
+
- Use `git diff --no-textconv` when a textconv projection obscures the raw file bytes you need to inspect.
|
|
118
|
+
- If Git reports a missing `smorg-*` executable, rerun `bundle install` and the setup command above, then check `git config --get-regexp '^diff\.smorg-'`.
|
|
119
|
+
- To remove managed local entries, run `K_JEM_TEMPLATING=true bundle exec kettle-jem install --undo`; remove global command registrations with `git config --global --unset-all diff.smorg-ruby.command`.
|
|
120
|
+
|
|
81
121
|
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 -- ...`.
|
|
82
122
|
|
|
83
123
|
## Appraisals
|
|
84
124
|
|
|
85
125
|
From time to time the [appraisal2][🚎appraisal2] gemfiles in `gemfiles/` will need to be updated.
|
|
126
|
+
Generated appraisal and CI workflow floors are controlled by `ruby.test_minimum`
|
|
127
|
+
in `.structuredmerge/kettle-jem.yml`; this project was templated with `ruby.test_minimum: 3.2.0`.
|
|
128
|
+
That value describes the lowest Ruby version expected to run the test/development
|
|
129
|
+
toolchain, and it may be higher than the gemspec runtime floor.
|
|
130
|
+
|
|
86
131
|
They are created and updated with the commands:
|
|
87
132
|
|
|
88
133
|
```console
|
|
@@ -97,22 +142,20 @@ bin/rake appraisal:reset
|
|
|
97
142
|
|
|
98
143
|
When adding an appraisal to CI, check the [runner tool cache][🏃♂️runner-tool-cache] to see which runner to use.
|
|
99
144
|
|
|
100
|
-
##
|
|
101
|
-
|
|
102
|
-
Take a look at the `reek` list which is the file called `REEK` and find something to improve.
|
|
145
|
+
## Run Tests
|
|
103
146
|
|
|
104
|
-
|
|
147
|
+
Run tests via `kettle-test` (provided by `kettle-test`). It runs RSpec, writes the full log to
|
|
148
|
+
`tmp/kettle-test/rspec-TIMESTAMP.log`, and prints a compact highlight block with timing, seed,
|
|
149
|
+
pass/fail count, failing example list, and SimpleCov coverage percentages.
|
|
105
150
|
|
|
106
151
|
```console
|
|
107
|
-
bundle exec
|
|
152
|
+
bundle exec kettle-test
|
|
108
153
|
```
|
|
109
154
|
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
To run all tests
|
|
155
|
+
For targeted runs, disable the hard coverage threshold to avoid false failures:
|
|
113
156
|
|
|
114
157
|
```console
|
|
115
|
-
bundle exec
|
|
158
|
+
K_SOUP_COV_MIN_HARD=false bundle exec kettle-test spec/path/to/spec.rb
|
|
116
159
|
```
|
|
117
160
|
|
|
118
161
|
### Spec organization (required)
|
|
@@ -183,33 +226,34 @@ NOTE: To build without signing the gem set `SKIP_GEM_SIGNING` to any value in th
|
|
|
183
226
|
1. Run `bin/setup && bin/rake` as a "test, coverage, & linting" sanity check
|
|
184
227
|
2. Update the version number in `version.rb`, and ensure `CHANGELOG.md` reflects changes
|
|
185
228
|
3. Run `bin/setup && bin/rake` again as a secondary check, and to update `Gemfile.lock`
|
|
186
|
-
4. Run `
|
|
187
|
-
5. Run `git
|
|
229
|
+
4. Run `bin/rake yard` to regenerate the docs site using the canonical docs task
|
|
230
|
+
5. Run `git commit -am "🔖 Prepare release v<VERSION>"` to commit the changes
|
|
231
|
+
6. Run `git push` to trigger the final CI pipeline before release, and merge PRs
|
|
188
232
|
- NOTE: Remember to [check the build][🧪build].
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
233
|
+
7. Run `export GIT_TRUNK_BRANCH_NAME="$(git remote show origin | grep 'HEAD branch' | cut -d ' ' -f5)" && echo $GIT_TRUNK_BRANCH_NAME`
|
|
234
|
+
8. Run `git checkout $GIT_TRUNK_BRANCH_NAME`
|
|
235
|
+
9. Run `git pull origin $GIT_TRUNK_BRANCH_NAME` to ensure latest trunk code
|
|
236
|
+
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
|
|
193
237
|
- If your Bundler is >= 2.7.0, you can skip this; builds are reproducible by default.
|
|
194
238
|
- Run `export SOURCE_DATE_EPOCH=$EPOCHSECONDS && echo $SOURCE_DATE_EPOCH`
|
|
195
239
|
- If the echo above has no output, then it didn't work.
|
|
196
240
|
- Note: `zsh/datetime` module is needed, if running `zsh`.
|
|
197
241
|
- In older versions of `bash` you can use `date +%s` instead, i.e. `export SOURCE_DATE_EPOCH=$(date +%s) && echo $SOURCE_DATE_EPOCH`
|
|
198
|
-
|
|
199
|
-
|
|
242
|
+
11. Run `bundle exec rake build`
|
|
243
|
+
12. Run `bin/gem_checksums` (more context [1][🔒️rubygems-checksums-pr], [2][🔒️rubygems-guides-pr])
|
|
200
244
|
to create SHA-256 and SHA-512 checksums. This functionality is provided by the `stone_checksums`
|
|
201
245
|
[gem][💎stone_checksums].
|
|
202
246
|
- The script automatically commits but does not push the checksums
|
|
203
|
-
|
|
247
|
+
13. Sanity check the SHA256, comparing with the output from the `bin/gem_checksums` command:
|
|
204
248
|
- `sha256sum pkg/<gem name>-<version>.gem`
|
|
205
|
-
|
|
249
|
+
14. Run `bundle exec rake release` which will create a git tag for the version,
|
|
206
250
|
push git commits and tags, and push the `.gem` file to the gem host configured in the gemspec.
|
|
207
251
|
|
|
208
|
-
[📜src-gl]: https://gitlab.com/kettle-rb/nomono
|
|
252
|
+
[📜src-gl]: https://gitlab.com/kettle-rb/nomono
|
|
209
253
|
[📜src-cb]: https://codeberg.org/kettle-rb/nomono
|
|
210
254
|
[📜src-gh]: https://github.com/kettle-rb/nomono
|
|
211
255
|
[🧪build]: https://github.com/kettle-rb/nomono/actions
|
|
212
|
-
[🤝conduct]: https://
|
|
256
|
+
[🤝conduct]: https://github.com/kettle-rb/nomono/blob/main/CODE_OF_CONDUCT.md
|
|
213
257
|
[🖐contrib-rocks]: https://contrib.rocks
|
|
214
258
|
[🖐contributors]: https://github.com/kettle-rb/nomono/graphs/contributors
|
|
215
259
|
[🚎contributors-gl]: https://gitlab.com/kettle-rb/nomono/-/graphs/main
|
|
@@ -225,3 +269,4 @@ NOTE: To build without signing the gem set `SKIP_GEM_SIGNING` to any value in th
|
|
|
225
269
|
[📌major-versions-not-sacred]: https://tom.preston-werner.com/2022/05/23/major-version-numbers-are-not-sacred.html
|
|
226
270
|
[🚎appraisal2]: https://github.com/appraisal-rb/appraisal2
|
|
227
271
|
[🏃♂️runner-tool-cache]: https://github.com/ruby/ruby-builder/releases/tag/toolcache
|
|
272
|
+
[✉️discord-invite]: https://discord.gg/3qme4XHNKN
|
data/LICENSE.md
ADDED
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
# License
|
|
2
|
+
|
|
3
|
+
This project is made available under the following license.
|
|
4
|
+
Choose the option that best fits your use case:
|
|
5
|
+
|
|
6
|
+
- [AGPL-3.0-only](AGPL-3.0-only.md)
|
|
7
|
+
|
|
8
|
+
If none of the above licenses fit your use case, please [contact us](mailto:floss@galtzo.com) to discuss a custom commercial license.
|
|
9
|
+
|
|
10
|
+
## Copyright Notice
|
|
11
|
+
|
|
12
|
+
Copyright (c) 2026 Peter H. Boling
|
data/README.md
CHANGED
|
@@ -1,17 +1,10 @@
|
|
|
1
|
-
|
|
1
|
+
<a href="https://github.com/kettle-rb"><img alt="kettle-rb Logo by Aboling0, CC BY-SA 4.0" src="https://logos.galtzo.com/assets/images/kettle-rb/avatar-128px.svg" width="14%" align="right"/></a>
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
[🖼️galtzo-discord]: https://discord.gg/3qme4XHNKN
|
|
5
|
-
[🖼️ruby-lang-i]: https://logos.galtzo.com/assets/images/ruby-lang/avatar-192px.svg
|
|
6
|
-
[🖼️ruby-lang]: https://www.ruby-lang.org/
|
|
7
|
-
[🖼️kettle-rb-i]: https://logos.galtzo.com/assets/images/kettle-rb/avatar-192px.svg
|
|
8
|
-
[🖼️kettle-rb]: https://github.com/kettle-rb
|
|
3
|
+
# 1️⃣ Nomono
|
|
9
4
|
|
|
10
|
-
|
|
5
|
+
[![Version][👽versioni]][👽version] [![GitHub tag (latest SemVer)][⛳️tag-img]][⛳️tag] [![License: AGPL-3.0-only][📄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]
|
|
11
6
|
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
`if ci_badges.map(&:color).detect { it != "green"}` ☝️ [let me know][🖼️galtzo-discord], as I may have missed the [discord notification][🖼️galtzo-discord].
|
|
7
|
+
`if ci_badges.map(&:color).detect { it != "green"}` ☝️ [let me know][✉️discord-invite], as I may have missed the [discord notification][✉️discord-invite].
|
|
15
8
|
|
|
16
9
|
---
|
|
17
10
|
|
|
@@ -20,13 +13,13 @@
|
|
|
20
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 on Polar][🖇polar-img]][🖇polar] [![Donate at ko-fi.com][🖇kofi-img]][🖇kofi]
|
|
21
14
|
|
|
22
15
|
<details>
|
|
23
|
-
|
|
16
|
+
<summary>👣 How will this project approach the September 2025 hostile takeover of RubyGems? 🚑️</summary>
|
|
24
17
|
|
|
25
18
|
I've summarized my thoughts in [this blog post](https://dev.to/galtzo/hostile-takeover-of-rubygems-my-thoughts-5hlo).
|
|
26
19
|
|
|
27
20
|
</details>
|
|
28
21
|
|
|
29
|
-
## 🌻 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>
|
|
30
23
|
|
|
31
24
|
`nomono` standardizes local sibling-gem dependency loading for multi-repo setups.
|
|
32
25
|
|
|
@@ -39,39 +32,43 @@ The API mirrors existing `*_local.gemfile` patterns used in kettle-rb projects,
|
|
|
39
32
|
|
|
40
33
|
## 💡 Info you can shake a stick at
|
|
41
34
|
|
|
42
|
-
| Tokens to Remember
|
|
35
|
+
| Tokens to Remember | [![Gem name][⛳️name-img]][⛳️gem-name] [![Gem namespace][⛳️namespace-img]][⛳️gem-namespace] |
|
|
43
36
|
|-------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|
|
44
|
-
| Works with JRuby
|
|
45
|
-
| Works with Truffle Ruby | [![Truffle Ruby
|
|
46
|
-
| Works with MRI Ruby 4
|
|
47
|
-
| Works with MRI Ruby 3
|
|
48
|
-
| Support & Community
|
|
49
|
-
| Source
|
|
50
|
-
| Documentation
|
|
51
|
-
| Compliance
|
|
52
|
-
| Style
|
|
53
|
-
| Maintainer 🎖️
|
|
54
|
-
| `...` 💖
|
|
37
|
+
| Works with JRuby | [![JRuby current Compat][💎jruby-c-i]][🚎10-j-wf] [![JRuby HEAD Compat][💎jruby-headi]][🚎3-hd-wf]|
|
|
38
|
+
| Works with Truffle Ruby | [![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 current Compat][💎truby-c-i]][🚎9-t-wf]|
|
|
39
|
+
| Works with MRI Ruby 4 | [![Ruby 4.0 Compat][💎ruby-4.0i]][🚎11-c-wf] [![Ruby current Compat][💎ruby-c-i]][🚎11-c-wf] [![Ruby HEAD Compat][💎ruby-headi]][🚎3-hd-wf]|
|
|
40
|
+
| Works with MRI Ruby 3 | [![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]|
|
|
41
|
+
| 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] |
|
|
42
|
+
| 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] |
|
|
43
|
+
| 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] |
|
|
44
|
+
| Compliance | [![License: AGPL-3.0-only][📄license-img]][📄license] [![Apache license compatibility: Category X][📄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] |
|
|
45
|
+
| 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] |
|
|
46
|
+
| 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] |
|
|
47
|
+
| `...` 💖 | [![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] |
|
|
55
48
|
|
|
56
49
|
### Compatibility
|
|
57
50
|
|
|
58
51
|
Compatible with MRI Ruby 3.2.0+, and concordant releases of JRuby, and TruffleRuby.
|
|
52
|
+
CI workflows and Appraisals are generated for MRI Ruby 3.2.0+.
|
|
53
|
+
This test floor is configured by `ruby.test_minimum` in `.kettle-jem.yml` and
|
|
54
|
+
may be higher than the gem's runtime compatibility floor when legacy Rubies are
|
|
55
|
+
not practical for the current toolchain.
|
|
59
56
|
|
|
60
|
-
| 🚚 _Amazing_ test matrix was brought to you by | 🔎 appraisal2 🔎 and the color 💚 green 💚
|
|
57
|
+
| 🚚 _Amazing_ test matrix was brought to you by | 🔎 appraisal2 🔎 and the color 💚 green 💚 |
|
|
61
58
|
|------------------------------------------------|--------------------------------------------------------|
|
|
62
|
-
| 👟 Check it out!
|
|
59
|
+
| 👟 Check it out! | ✨ [github.com/appraisal-rb/appraisal2][💎appraisal2] ✨ |
|
|
63
60
|
|
|
64
61
|
### Federated DVCS
|
|
65
62
|
|
|
66
63
|
<details markdown="1">
|
|
67
|
-
|
|
64
|
+
<summary>Find this repo on federated forges (Coming soon!)</summary>
|
|
68
65
|
|
|
69
|
-
| Federated [DVCS][💎d-in-dvcs] Repository
|
|
66
|
+
| Federated [DVCS][💎d-in-dvcs] Repository | Status | Issues | PRs | Wiki | CI | Discussions |
|
|
70
67
|
|-------------------------------------------------|-----------------------------------------------------------------------|---------------------------|--------------------------|---------------------------|--------------------------|------------------------------|
|
|
71
|
-
| 🧪 [kettle-rb/nomono on GitLab][📜src-gl]
|
|
72
|
-
| 🧊 [kettle-rb/nomono on CodeBerg][📜src-cb] | An Ethical Mirror ([Donate][🤝cb-donate])
|
|
73
|
-
| 🐙 [kettle-rb/nomono on GitHub][📜src-gh]
|
|
74
|
-
| 🎮️ [Discord Server][✉️discord-invite]
|
|
68
|
+
| 🧪 [kettle-rb/nomono on GitLab][📜src-gl] | The Truth | [💚][🤝gl-issues] | [💚][🤝gl-pulls] | [💚][📜gl-wiki] | 🐭 Tiny Matrix | ➖ |
|
|
69
|
+
| 🧊 [kettle-rb/nomono on CodeBerg][📜src-cb] | An Ethical Mirror ([Donate][🤝cb-donate]) | [💚][🤝cb-issues] | [💚][🤝cb-pulls] | ➖ | ⭕️ No Matrix | ➖ |
|
|
70
|
+
| 🐙 [kettle-rb/nomono on GitHub][📜src-gh] | Another Mirror | [💚][🤝gh-issues] | [💚][🤝gh-pulls] | [💚][📜gh-wiki] | 💯 Full Matrix | [💚][gh-discussions] |
|
|
71
|
+
| 🎮️ [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] |
|
|
75
72
|
|
|
76
73
|
</details>
|
|
77
74
|
|
|
@@ -82,7 +79,7 @@ Compatible with MRI Ruby 3.2.0+, and concordant releases of JRuby, and TruffleRu
|
|
|
82
79
|
Available as part of the Tidelift Subscription.
|
|
83
80
|
|
|
84
81
|
<details markdown="1">
|
|
85
|
-
|
|
82
|
+
<summary>Need enterprise-level guarantees?</summary>
|
|
86
83
|
|
|
87
84
|
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.
|
|
88
85
|
|
|
@@ -114,51 +111,28 @@ If bundler is not being used to manage dependencies, install the gem by executin
|
|
|
114
111
|
gem install nomono
|
|
115
112
|
```
|
|
116
113
|
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
<details markdown="1">
|
|
120
|
-
<summary>For Medium or High Security Installations</summary>
|
|
121
|
-
|
|
122
|
-
This gem is cryptographically signed and has verifiable [SHA-256 and SHA-512][💎SHA_checksums] checksums by
|
|
123
|
-
[stone_checksums][💎stone_checksums]. Be sure the gem you install hasn’t been tampered with
|
|
124
|
-
by following the instructions below.
|
|
125
|
-
|
|
126
|
-
Add my public key (if you haven’t already; key expires 2045-04-29) as a trusted certificate:
|
|
127
|
-
|
|
128
|
-
```console
|
|
129
|
-
gem cert --add <(curl -Ls https://raw.github.com/galtzo-floss/certs/main/pboling.pem)
|
|
130
|
-
```
|
|
131
|
-
|
|
132
|
-
You only need to do that once. Then proceed to install with:
|
|
133
|
-
|
|
134
|
-
```console
|
|
135
|
-
gem install nomono -P HighSecurity
|
|
136
|
-
```
|
|
137
|
-
|
|
138
|
-
The `HighSecurity` trust profile will verify signed gems, and not allow the installation of unsigned dependencies.
|
|
139
|
-
|
|
140
|
-
If you want to up your security game full-time:
|
|
141
|
-
|
|
142
|
-
```console
|
|
143
|
-
bundle config set --global trust-policy MediumSecurity
|
|
144
|
-
```
|
|
145
|
-
|
|
146
|
-
`MediumSecurity` instead of `HighSecurity` is necessary if not all the gems you use are signed.
|
|
114
|
+
## ⚙️ Configuration
|
|
147
115
|
|
|
148
|
-
|
|
116
|
+
Nomono has an *environment contract*. By default (`prefix: "NOMONO_GEMS"`):
|
|
149
117
|
|
|
150
|
-
|
|
118
|
+
- `NOMONO_GEMS_DEV` controls local-path mode — **tri-state**:
|
|
119
|
+
- `false` / `0` / `no` / `off` (or unset) — no local gems; released gems are used (CI default)
|
|
120
|
+
- `true` / `1` / `yes` / `on` — workspace root is `$HOME/src/kettle-rb`
|
|
121
|
+
- Any other value — treated as an explicit workspace root path (`/absolute/path` used as-is; relative path prepended with `$HOME`)
|
|
122
|
+
- `NOMONO_GEMS_VENDORED_GEMS` (or legacy `VENDORED_GEMS`) is a comma-delimited list of gem names resolved from a vendor directory. This is **independent** of `NOMONO_GEMS_DEV` — it applies when you have vendored copies of specific gems that should override both the workspace and released versions.
|
|
123
|
+
- `NOMONO_GEMS_VENDOR_GEM_DIR` (or legacy `VENDOR_GEM_DIR`) is the base path of the vendor directory used for gems listed in `NOMONO_GEMS_VENDORED_GEMS`. Defaults to `$workspace_root/vendor`. This is **not** an alternative form of the workspace root — it only affects vendored gems.
|
|
124
|
+
- `NOMONO_GEMS_DEBUG` enables debug output from nomono.
|
|
151
125
|
|
|
152
|
-
|
|
126
|
+
### Examples
|
|
153
127
|
|
|
154
|
-
|
|
128
|
+
For example, in the `kettle-rb` family of gems, which nomono is a part of, the parameters used are `prefix: "KETTLE_RB"`, `path_env: "KETTLE_RB_DEV"`.
|
|
129
|
+
This means that the following is true:
|
|
155
130
|
|
|
156
|
-
- `
|
|
157
|
-
- `
|
|
158
|
-
- `
|
|
159
|
-
- `NOMONO_GEMS_DEBUG` enables debug output
|
|
131
|
+
- `KETTLE_RB_DEV=false` (or unset) — released gems from configured gem server (CI / single-gem development default)
|
|
132
|
+
- `KETTLE_RB_DEV=true` — local sibling gems from `$HOME/src/kettle-rb/<gem>` (recommended for full-workspace development)
|
|
133
|
+
- `KETTLE_RB_DEV=/custom/path` — local sibling gems from `/custom/path/<gem>` (non-standard workspace layout only)
|
|
160
134
|
|
|
161
|
-
|
|
135
|
+
You can override the env variable names via options. Here is an example for use with rubocop-lts gems:
|
|
162
136
|
|
|
163
137
|
```ruby
|
|
164
138
|
nomono_gems(
|
|
@@ -167,7 +141,7 @@ nomono_gems(
|
|
|
167
141
|
path_env: "RUBOCOP_LTS_LOCAL",
|
|
168
142
|
vendored_gems_env: "VENDORED_GEMS",
|
|
169
143
|
vendor_gem_dir_env: "VENDOR_GEM_DIR",
|
|
170
|
-
debug_env: "RUBOCOP_LTS_DEBUG"
|
|
144
|
+
debug_env: "RUBOCOP_LTS_DEBUG"
|
|
171
145
|
)
|
|
172
146
|
```
|
|
173
147
|
|
|
@@ -192,63 +166,6 @@ else
|
|
|
192
166
|
end
|
|
193
167
|
```
|
|
194
168
|
|
|
195
|
-
## 🦷 FLOSS Funding
|
|
196
|
-
|
|
197
|
-
While kettle-rb tools are free software and will always be, the project would benefit immensely from some funding.
|
|
198
|
-
Raising a monthly budget of... "dollars" would make the project more sustainable.
|
|
199
|
-
|
|
200
|
-
We welcome both individual and corporate sponsors! We also offer a
|
|
201
|
-
wide array of funding channels to account for your preferences
|
|
202
|
-
(although currently [Open Collective][🖇osc] is our preferred funding platform).
|
|
203
|
-
|
|
204
|
-
**If you're working in a company that's making significant use of kettle-rb tools we'd
|
|
205
|
-
appreciate it if you suggest to your company to become a kettle-rb sponsor.**
|
|
206
|
-
|
|
207
|
-
You can support the development of kettle-rb tools via
|
|
208
|
-
[GitHub Sponsors][🖇sponsor],
|
|
209
|
-
[Liberapay][⛳liberapay],
|
|
210
|
-
[PayPal][🖇paypal],
|
|
211
|
-
[Open Collective][🖇osc]
|
|
212
|
-
and [Tidelift][🏙️entsup-tidelift].
|
|
213
|
-
|
|
214
|
-
| 📍 NOTE |
|
|
215
|
-
|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|
|
216
|
-
| 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. |
|
|
217
|
-
|
|
218
|
-
### Open Collective for Individuals
|
|
219
|
-
|
|
220
|
-
Support us with a monthly donation and help us continue our activities. [[Become a backer](https://opencollective.com/kettle-rb#backer)]
|
|
221
|
-
|
|
222
|
-
NOTE: [kettle-readme-backers][kettle-readme-backers] updates this list every day, automatically.
|
|
223
|
-
|
|
224
|
-
<!-- OPENCOLLECTIVE-INDIVIDUALS:START -->
|
|
225
|
-
No backers yet. Be the first!
|
|
226
|
-
<!-- OPENCOLLECTIVE-INDIVIDUALS:END -->
|
|
227
|
-
|
|
228
|
-
### Open Collective for Organizations
|
|
229
|
-
|
|
230
|
-
Become a sponsor and get your logo on our README on GitHub with a link to your site. [[Become a sponsor](https://opencollective.com/kettle-rb#sponsor)]
|
|
231
|
-
|
|
232
|
-
NOTE: [kettle-readme-backers][kettle-readme-backers] updates this list every day, automatically.
|
|
233
|
-
|
|
234
|
-
<!-- OPENCOLLECTIVE-ORGANIZATIONS:START -->
|
|
235
|
-
No sponsors yet. Be the first!
|
|
236
|
-
<!-- OPENCOLLECTIVE-ORGANIZATIONS:END -->
|
|
237
|
-
|
|
238
|
-
[kettle-readme-backers]: https://github.com/kettle-rb/nomono/blob/main/exe/kettle-readme-backers
|
|
239
|
-
|
|
240
|
-
### Another way to support open-source
|
|
241
|
-
|
|
242
|
-
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).
|
|
243
|
-
|
|
244
|
-
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`.
|
|
245
|
-
|
|
246
|
-
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.
|
|
247
|
-
|
|
248
|
-
**[Floss-Funding.dev][🖇floss-funding.dev]: 👉️ No network calls. 👉️ No tracking. 👉️ No oversight. 👉️ Minimal crypto hashing. 💡 Easily disabled nags**
|
|
249
|
-
|
|
250
|
-
[![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 efforts at ko-fi.com][🖇kofi-img]][🖇kofi] [![Donate to my FLOSS efforts using Patreon][🖇patreon-img]][🖇patreon]
|
|
251
|
-
|
|
252
169
|
## 🔐 Security
|
|
253
170
|
|
|
254
171
|
See [SECURITY.md][🔐security].
|
|
@@ -256,7 +173,7 @@ See [SECURITY.md][🔐security].
|
|
|
256
173
|
## 🤝 Contributing
|
|
257
174
|
|
|
258
175
|
If you need some ideas of where to help, you could work on adding more code coverage,
|
|
259
|
-
or if it is already 💯 (see [below](#code-coverage)) check [
|
|
176
|
+
or if it is already 💯 (see [below](#code-coverage)) check [issues][🤝gh-issues] or [PRs][🤝gh-pulls],
|
|
260
177
|
or use the gem and think about how it could be better.
|
|
261
178
|
|
|
262
179
|
We [![Keep A Changelog][📗keep-changelog-img]][📗keep-changelog] so if you make changes, remember to update it.
|
|
@@ -269,12 +186,17 @@ See [CONTRIBUTING.md][🤝contributing].
|
|
|
269
186
|
|
|
270
187
|
### Code Coverage
|
|
271
188
|
|
|
189
|
+
<details markdown="1">
|
|
190
|
+
<summary>Coverage service badges</summary>
|
|
191
|
+
|
|
272
192
|
[![Coverage Graph][🏀codecov-g]][🏀codecov]
|
|
273
193
|
|
|
274
194
|
[![Coveralls Test Coverage][🏀coveralls-img]][🏀coveralls]
|
|
275
195
|
|
|
276
196
|
[![QLTY Test Coverage][🏀qlty-covi]][🏀qlty-cov]
|
|
277
197
|
|
|
198
|
+
</details>
|
|
199
|
+
|
|
278
200
|
### 🪇 Code of Conduct
|
|
279
201
|
|
|
280
202
|
Everyone interacting with this project's codebases, issue trackers,
|
|
@@ -289,13 +211,13 @@ Made with [contributors-img][🖐contrib-rocks].
|
|
|
289
211
|
Also see GitLab Contributors: [https://gitlab.com/kettle-rb/nomono/-/graphs/main][🚎contributors-gl]
|
|
290
212
|
|
|
291
213
|
<details>
|
|
292
|
-
|
|
214
|
+
<summary>⭐️ Star History</summary>
|
|
293
215
|
|
|
294
|
-
<a href="https://star-history.com
|
|
216
|
+
<a href="https://star-history.com/kettle-rb/nomono&Date">
|
|
295
217
|
<picture>
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
218
|
+
<source media="(prefers-color-scheme: dark)" srcset="https://api.star-history.com/svg?repos=kettle-rb/nomono&type=Date&theme=dark" />
|
|
219
|
+
<source media="(prefers-color-scheme: light)" srcset="https://api.star-history.com/svg?repos=kettle-rb/nomono&type=Date" />
|
|
220
|
+
<img alt="Star History Chart" src="https://api.star-history.com/svg?repos=kettle-rb/nomono&type=Date" />
|
|
299
221
|
</picture>
|
|
300
222
|
</a>
|
|
301
223
|
|
|
@@ -303,19 +225,8 @@ Also see GitLab Contributors: [https://gitlab.com/kettle-rb/nomono/-/graphs/main
|
|
|
303
225
|
|
|
304
226
|
## 📌 Versioning
|
|
305
227
|
|
|
306
|
-
This
|
|
307
|
-
|
|
308
|
-
Specifically, if a minor or patch version is released that breaks backward compatibility,
|
|
309
|
-
a new version should be immediately released that restores compatibility.
|
|
310
|
-
Breaking changes to the public API will only be introduced with new major versions.
|
|
311
|
-
|
|
312
|
-
> dropping support for a platform is both obviously and objectively a breaking change <br/>
|
|
313
|
-
>—Jordan Harband ([@ljharb](https://github.com/ljharb), maintainer of SemVer) [in SemVer issue 716][📌semver-breaking]
|
|
314
|
-
|
|
315
|
-
I understand that policy doesn't work universally ("exceptions to every rule!"),
|
|
316
|
-
but it is the policy here.
|
|
317
|
-
As such, in many cases it is good to specify a dependency on this library using
|
|
318
|
-
the [Pessimistic Version Constraint][📌pvc] with two digits of precision.
|
|
228
|
+
This library follows [![Semantic Versioning 2.0.0][📌semver-img]][📌semver] for its public API where practical.
|
|
229
|
+
For most applications, prefer the [Pessimistic Version Constraint][📌pvc] with two digits of precision.
|
|
319
230
|
|
|
320
231
|
For example:
|
|
321
232
|
|
|
@@ -326,8 +237,8 @@ spec.add_dependency("nomono", "~> 1.0")
|
|
|
326
237
|
<details markdown="1">
|
|
327
238
|
<summary>📌 Is "Platform Support" part of the public API? More details inside.</summary>
|
|
328
239
|
|
|
329
|
-
|
|
330
|
-
|
|
240
|
+
Dropping support for a platform can be a breaking change for affected users.
|
|
241
|
+
If a release changes supported platforms, it should be called out clearly in the changelog and versioned with that impact in mind.
|
|
331
242
|
|
|
332
243
|
To get a better understanding of how SemVer is intended to work over a project's lifetime,
|
|
333
244
|
read this article from the creator of SemVer:
|
|
@@ -340,23 +251,21 @@ See [CHANGELOG.md][📌changelog] for a list of releases.
|
|
|
340
251
|
|
|
341
252
|
## 📄 License
|
|
342
253
|
|
|
343
|
-
The gem is available
|
|
344
|
-
|
|
345
|
-
|
|
254
|
+
The gem is available under the following license: [AGPL-3.0-only](AGPL-3.0-only.md).
|
|
255
|
+
See [LICENSE.md][📄license] for details.
|
|
256
|
+
|
|
257
|
+
If none of the available licenses suit your use case, please [contact us](mailto:floss@galtzo.com) to discuss a custom commercial license.
|
|
346
258
|
|
|
347
259
|
### © Copyright
|
|
348
260
|
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
</a>, and nomono contributors.
|
|
358
|
-
</li>
|
|
359
|
-
</ul>
|
|
261
|
+
See [LICENSE.md][📄license] for the official copyright notice.
|
|
262
|
+
|
|
263
|
+
<details markdown="1">
|
|
264
|
+
<summary>Copyright holders</summary>
|
|
265
|
+
|
|
266
|
+
- Copyright (c) 2026 Peter H. Boling
|
|
267
|
+
|
|
268
|
+
</details>
|
|
360
269
|
|
|
361
270
|
## 🤑 A request for help
|
|
362
271
|
|
|
@@ -377,6 +286,8 @@ To say "thanks!" ☝️ Join the Discord or 👇️ send money.
|
|
|
377
286
|
|
|
378
287
|
### Please give the project a star ⭐ ♥.
|
|
379
288
|
|
|
289
|
+
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.
|
|
290
|
+
|
|
380
291
|
Thanks for RTFM. ☺️
|
|
381
292
|
|
|
382
293
|
[⛳liberapay-img]: https://img.shields.io/liberapay/goal/pboling.svg?logo=liberapay&color=a51611&style=flat
|
|
@@ -421,7 +332,7 @@ Thanks for RTFM. ☺️
|
|
|
421
332
|
[⛳️gem-name]: https://bestgems.org/gems/nomono
|
|
422
333
|
[⛳️name-img]: https://img.shields.io/badge/name-nomono-3C2D2D.svg?style=square&logo=rubygems&logoColor=red
|
|
423
334
|
[⛳️tag-img]: https://img.shields.io/github/tag/kettle-rb/nomono.svg
|
|
424
|
-
[⛳️tag]:
|
|
335
|
+
[⛳️tag]: https://github.com/kettle-rb/nomono/releases
|
|
425
336
|
[🚂maint-blog]: http://www.railsbling.com/tags/nomono
|
|
426
337
|
[🚂maint-blog-img]: https://img.shields.io/badge/blog-railsbling-0093D0.svg?style=for-the-badge&logo=rubyonrails&logoColor=orange
|
|
427
338
|
[🚂maint-contact]: http://www.railsbling.com/contact
|
|
@@ -456,7 +367,7 @@ Thanks for RTFM. ☺️
|
|
|
456
367
|
[💁🏼♂️peterboling]: http://www.peterboling.com
|
|
457
368
|
[🚂railsbling]: http://www.railsbling.com
|
|
458
369
|
[📜src-gl-img]: https://img.shields.io/badge/GitLab-FBA326?style=for-the-badge&logo=Gitlab&logoColor=orange
|
|
459
|
-
[📜src-gl]: https://gitlab.com/kettle-rb/nomono
|
|
370
|
+
[📜src-gl]: https://gitlab.com/kettle-rb/nomono
|
|
460
371
|
[📜src-cb-img]: https://img.shields.io/badge/CodeBerg-4893CC?style=for-the-badge&logo=CodeBerg&logoColor=blue
|
|
461
372
|
[📜src-cb]: https://codeberg.org/kettle-rb/nomono
|
|
462
373
|
[📜src-gh-img]: https://img.shields.io/badge/GitHub-238636?style=for-the-badge&logo=Github&logoColor=green
|
|
@@ -465,12 +376,10 @@ Thanks for RTFM. ☺️
|
|
|
465
376
|
[📜docs-head-rd-img]: https://img.shields.io/badge/YARD_on_Galtzo.com-HEAD-943CD2?style=for-the-badge&logo=readthedocs&logoColor=white
|
|
466
377
|
[📜gl-wiki]: https://gitlab.com/kettle-rb/nomono/-/wikis/home
|
|
467
378
|
[📜gh-wiki]: https://github.com/kettle-rb/nomono/wiki
|
|
468
|
-
[📜gl-wiki-img]: https://img.shields.io/badge/wiki-
|
|
469
|
-
[📜gh-wiki-img]: https://img.shields.io/badge/wiki-
|
|
379
|
+
[📜gl-wiki-img]: https://img.shields.io/badge/wiki-gitlab-943CD2.svg?style=for-the-badge&logo=gitlab&logoColor=white
|
|
380
|
+
[📜gh-wiki-img]: https://img.shields.io/badge/wiki-github-943CD2.svg?style=for-the-badge&logo=github&logoColor=white
|
|
470
381
|
[👽dl-rank]: https://bestgems.org/gems/nomono
|
|
471
382
|
[👽dl-ranki]: https://img.shields.io/gem/rd/nomono.svg
|
|
472
|
-
[👽oss-help]: https://www.codetriage.com/kettle-rb/nomono
|
|
473
|
-
[👽oss-helpi]: https://www.codetriage.com/kettle-rb/nomono/badges/users.svg
|
|
474
383
|
[👽version]: https://bestgems.org/gems/nomono
|
|
475
384
|
[👽versioni]: https://img.shields.io/gem/v/nomono.svg
|
|
476
385
|
[🏀qlty-mnt]: https://qlty.sh/gh/kettle-rb/projects/nomono
|
|
@@ -481,12 +390,9 @@ Thanks for RTFM. ☺️
|
|
|
481
390
|
[🏀codecovi]: https://codecov.io/gh/kettle-rb/nomono/graph/badge.svg
|
|
482
391
|
[🏀coveralls]: https://coveralls.io/github/kettle-rb/nomono?branch=main
|
|
483
392
|
[🏀coveralls-img]: https://coveralls.io/repos/github/kettle-rb/nomono/badge.svg?branch=main
|
|
484
|
-
[🖐codeQL]: https://github.com/kettle-rb/nomono/security/code-scanning
|
|
485
|
-
[🖐codeQL-img]: https://github.com/kettle-rb/nomono/actions/workflows/codeql-analysis.yml/badge.svg
|
|
486
393
|
[🚎ruby-3.2-wf]: https://github.com/kettle-rb/nomono/actions/workflows/ruby-3.2.yml
|
|
487
394
|
[🚎ruby-3.3-wf]: https://github.com/kettle-rb/nomono/actions/workflows/ruby-3.3.yml
|
|
488
395
|
[🚎ruby-3.4-wf]: https://github.com/kettle-rb/nomono/actions/workflows/ruby-3.4.yml
|
|
489
|
-
[🚎truby-23.2-wf]: https://github.com/kettle-rb/nomono/actions/workflows/truffleruby-23.2.yml
|
|
490
396
|
[🚎truby-24.2-wf]: https://github.com/kettle-rb/nomono/actions/workflows/truffleruby-24.2.yml
|
|
491
397
|
[🚎truby-25.0-wf]: https://github.com/kettle-rb/nomono/actions/workflows/truffleruby-25.0.yml
|
|
492
398
|
[🚎2-cov-wf]: https://github.com/kettle-rb/nomono/actions/workflows/coverage.yml
|
|
@@ -507,15 +413,12 @@ Thanks for RTFM. ☺️
|
|
|
507
413
|
[🚎13-🔒️-wfi]: https://github.com/kettle-rb/nomono/actions/workflows/locked_deps.yml/badge.svg
|
|
508
414
|
[🚎14-🔓️-wf]: https://github.com/kettle-rb/nomono/actions/workflows/unlocked_deps.yml
|
|
509
415
|
[🚎14-🔓️-wfi]: https://github.com/kettle-rb/nomono/actions/workflows/unlocked_deps.yml/badge.svg
|
|
510
|
-
[🚎15-🪪-wf]: https://github.com/kettle-rb/nomono/actions/workflows/license-eye.yml
|
|
511
|
-
[🚎15-🪪-wfi]: https://github.com/kettle-rb/nomono/actions/workflows/license-eye.yml/badge.svg
|
|
512
416
|
[💎ruby-3.2i]: https://img.shields.io/badge/Ruby-3.2-CC342D?style=for-the-badge&logo=ruby&logoColor=white
|
|
513
417
|
[💎ruby-3.3i]: https://img.shields.io/badge/Ruby-3.3-CC342D?style=for-the-badge&logo=ruby&logoColor=white
|
|
514
418
|
[💎ruby-3.4i]: https://img.shields.io/badge/Ruby-3.4-CC342D?style=for-the-badge&logo=ruby&logoColor=white
|
|
515
419
|
[💎ruby-4.0i]: https://img.shields.io/badge/Ruby-4.0-CC342D?style=for-the-badge&logo=ruby&logoColor=white
|
|
516
420
|
[💎ruby-c-i]: https://img.shields.io/badge/Ruby-current-CC342D?style=for-the-badge&logo=ruby&logoColor=green
|
|
517
421
|
[💎ruby-headi]: https://img.shields.io/badge/Ruby-HEAD-CC342D?style=for-the-badge&logo=ruby&logoColor=blue
|
|
518
|
-
[💎truby-23.2i]: https://img.shields.io/badge/Truffle_Ruby-23.2-34BCB1?style=for-the-badge&logo=ruby&logoColor=pink
|
|
519
422
|
[💎truby-24.2i]: https://img.shields.io/badge/Truffle_Ruby-24.2-34BCB1?style=for-the-badge&logo=ruby&logoColor=pink
|
|
520
423
|
[💎truby-25.0i]: https://img.shields.io/badge/Truffle_Ruby-25.0-34BCB1?style=for-the-badge&logo=ruby&logoColor=pink
|
|
521
424
|
[💎truby-c-i]: https://img.shields.io/badge/Truffle_Ruby-current-34BCB1?style=for-the-badge&logo=ruby&logoColor=green
|
|
@@ -528,34 +431,35 @@ Thanks for RTFM. ☺️
|
|
|
528
431
|
[🤝cb-issues]: https://codeberg.org/kettle-rb/nomono/issues
|
|
529
432
|
[🤝cb-pulls]: https://codeberg.org/kettle-rb/nomono/pulls
|
|
530
433
|
[🤝cb-donate]: https://donate.codeberg.org/
|
|
531
|
-
[🤝contributing]: CONTRIBUTING.md
|
|
532
|
-
[🏀codecov-g]: https://codecov.io/gh/kettle-rb/nomono/
|
|
434
|
+
[🤝contributing]: https://github.com/kettle-rb/nomono/blob/main/CONTRIBUTING.md
|
|
435
|
+
[🏀codecov-g]: https://codecov.io/gh/kettle-rb/nomono/graph/badge.svg
|
|
533
436
|
[🖐contrib-rocks]: https://contrib.rocks
|
|
534
437
|
[🖐contributors]: https://github.com/kettle-rb/nomono/graphs/contributors
|
|
535
438
|
[🖐contributors-img]: https://contrib.rocks/image?repo=kettle-rb/nomono
|
|
536
439
|
[🚎contributors-gl]: https://gitlab.com/kettle-rb/nomono/-/graphs/main
|
|
537
|
-
[🪇conduct]: CODE_OF_CONDUCT.md
|
|
440
|
+
[🪇conduct]: https://github.com/kettle-rb/nomono/blob/main/CODE_OF_CONDUCT.md
|
|
538
441
|
[🪇conduct-img]: https://img.shields.io/badge/Contributor_Covenant-2.1-259D6C.svg
|
|
539
442
|
[📌pvc]: http://guides.rubygems.org/patterns/#pessimistic-version-constraint
|
|
540
443
|
[📌semver]: https://semver.org/spec/v2.0.0.html
|
|
541
444
|
[📌semver-img]: https://img.shields.io/badge/semver-2.0.0-259D6C.svg?style=flat
|
|
542
445
|
[📌semver-breaking]: https://github.com/semver/semver/issues/716#issuecomment-869336139
|
|
543
446
|
[📌major-versions-not-sacred]: https://tom.preston-werner.com/2022/05/23/major-version-numbers-are-not-sacred.html
|
|
544
|
-
[📌changelog]: CHANGELOG.md
|
|
447
|
+
[📌changelog]: https://github.com/kettle-rb/nomono/blob/main/CHANGELOG.md
|
|
545
448
|
[📗keep-changelog]: https://keepachangelog.com/en/1.0.0/
|
|
546
449
|
[📗keep-changelog-img]: https://img.shields.io/badge/keep--a--changelog-1.0.0-34495e.svg?style=flat
|
|
547
450
|
[📌gitmoji]: https://gitmoji.dev
|
|
548
451
|
[📌gitmoji-img]: https://img.shields.io/badge/gitmoji_commits-%20%F0%9F%98%9C%20%F0%9F%98%8D-34495e.svg?style=flat-square
|
|
549
452
|
[🧮kloc]: https://www.youtube.com/watch?v=dQw4w9WgXcQ
|
|
550
|
-
[🧮kloc-img]: https://img.shields.io/badge/KLOC-
|
|
551
|
-
[🔐security]: SECURITY.md
|
|
453
|
+
[🧮kloc-img]: https://img.shields.io/badge/KLOC-0.086-FFDD67.svg?style=for-the-badge&logo=YouTube&logoColor=blue
|
|
454
|
+
[🔐security]: https://github.com/kettle-rb/nomono/blob/main/SECURITY.md
|
|
552
455
|
[🔐security-img]: https://img.shields.io/badge/security-policy-259D6C.svg?style=flat
|
|
553
456
|
[📄copyright-notice-explainer]: https://opensource.stackexchange.com/questions/5778/why-do-licenses-such-as-the-mit-license-specify-a-single-year
|
|
554
|
-
[📄license]: LICENSE.
|
|
555
|
-
[📄license-ref]:
|
|
556
|
-
[📄license-img]: https://img.shields.io/badge/License-
|
|
557
|
-
[📄license-compat]: https://
|
|
558
|
-
[📄license-compat-img]: https://img.shields.io/badge/
|
|
457
|
+
[📄license]: LICENSE.md
|
|
458
|
+
[📄license-ref]: AGPL-3.0-only.md
|
|
459
|
+
[📄license-img]: https://img.shields.io/badge/License-AGPL--3.0--only-259D6C.svg
|
|
460
|
+
[📄license-compat]: https://www.apache.org/legal/resolved.html#category-x
|
|
461
|
+
[📄license-compat-img]: https://img.shields.io/badge/Apache_Incompatible:_Category_X-✗-C0392B.svg?style=flat&logo=Apache
|
|
462
|
+
|
|
559
463
|
[📄ilo-declaration]: https://www.ilo.org/declaration/lang--en/index.htm
|
|
560
464
|
[📄ilo-declaration-img]: https://img.shields.io/badge/ILO_Fundamental_Principles-✓-259D6C.svg?style=flat
|
|
561
465
|
[🚎yard-current]: http://rubydoc.info/gems/nomono
|
|
@@ -567,3 +471,14 @@ Thanks for RTFM. ☺️
|
|
|
567
471
|
[💎appraisal2]: https://github.com/appraisal-rb/appraisal2
|
|
568
472
|
[💎appraisal2-img]: https://img.shields.io/badge/appraised_by-appraisal2-34495e.svg?plastic&logo=ruby&logoColor=white
|
|
569
473
|
[💎d-in-dvcs]: https://railsbling.com/posts/dvcs/put_the_d_in_dvcs/
|
|
474
|
+
|
|
475
|
+
<!-- kettle-jem:metadata:start -->
|
|
476
|
+
| Field | Value |
|
|
477
|
+
|---|---|
|
|
478
|
+
| Package | nomono |
|
|
479
|
+
| Description | 1️⃣ Provides nomono_gems and eval_nomono_gems to standardize local multi-repo dependency wiring in Gemfiles. |
|
|
480
|
+
| Homepage | https://github.com/kettle-rb/nomono |
|
|
481
|
+
| Source | https://github.com/kettle-rb/nomono/tree/v1.0.1 |
|
|
482
|
+
| License | `AGPL-3.0-only` |
|
|
483
|
+
| Funding | https://github.com/sponsors/pboling, https://issuehunt.io/u/pboling, https://ko-fi.com/pboling, https://liberapay.com/pboling/donate, https://opencollective.com/kettle-rb, https://patreon.com/galtzo, https://polar.sh/pboling, https://thanks.dev/u/gh/pboling, https://tidelift.com/funding/github/rubygems/nomono, https://www.buymeacoffee.com/pboling |
|
|
484
|
+
<!-- kettle-jem:metadata:end -->
|
data/certs/pboling.pem
ADDED
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
-----BEGIN CERTIFICATE-----
|
|
2
|
+
MIIEgDCCAuigAwIBAgIBATANBgkqhkiG9w0BAQsFADBDMRUwEwYDVQQDDAxwZXRl
|
|
3
|
+
ci5ib2xpbmcxFTATBgoJkiaJk/IsZAEZFgVnbWFpbDETMBEGCgmSJomT8ixkARkW
|
|
4
|
+
A2NvbTAeFw0yNTA1MDQxNTMzMDlaFw00NTA0MjkxNTMzMDlaMEMxFTATBgNVBAMM
|
|
5
|
+
DHBldGVyLmJvbGluZzEVMBMGCgmSJomT8ixkARkWBWdtYWlsMRMwEQYKCZImiZPy
|
|
6
|
+
LGQBGRYDY29tMIIBojANBgkqhkiG9w0BAQEFAAOCAY8AMIIBigKCAYEAruUoo0WA
|
|
7
|
+
uoNuq6puKWYeRYiZekz/nsDeK5x/0IEirzcCEvaHr3Bmz7rjo1I6On3gGKmiZs61
|
|
8
|
+
LRmQ3oxy77ydmkGTXBjruJB+pQEn7UfLSgQ0xa1/X3kdBZt6RmabFlBxnHkoaGY5
|
|
9
|
+
mZuZ5+Z7walmv6sFD9ajhzj+oIgwWfnEHkXYTR8I6VLN7MRRKGMPoZ/yvOmxb2DN
|
|
10
|
+
coEEHWKO9CvgYpW7asIihl/9GMpKiRkcYPm9dGQzZc6uTwom1COfW0+ZOFrDVBuV
|
|
11
|
+
FMQRPswZcY4Wlq0uEBLPU7hxnCL9nKK6Y9IhdDcz1mY6HZ91WImNslOSI0S8hRpj
|
|
12
|
+
yGOWxQIhBT3fqCBlRIqFQBudrnD9jSNpSGsFvbEijd5ns7Z9ZMehXkXDycpGAUj1
|
|
13
|
+
to/5cuTWWw1JqUWrKJYoifnVhtE1o1DZ+LkPtWxHtz5kjDG/zR3MG0Ula0UOavlD
|
|
14
|
+
qbnbcXPBnwXtTFeZ3C+yrWpE4pGnl3yGkZj9SMTlo9qnTMiPmuWKQDatAgMBAAGj
|
|
15
|
+
fzB9MAkGA1UdEwQCMAAwCwYDVR0PBAQDAgSwMB0GA1UdDgQWBBQE8uWvNbPVNRXZ
|
|
16
|
+
HlgPbc2PCzC4bjAhBgNVHREEGjAYgRZwZXRlci5ib2xpbmdAZ21haWwuY29tMCEG
|
|
17
|
+
A1UdEgQaMBiBFnBldGVyLmJvbGluZ0BnbWFpbC5jb20wDQYJKoZIhvcNAQELBQAD
|
|
18
|
+
ggGBAJbnUwfJQFPkBgH9cL7hoBfRtmWiCvdqdjeTmi04u8zVNCUox0A4gT982DE9
|
|
19
|
+
wmuN12LpdajxZONqbXuzZvc+nb0StFwmFYZG6iDwaf4BPywm2e/Vmq0YG45vZXGR
|
|
20
|
+
L8yMDSK1cQXjmA+ZBKOHKWavxP6Vp7lWvjAhz8RFwqF9GuNIdhv9NpnCAWcMZtpm
|
|
21
|
+
GUPyIWw/Cw/2wZp74QzZj6Npx+LdXoLTF1HMSJXZ7/pkxLCsB8m4EFVdb/IrW/0k
|
|
22
|
+
kNSfjtAfBHO8nLGuqQZVH9IBD1i9K6aSs7pT6TW8itXUIlkIUI2tg5YzW6OFfPzq
|
|
23
|
+
QekSkX3lZfY+HTSp/o+YvKkqWLUV7PQ7xh1ZYDtocpaHwgxe/j3bBqHE+CUPH2vA
|
|
24
|
+
0V/FwdTRWcwsjVoOJTrYcff8pBZ8r2MvtAc54xfnnhGFzeRHfcltobgFxkAXdE6p
|
|
25
|
+
DVjBtqT23eugOqQ73umLcYDZkc36vnqGxUBSsXrzY9pzV5gGr2I8YUxMqf6ATrZt
|
|
26
|
+
L9nRqA==
|
|
27
|
+
-----END CERTIFICATE-----
|
data/lib/nomono/version.rb
CHANGED
data/lib/nomono.rb
CHANGED
data.tar.gz.sig
CHANGED
|
Binary file
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: nomono
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 1.0.
|
|
4
|
+
version: 1.0.2
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Peter H. Boling
|
|
@@ -64,6 +64,9 @@ dependencies:
|
|
|
64
64
|
- - "~>"
|
|
65
65
|
- !ruby/object:Gem::Version
|
|
66
66
|
version: '2.0'
|
|
67
|
+
- - ">="
|
|
68
|
+
- !ruby/object:Gem::Version
|
|
69
|
+
version: 2.0.6
|
|
67
70
|
type: :development
|
|
68
71
|
prerelease: false
|
|
69
72
|
version_requirements: !ruby/object:Gem::Requirement
|
|
@@ -71,6 +74,9 @@ dependencies:
|
|
|
71
74
|
- - "~>"
|
|
72
75
|
- !ruby/object:Gem::Version
|
|
73
76
|
version: '2.0'
|
|
77
|
+
- - ">="
|
|
78
|
+
- !ruby/object:Gem::Version
|
|
79
|
+
version: 2.0.6
|
|
74
80
|
- !ruby/object:Gem::Dependency
|
|
75
81
|
name: bundler-audit
|
|
76
82
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -140,103 +146,103 @@ dependencies:
|
|
|
140
146
|
- !ruby/object:Gem::Version
|
|
141
147
|
version: 3.0.6
|
|
142
148
|
- !ruby/object:Gem::Dependency
|
|
143
|
-
name: kettle-
|
|
149
|
+
name: kettle-test
|
|
144
150
|
requirement: !ruby/object:Gem::Requirement
|
|
145
151
|
requirements:
|
|
146
152
|
- - "~>"
|
|
147
153
|
- !ruby/object:Gem::Version
|
|
148
|
-
version: '
|
|
154
|
+
version: '2.0'
|
|
149
155
|
- - ">="
|
|
150
156
|
- !ruby/object:Gem::Version
|
|
151
|
-
version:
|
|
157
|
+
version: 2.0.1
|
|
152
158
|
type: :development
|
|
153
159
|
prerelease: false
|
|
154
160
|
version_requirements: !ruby/object:Gem::Requirement
|
|
155
161
|
requirements:
|
|
156
162
|
- - "~>"
|
|
157
163
|
- !ruby/object:Gem::Version
|
|
158
|
-
version: '
|
|
164
|
+
version: '2.0'
|
|
159
165
|
- - ">="
|
|
160
166
|
- !ruby/object:Gem::Version
|
|
161
|
-
version:
|
|
167
|
+
version: 2.0.1
|
|
162
168
|
- !ruby/object:Gem::Dependency
|
|
163
|
-
name:
|
|
169
|
+
name: ruby-progressbar
|
|
164
170
|
requirement: !ruby/object:Gem::Requirement
|
|
165
171
|
requirements:
|
|
166
172
|
- - "~>"
|
|
167
173
|
- !ruby/object:Gem::Version
|
|
168
|
-
version: '1.
|
|
169
|
-
- - ">="
|
|
170
|
-
- !ruby/object:Gem::Version
|
|
171
|
-
version: 1.0.10
|
|
174
|
+
version: '1.13'
|
|
172
175
|
type: :development
|
|
173
176
|
prerelease: false
|
|
174
177
|
version_requirements: !ruby/object:Gem::Requirement
|
|
175
178
|
requirements:
|
|
176
179
|
- - "~>"
|
|
177
180
|
- !ruby/object:Gem::Version
|
|
178
|
-
version: '1.
|
|
179
|
-
- - ">="
|
|
180
|
-
- !ruby/object:Gem::Version
|
|
181
|
-
version: 1.0.10
|
|
181
|
+
version: '1.13'
|
|
182
182
|
- !ruby/object:Gem::Dependency
|
|
183
|
-
name:
|
|
183
|
+
name: stone_checksums
|
|
184
184
|
requirement: !ruby/object:Gem::Requirement
|
|
185
185
|
requirements:
|
|
186
186
|
- - "~>"
|
|
187
187
|
- !ruby/object:Gem::Version
|
|
188
|
-
version: '1.
|
|
188
|
+
version: '1.0'
|
|
189
|
+
- - ">="
|
|
190
|
+
- !ruby/object:Gem::Version
|
|
191
|
+
version: 1.0.3
|
|
189
192
|
type: :development
|
|
190
193
|
prerelease: false
|
|
191
194
|
version_requirements: !ruby/object:Gem::Requirement
|
|
192
195
|
requirements:
|
|
193
196
|
- - "~>"
|
|
194
197
|
- !ruby/object:Gem::Version
|
|
195
|
-
version: '1.
|
|
198
|
+
version: '1.0'
|
|
199
|
+
- - ">="
|
|
200
|
+
- !ruby/object:Gem::Version
|
|
201
|
+
version: 1.0.3
|
|
196
202
|
- !ruby/object:Gem::Dependency
|
|
197
|
-
name:
|
|
203
|
+
name: gitmoji-regex
|
|
198
204
|
requirement: !ruby/object:Gem::Requirement
|
|
199
205
|
requirements:
|
|
200
206
|
- - "~>"
|
|
201
207
|
- !ruby/object:Gem::Version
|
|
202
|
-
version: '
|
|
208
|
+
version: '2.0'
|
|
203
209
|
- - ">="
|
|
204
210
|
- !ruby/object:Gem::Version
|
|
205
|
-
version:
|
|
211
|
+
version: 2.0.0
|
|
206
212
|
type: :development
|
|
207
213
|
prerelease: false
|
|
208
214
|
version_requirements: !ruby/object:Gem::Requirement
|
|
209
215
|
requirements:
|
|
210
216
|
- - "~>"
|
|
211
217
|
- !ruby/object:Gem::Version
|
|
212
|
-
version: '
|
|
218
|
+
version: '2.0'
|
|
213
219
|
- - ">="
|
|
214
220
|
- !ruby/object:Gem::Version
|
|
215
|
-
version:
|
|
221
|
+
version: 2.0.0
|
|
216
222
|
- !ruby/object:Gem::Dependency
|
|
217
|
-
name:
|
|
223
|
+
name: kettle-soup-cover
|
|
218
224
|
requirement: !ruby/object:Gem::Requirement
|
|
219
225
|
requirements:
|
|
220
226
|
- - "~>"
|
|
221
227
|
- !ruby/object:Gem::Version
|
|
222
|
-
version: '1.
|
|
228
|
+
version: '1.1'
|
|
223
229
|
- - ">="
|
|
224
230
|
- !ruby/object:Gem::Version
|
|
225
|
-
version: 1.
|
|
231
|
+
version: 1.1.1
|
|
226
232
|
type: :development
|
|
227
233
|
prerelease: false
|
|
228
234
|
version_requirements: !ruby/object:Gem::Requirement
|
|
229
235
|
requirements:
|
|
230
236
|
- - "~>"
|
|
231
237
|
- !ruby/object:Gem::Version
|
|
232
|
-
version: '1.
|
|
238
|
+
version: '1.1'
|
|
233
239
|
- - ">="
|
|
234
240
|
- !ruby/object:Gem::Version
|
|
235
|
-
version: 1.
|
|
236
|
-
description:
|
|
237
|
-
|
|
241
|
+
version: 1.1.1
|
|
242
|
+
description: 1️⃣ Provides nomono_gems and eval_nomono_gems to standardize local multi-repo
|
|
243
|
+
dependency wiring in Gemfiles.
|
|
238
244
|
email:
|
|
239
|
-
-
|
|
245
|
+
- floss@glatzo.com
|
|
240
246
|
executables: []
|
|
241
247
|
extensions: []
|
|
242
248
|
extra_rdoc_files:
|
|
@@ -245,9 +251,8 @@ extra_rdoc_files:
|
|
|
245
251
|
- CODE_OF_CONDUCT.md
|
|
246
252
|
- CONTRIBUTING.md
|
|
247
253
|
- FUNDING.md
|
|
248
|
-
- LICENSE.
|
|
254
|
+
- LICENSE.md
|
|
249
255
|
- README.md
|
|
250
|
-
- REEK
|
|
251
256
|
- RUBOCOP.md
|
|
252
257
|
- SECURITY.md
|
|
253
258
|
files:
|
|
@@ -256,27 +261,27 @@ files:
|
|
|
256
261
|
- CODE_OF_CONDUCT.md
|
|
257
262
|
- CONTRIBUTING.md
|
|
258
263
|
- FUNDING.md
|
|
259
|
-
- LICENSE.
|
|
264
|
+
- LICENSE.md
|
|
260
265
|
- README.md
|
|
261
|
-
- REEK
|
|
262
266
|
- RUBOCOP.md
|
|
263
267
|
- SECURITY.md
|
|
268
|
+
- certs/pboling.pem
|
|
264
269
|
- lib/nomono.rb
|
|
265
270
|
- lib/nomono/bundler.rb
|
|
266
271
|
- lib/nomono/dsl.rb
|
|
267
272
|
- lib/nomono/resolver.rb
|
|
268
273
|
- lib/nomono/version.rb
|
|
269
274
|
- sig/nomono.rbs
|
|
275
|
+
- sig/nomono/version.rbs
|
|
270
276
|
homepage: https://github.com/kettle-rb/nomono
|
|
271
277
|
licenses:
|
|
272
|
-
-
|
|
278
|
+
- AGPL-3.0-only
|
|
273
279
|
metadata:
|
|
274
|
-
allowed_push_host: https://rubygems.org
|
|
275
280
|
homepage_uri: https://nomono.galtzo.com/
|
|
276
|
-
source_code_uri: https://github.com/kettle-rb/nomono/tree/v1.0.
|
|
277
|
-
changelog_uri: https://github.com/kettle-rb/nomono/blob/v1.0.
|
|
281
|
+
source_code_uri: https://github.com/kettle-rb/nomono/tree/v1.0.2
|
|
282
|
+
changelog_uri: https://github.com/kettle-rb/nomono/blob/v1.0.2/CHANGELOG.md
|
|
278
283
|
bug_tracker_uri: https://github.com/kettle-rb/nomono/issues
|
|
279
|
-
documentation_uri: https://www.rubydoc.info/gems/nomono/1.0.
|
|
284
|
+
documentation_uri: https://www.rubydoc.info/gems/nomono/1.0.2
|
|
280
285
|
funding_uri: https://github.com/sponsors/pboling
|
|
281
286
|
wiki_uri: https://github.com/kettle-rb/nomono/wiki
|
|
282
287
|
news_uri: https://www.railsbling.com/tags/nomono
|
|
@@ -284,7 +289,7 @@ metadata:
|
|
|
284
289
|
rubygems_mfa_required: 'true'
|
|
285
290
|
rdoc_options:
|
|
286
291
|
- "--title"
|
|
287
|
-
-
|
|
292
|
+
- nomono - 1️⃣ ENV-driven Gemfile macros for sibling gem path resolution
|
|
288
293
|
- "--main"
|
|
289
294
|
- README.md
|
|
290
295
|
- "--exclude"
|
|
@@ -305,7 +310,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
305
310
|
- !ruby/object:Gem::Version
|
|
306
311
|
version: '0'
|
|
307
312
|
requirements: []
|
|
308
|
-
rubygems_version: 4.0.
|
|
313
|
+
rubygems_version: 4.0.10
|
|
309
314
|
specification_version: 4
|
|
310
|
-
summary:
|
|
315
|
+
summary: 1️⃣ ENV-driven Gemfile macros for sibling gem path resolution
|
|
311
316
|
test_files: []
|
metadata.gz.sig
CHANGED
|
@@ -1,2 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
��3��<���%�
|
|
2
|
+
��ݝ��l,.�+F�%+x.Ɛ�p�����[���xB&���]sO���2/���n�yb�-5�-��2�S��1,��8�9/�����}ʓ-��oJ�d*P�AЊvx�܊��ۯ15��
|
|
3
|
+
Y�����}z���)K3�rG2��ԯ�G�'����e]B�#z��6n}F�qf�shewf �bw� Պw���{�N��0W;��.z-��Ē�WG�1�:kS��m�����זbX��)UQ.�>�Fx
|
|
4
|
+
Է���{ru�Am�U���X�����\#�{�9^��t���*J��ۅ��n���u�ْ
|
data/LICENSE.txt
DELETED
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
The MIT License (MIT)
|
|
2
|
-
|
|
3
|
-
Copyright (c) 2026 Peter H. Boling
|
|
4
|
-
|
|
5
|
-
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
-
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
-
in the Software without restriction, including without limitation the rights
|
|
8
|
-
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
-
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
-
furnished to do so, subject to the following conditions:
|
|
11
|
-
|
|
12
|
-
The above copyright notice and this permission notice shall be included in
|
|
13
|
-
all copies or substantial portions of the Software.
|
|
14
|
-
|
|
15
|
-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
-
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
-
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
-
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
-
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
-
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
21
|
-
THE SOFTWARE.
|
data/REEK
DELETED
|
File without changes
|