kettle-drift 1.0.2 → 1.0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- checksums.yaml.gz.sig +0 -0
- data/CHANGELOG.md +45 -7
- data/CITATION.cff +2 -2
- data/CONTRIBUTING.md +11 -11
- data/FUNDING.md +13 -17
- data/LICENSE.md +1 -1
- data/README.md +111 -95
- data/lib/kettle/drift/cli.rb +2 -3
- data/lib/kettle/drift/diff.rb +1 -1
- data/lib/kettle/drift/duplicate_line_validator.rb +7 -8
- data/lib/kettle/drift/process/calculate_diff.rb +2 -2
- data/lib/kettle/drift/process.rb +1 -1
- data/lib/kettle/drift/rakelib/drift.rake +1 -1
- data/lib/kettle/drift/serializer.rb +2 -2
- data/lib/kettle/drift/version.rb +1 -1
- data/lib/kettle/drift.rb +2 -3
- data/sig/kettle/drift.rbs +0 -1
- data.tar.gz.sig +0 -0
- metadata +25 -25
- 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: 93d8308b40a56528c86941937bbfb8c7dfecb7ee189f50bbe72bead5146ef924
|
|
4
|
+
data.tar.gz: 58877b8e0adc64e20a66760ee138e4b5cfe74e683ac269d2aee71d1201bb142b
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 98ccf2e833d2a2e43411b8bc8373de722cd52b9dcb02787626d161932237b580fc05c15b5c61e5f89693cbc7157626779c17878f19d304dcb39ed100e1c04fc7
|
|
7
|
+
data.tar.gz: 76f5ba202b626691d9a6b3a942ccf420c7e01a23cdd18b8d572539e66877116824eabe499d664f4ba49e88ea7ec3e78231ecd3cc956088018a1407be365ae570
|
checksums.yaml.gz.sig
CHANGED
|
Binary file
|
data/CHANGELOG.md
CHANGED
|
@@ -30,6 +30,40 @@ Please file a bug if you notice a violation of semantic versioning.
|
|
|
30
30
|
|
|
31
31
|
### Security
|
|
32
32
|
|
|
33
|
+
## [1.0.4] - 2026-06-22
|
|
34
|
+
|
|
35
|
+
- TAG: [v1.0.4][1.0.4t]
|
|
36
|
+
- COVERAGE: 81.02% -- 427/527 lines in 14 files
|
|
37
|
+
- BRANCH COVERAGE: 63.94% -- 133/208 branches in 14 files
|
|
38
|
+
- 33.01% documented
|
|
39
|
+
|
|
40
|
+
### Added
|
|
41
|
+
|
|
42
|
+
- Added support for JRuby 10.1 and TruffleRuby 34.0.
|
|
43
|
+
|
|
44
|
+
### Changed
|
|
45
|
+
|
|
46
|
+
- Retemplated project metadata and CI/development automation with `kettle-jem` v7.0.0.
|
|
47
|
+
|
|
48
|
+
### Fixed
|
|
49
|
+
|
|
50
|
+
- Corrected RubyGems homepage metadata to point at the gem documentation site.
|
|
51
|
+
- Corrected persisted Open Collective metadata to use the `kettle-dev`
|
|
52
|
+
collective.
|
|
53
|
+
|
|
54
|
+
## [1.0.3] - 2026-06-10
|
|
55
|
+
|
|
56
|
+
- TAG: [v1.0.3][1.0.3t]
|
|
57
|
+
- COVERAGE: 83.89% -- 427/509 lines in 13 files
|
|
58
|
+
- BRANCH COVERAGE: 65.84% -- 133/202 branches in 13 files
|
|
59
|
+
- 33.01% documented
|
|
60
|
+
|
|
61
|
+
### Fixed
|
|
62
|
+
|
|
63
|
+
- Updated generated project metadata links to use the migrated `kettle-dev`
|
|
64
|
+
GitHub organization.
|
|
65
|
+
- Restored `docs/CNAME` so the generated documentation site keeps its custom domain.
|
|
66
|
+
|
|
33
67
|
## [1.0.2] - 2026-06-03
|
|
34
68
|
|
|
35
69
|
- TAG: [v1.0.2][1.0.2t]
|
|
@@ -67,10 +101,14 @@ Please file a bug if you notice a violation of semantic versioning.
|
|
|
67
101
|
|
|
68
102
|
- Initial release
|
|
69
103
|
|
|
70
|
-
[Unreleased]: https://github.com/kettle-
|
|
71
|
-
[1.0.
|
|
72
|
-
[1.0.
|
|
73
|
-
[1.0.
|
|
74
|
-
[1.0.
|
|
75
|
-
[1.0.
|
|
76
|
-
[1.0.
|
|
104
|
+
[Unreleased]: https://github.com/kettle-dev/kettle-drift/compare/v1.0.4...HEAD
|
|
105
|
+
[1.0.4]: https://github.com/kettle-dev/kettle-drift/compare/v1.0.3...v1.0.4
|
|
106
|
+
[1.0.4t]: https://github.com/kettle-dev/kettle-drift/releases/tag/v1.0.4
|
|
107
|
+
[1.0.3]: https://github.com/kettle-dev/kettle-drift/compare/v1.0.2...v1.0.3
|
|
108
|
+
[1.0.3t]: https://github.com/kettle-dev/kettle-drift/releases/tag/v1.0.3
|
|
109
|
+
[1.0.2]: https://github.com/kettle-dev/kettle-drift/compare/v1.0.1...v1.0.2
|
|
110
|
+
[1.0.2t]: https://github.com/kettle-dev/kettle-drift/releases/tag/v1.0.2
|
|
111
|
+
[1.0.1]: https://github.com/kettle-dev/kettle-drift/compare/v1.0.0...v1.0.1
|
|
112
|
+
[1.0.1t]: https://github.com/kettle-dev/kettle-drift/releases/tag/v1.0.1
|
|
113
|
+
[1.0.0]: https://github.com/kettle-dev/kettle-drift/compare/bd038cd14dc083203b58f8fee359e63d6feeaaca...v1.0.0
|
|
114
|
+
[1.0.0t]: https://github.com/kettle-dev/kettle-drift/releases/tag/v1.0.0
|
data/CITATION.cff
CHANGED
|
@@ -12,9 +12,9 @@ authors:
|
|
|
12
12
|
orcid: 'https://orcid.org/0009-0008-8519-441X'
|
|
13
13
|
identifiers:
|
|
14
14
|
- type: url
|
|
15
|
-
value: 'https://github.com/kettle-
|
|
15
|
+
value: 'https://github.com/kettle-dev/kettle-drift'
|
|
16
16
|
description: "kettle-drift"
|
|
17
|
-
repository-code: 'https://github.com/kettle-
|
|
17
|
+
repository-code: 'https://github.com/kettle-dev/kettle-drift'
|
|
18
18
|
abstract: >-
|
|
19
19
|
kettle-drift
|
|
20
20
|
license: See license file
|
data/CONTRIBUTING.md
CHANGED
|
@@ -109,14 +109,14 @@ Git diff driver setup
|
|
|
109
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
110
|
|
|
111
111
|
```console
|
|
112
|
-
K_JEM_TEMPLATING=true
|
|
112
|
+
K_JEM_TEMPLATING=true kettle-jem install
|
|
113
113
|
```
|
|
114
114
|
|
|
115
115
|
Troubleshooting Git diffs
|
|
116
116
|
- Use `git diff --no-ext-diff` to compare against Git's built-in diff output.
|
|
117
117
|
- Use `git diff --no-textconv` when a textconv projection obscures the raw file bytes you need to inspect.
|
|
118
118
|
- If Git reports a missing `smorg-*` executable, rerun `bundle install` and the setup command above, then check `git config --local --get-regexp '^diff\.smorg-'`.
|
|
119
|
-
- To remove managed local entries, run `K_JEM_TEMPLATING=true
|
|
119
|
+
- To remove managed local entries, run `K_JEM_TEMPLATING=true kettle-jem install --undo`; remove global command registrations with `git config --global --unset-all diff.smorg-ruby.command`.
|
|
120
120
|
|
|
121
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 -- ...`.
|
|
122
122
|
|
|
@@ -198,7 +198,7 @@ Your picture could be here!
|
|
|
198
198
|
|
|
199
199
|
Made with [contributors-img][🖐contrib-rocks].
|
|
200
200
|
|
|
201
|
-
Also see GitLab Contributors: [https://gitlab.com/kettle-
|
|
201
|
+
Also see GitLab Contributors: [https://gitlab.com/kettle-dev/kettle-drift/-/graphs/main][🚎contributors-gl]
|
|
202
202
|
|
|
203
203
|
## For Maintainers
|
|
204
204
|
|
|
@@ -249,15 +249,15 @@ NOTE: To build without signing the gem set `SKIP_GEM_SIGNING` to any value in th
|
|
|
249
249
|
14. Run `bundle exec rake release` which will create a git tag for the version,
|
|
250
250
|
push git commits and tags, and push the `.gem` file to the gem host configured in the gemspec.
|
|
251
251
|
|
|
252
|
-
[📜src-gl]: https://gitlab.com/kettle-
|
|
253
|
-
[📜src-cb]: https://codeberg.org/kettle-
|
|
254
|
-
[📜src-gh]: https://github.com/kettle-
|
|
255
|
-
[🧪build]: https://github.com/kettle-
|
|
256
|
-
[🤝conduct]: https://github.com/kettle-
|
|
252
|
+
[📜src-gl]: https://gitlab.com/kettle-dev/kettle-drift
|
|
253
|
+
[📜src-cb]: https://codeberg.org/kettle-dev/kettle-drift
|
|
254
|
+
[📜src-gh]: https://github.com/kettle-dev/kettle-drift
|
|
255
|
+
[🧪build]: https://github.com/kettle-dev/kettle-drift/actions
|
|
256
|
+
[🤝conduct]: https://github.com/kettle-dev/kettle-drift/blob/main/CODE_OF_CONDUCT.md
|
|
257
257
|
[🖐contrib-rocks]: https://contrib.rocks
|
|
258
|
-
[🖐contributors]: https://github.com/kettle-
|
|
259
|
-
[🚎contributors-gl]: https://gitlab.com/kettle-
|
|
260
|
-
[🖐contributors-img]: https://contrib.rocks/image?repo=kettle-
|
|
258
|
+
[🖐contributors]: https://github.com/kettle-dev/kettle-drift/graphs/contributors
|
|
259
|
+
[🚎contributors-gl]: https://gitlab.com/kettle-dev/kettle-drift/-/graphs/main
|
|
260
|
+
[🖐contributors-img]: https://contrib.rocks/image?repo=kettle-dev/kettle-drift
|
|
261
261
|
[💎gem-coop]: https://gem.coop
|
|
262
262
|
[🔒️rubygems-security-guide]: https://guides.rubygems.org/security/#building-gems
|
|
263
263
|
[🔒️rubygems-checksums-pr]: https://github.com/rubygems/rubygems/pull/6022
|
data/FUNDING.md
CHANGED
|
@@ -6,22 +6,18 @@ Many paths lead to being a sponsor or a backer of this project. Are you on such
|
|
|
6
6
|
|
|
7
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
8
|
|
|
9
|
-
[![Buy me a coffee][🖇buyme-small-img]][🖇buyme] [![Donate
|
|
9
|
+
[![Buy me a coffee][🖇buyme-small-img]][🖇buyme] [![Donate to my FLOSS efforts at ko-fi.com][🖇kofi-img]][🖇kofi]
|
|
10
10
|
|
|
11
11
|
[⛳liberapay-img]: https://img.shields.io/liberapay/goal/pboling.svg?logo=liberapay&color=a51611&style=flat
|
|
12
12
|
[⛳liberapay]: https://liberapay.com/pboling/donate
|
|
13
|
-
[🖇osc-backers]: https://opencollective.com/kettle-
|
|
14
|
-
[🖇osc-backers-i]: https://opencollective.com/kettle-
|
|
15
|
-
[🖇osc-sponsors]: https://opencollective.com/kettle-
|
|
16
|
-
[🖇osc-sponsors-i]: https://opencollective.com/kettle-
|
|
13
|
+
[🖇osc-backers]: https://opencollective.com/kettle-dev#backer
|
|
14
|
+
[🖇osc-backers-i]: https://opencollective.com/kettle-dev/backers/badge.svg?style=flat
|
|
15
|
+
[🖇osc-sponsors]: https://opencollective.com/kettle-dev#sponsor
|
|
16
|
+
[🖇osc-sponsors-i]: https://opencollective.com/kettle-dev/sponsors/badge.svg?style=flat
|
|
17
17
|
[🖇sponsor-img]: https://img.shields.io/badge/Sponsor_Me!-pboling.svg?style=social&logo=github
|
|
18
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
19
|
[🖇kofi-img]: https://img.shields.io/badge/ko--fi-%E2%9C%93-a51611.svg?style=flat
|
|
22
20
|
[🖇kofi]: https://ko-fi.com/pboling
|
|
23
|
-
[🖇patreon-img]: https://img.shields.io/badge/patreon-donate-a51611.svg?style=flat
|
|
24
|
-
[🖇patreon]: https://patreon.com/galtzo
|
|
25
21
|
[🖇buyme-small-img]: https://img.shields.io/badge/buy_me_a_coffee-%E2%9C%93-a51611.svg?style=flat
|
|
26
22
|
[🖇buyme]: https://www.buymeacoffee.com/pboling
|
|
27
23
|
[🖇paypal-img]: https://img.shields.io/badge/donate-paypal-a51611.svg?style=flat&logo=paypal
|
|
@@ -46,7 +42,7 @@ To join the community or get help 👇️ Join the Discord.
|
|
|
46
42
|
|
|
47
43
|
To say "thanks!" ☝️ Join the Discord or 👇️ send money.
|
|
48
44
|
|
|
49
|
-
[![Sponsor kettle-
|
|
45
|
+
[![Sponsor kettle-dev/kettle-drift 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
46
|
|
|
51
47
|
# Another Way to Support Open Source Software
|
|
52
48
|
|
|
@@ -59,13 +55,13 @@ I’m developing a new library, [floss_funding][🖇floss-funding-gem], designed
|
|
|
59
55
|
**[Floss-Funding.dev][🖇floss-funding.dev]: 👉️ No network calls. 👉️ No tracking. 👉️ No oversight. 👉️ Minimal crypto hashing. 💡 Easily disabled nags**
|
|
60
56
|
|
|
61
57
|
[⛳liberapay-bottom-img]: https://img.shields.io/liberapay/goal/pboling.svg?style=for-the-badge&logo=liberapay&color=a51611
|
|
62
|
-
[🖇osc-all-img]: https://img.shields.io/opencollective/all/kettle-
|
|
63
|
-
[🖇osc-sponsors-img]: https://img.shields.io/opencollective/sponsors/kettle-
|
|
64
|
-
[🖇osc-backers-img]: https://img.shields.io/opencollective/backers/kettle-
|
|
65
|
-
[🖇osc-all-bottom-img]: https://img.shields.io/opencollective/all/kettle-
|
|
66
|
-
[🖇osc-sponsors-bottom-img]: https://img.shields.io/opencollective/sponsors/kettle-
|
|
67
|
-
[🖇osc-backers-bottom-img]: https://img.shields.io/opencollective/backers/kettle-
|
|
68
|
-
[🖇osc]: https://opencollective.com/kettle-
|
|
58
|
+
[🖇osc-all-img]: https://img.shields.io/opencollective/all/kettle-dev
|
|
59
|
+
[🖇osc-sponsors-img]: https://img.shields.io/opencollective/sponsors/kettle-dev
|
|
60
|
+
[🖇osc-backers-img]: https://img.shields.io/opencollective/backers/kettle-dev
|
|
61
|
+
[🖇osc-all-bottom-img]: https://img.shields.io/opencollective/all/kettle-dev?style=for-the-badge
|
|
62
|
+
[🖇osc-sponsors-bottom-img]: https://img.shields.io/opencollective/sponsors/kettle-dev?style=for-the-badge
|
|
63
|
+
[🖇osc-backers-bottom-img]: https://img.shields.io/opencollective/backers/kettle-dev?style=for-the-badge
|
|
64
|
+
[🖇osc]: https://opencollective.com/kettle-dev
|
|
69
65
|
[🖇sponsor-bottom-img]: https://img.shields.io/badge/Sponsor_Me!-pboling-blue?style=for-the-badge&logo=github
|
|
70
66
|
[🖇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
|
|
71
67
|
[🖇paypal-bottom-img]: https://img.shields.io/badge/donate-paypal-a51611.svg?style=for-the-badge&logo=paypal&color=0A0A0A
|
data/LICENSE.md
CHANGED
data/README.md
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
<a href="https://github.com/kettle-
|
|
1
|
+
<a href="https://github.com/kettle-dev"><img alt="kettle-dev Logo by Aboling0, CC BY-SA 4.0" src="https://logos.galtzo.com/assets/images/kettle-dev/avatar-128px.svg" width="12%" align="right"/></a> <a href="https://github.com/kettle-dev/kettle-drift"><img alt="kettle-drift Logo by Aboling0, CC BY-SA 4.0" src="https://logos.galtzo.com/assets/images/kettle-dev/kettle-drift/avatar-128px.svg" width="12%" align="right"/></a>
|
|
2
2
|
|
|
3
3
|
# 🍲 Kettle::Drift
|
|
4
4
|
|
|
@@ -10,9 +10,9 @@
|
|
|
10
10
|
|
|
11
11
|
`if ci_badges.map(&:color).all? { it == "green"}` 👇️ send money so I can do more of this. FLOSS maintenance is now my full-time job.
|
|
12
12
|
|
|
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
|
|
13
|
+
[![OpenCollective Backers][🖇osc-backers-i]][🖇osc-backers] [![OpenCollective Sponsors][🖇osc-sponsors-i]][🖇osc-sponsors] [![Sponsor Me on Github][🖇sponsor-img]][🖇sponsor] [![Liberapay Goal Progress][⛳liberapay-img]][⛳liberapay] [![Donate on PayPal][🖇paypal-img]][🖇paypal] [![Buy me a coffee][🖇buyme-small-img]][🖇buyme] [![Donate at ko-fi.com][🖇kofi-img]][🖇kofi]
|
|
14
14
|
|
|
15
|
-
<details>
|
|
15
|
+
<details markdown="1">
|
|
16
16
|
<summary>👣 How will this project approach the September 2025 hostile takeover of RubyGems? 🚑️</summary>
|
|
17
17
|
|
|
18
18
|
I've summarized my thoughts in [this blog post](https://dev.to/galtzo/hostile-takeover-of-rubygems-my-thoughts-5hlo).
|
|
@@ -31,9 +31,9 @@ the whole repository.
|
|
|
31
31
|
|
|
32
32
|
| Tokens to Remember | [![Gem name][⛳️name-img]][⛳️gem-name] [![Gem namespace][⛳️namespace-img]][⛳️gem-namespace] |
|
|
33
33
|
|-------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|
|
34
|
-
| Works with JRuby | [![JRuby current Compat][💎jruby-c-i]][🚎10-j-wf] [![JRuby HEAD Compat][💎jruby-headi]][🚎3-hd-wf]|
|
|
35
|
-
| 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]|
|
|
36
|
-
| Works with MRI Ruby 4 | [![Ruby
|
|
34
|
+
| Works with JRuby | [![JRuby 10.0 Compat][💎jruby-10.0i]][🚎jruby-10.0-wf] [![JRuby current Compat][💎jruby-c-i]][🚎10-j-wf] [![JRuby HEAD Compat][💎jruby-headi]][🚎3-hd-wf]|
|
|
35
|
+
| 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 33.0 Compat][💎truby-33.0i]][🚎truby-33.0-wf] [![Truffle Ruby current Compat][💎truby-c-i]][🚎9-t-wf] [![Truffle Ruby HEAD Compat][💎truby-headi]][🚎3-hd-wf]|
|
|
36
|
+
| Works with MRI Ruby 4 | [![Ruby current Compat][💎ruby-c-i]][🚎11-c-wf] [![Ruby HEAD Compat][💎ruby-headi]][🚎3-hd-wf]|
|
|
37
37
|
| 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]|
|
|
38
38
|
| 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] |
|
|
39
39
|
| 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] |
|
|
@@ -51,9 +51,25 @@ This test floor is configured by `ruby.test_minimum` in `.kettle-jem.yml` and
|
|
|
51
51
|
may be higher than the gem's runtime compatibility floor when legacy Rubies are
|
|
52
52
|
not practical for the current toolchain.
|
|
53
53
|
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
54
|
+
<a href="https://github.com/kettle-dev"><img alt="kettle-dev Logo by Aboling0, CC BY-SA 4.0" src="https://logos.galtzo.com/assets/images/kettle-dev/avatar-128px.svg" width="14%" align="right"/></a>
|
|
55
|
+
|
|
56
|
+
The _amazing_ test matrix is powered by the kettle-dev stack.
|
|
57
|
+
|
|
58
|
+
<details markdown="1">
|
|
59
|
+
<summary>How kettle-dev manages complexity in tests</summary>
|
|
60
|
+
|
|
61
|
+
| Gem | Source | Role | Daily download rank |
|
|
62
|
+
|-----|--------|------|---------------------|
|
|
63
|
+
| [appraisal2](https://bestgems.org/gems/appraisal2) | [GitHub](https://github.com/appraisal-rb/appraisal2) | multi-dependency Appraisal matrix generation | [](https://bestgems.org/gems/appraisal2) |
|
|
64
|
+
| [appraisal2-rubocop](https://bestgems.org/gems/appraisal2-rubocop) | [GitHub](https://github.com/appraisal-rb/appraisal2-rubocop) | RuboCop Appraisal generator integration | [](https://bestgems.org/gems/appraisal2-rubocop) |
|
|
65
|
+
| [kettle-dev](https://bestgems.org/gems/kettle-dev) | [GitHub](https://github.com/kettle-dev/kettle-dev) | development, release, and CI workflow tooling | [](https://bestgems.org/gems/kettle-dev) |
|
|
66
|
+
| [kettle-jem](https://bestgems.org/gems/kettle-jem) | [GitHub](https://github.com/kettle-dev/kettle-jem) | Appraisals & CI workflow templates | [](https://bestgems.org/gems/kettle-jem) |
|
|
67
|
+
| [kettle-soup-cover](https://bestgems.org/gems/kettle-soup-cover) | [GitHub](https://github.com/kettle-dev/kettle-soup-cover) | SimpleCov coverage policy and reporting | [](https://bestgems.org/gems/kettle-soup-cover) |
|
|
68
|
+
| [kettle-test](https://bestgems.org/gems/kettle-test) | [GitHub](https://github.com/kettle-dev/kettle-test) | standard test runner and coverage harness | [](https://bestgems.org/gems/kettle-test) |
|
|
69
|
+
| [rubocop-lts](https://bestgems.org/gems/rubocop-lts) | [GitHub](https://github.com/rubocop-lts/rubocop-lts) | Ruby-version-aware linting | [](https://bestgems.org/gems/rubocop-lts) |
|
|
70
|
+
| [turbo_tests2](https://bestgems.org/gems/turbo_tests2) | [GitHub](https://github.com/galtzo-floss/turbo_tests2) | parallel test execution | [](https://bestgems.org/gems/turbo_tests2) |
|
|
71
|
+
|
|
72
|
+
</details>
|
|
57
73
|
|
|
58
74
|
### Federated DVCS
|
|
59
75
|
|
|
@@ -62,14 +78,14 @@ not practical for the current toolchain.
|
|
|
62
78
|
|
|
63
79
|
| Federated [DVCS][💎d-in-dvcs] Repository | Status | Issues | PRs | Wiki | CI | Discussions |
|
|
64
80
|
|-------------------------------------------------|-----------------------------------------------------------------------|---------------------------|--------------------------|---------------------------|--------------------------|------------------------------|
|
|
65
|
-
| 🧪 [kettle-
|
|
66
|
-
| 🧊 [kettle-
|
|
67
|
-
| 🐙 [kettle-
|
|
81
|
+
| 🧪 [kettle-dev/kettle-drift on GitLab][📜src-gl] | The Truth | [💚][🤝gl-issues] | [💚][🤝gl-pulls] | [💚][📜gl-wiki] | 🐭 Tiny Matrix | ➖ |
|
|
82
|
+
| 🧊 [kettle-dev/kettle-drift on CodeBerg][📜src-cb] | An Ethical Mirror ([Donate][🤝cb-donate]) | [💚][🤝cb-issues] | [💚][🤝cb-pulls] | ➖ | ⭕️ No Matrix | ➖ |
|
|
83
|
+
| 🐙 [kettle-dev/kettle-drift on GitHub][📜src-gh] | Another Mirror | [💚][🤝gh-issues] | [💚][🤝gh-pulls] | [💚][📜gh-wiki] | 💯 Full Matrix | [💚][gh-discussions] |
|
|
68
84
|
| 🎮️ [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] |
|
|
69
85
|
|
|
70
86
|
</details>
|
|
71
87
|
|
|
72
|
-
[gh-discussions]: https://github.com/kettle-
|
|
88
|
+
[gh-discussions]: https://github.com/kettle-dev/kettle-drift/discussions
|
|
73
89
|
|
|
74
90
|
### Enterprise Support [](https://tidelift.com/subscription/pkg/rubygems-kettle-drift?utm_source=rubygems-kettle-drift&utm_medium=referral&utm_campaign=readme)
|
|
75
91
|
|
|
@@ -197,16 +213,16 @@ chat rooms and mailing lists agrees to follow the [![Contributor Covenant 2.1][
|
|
|
197
213
|
|
|
198
214
|
Made with [contributors-img][🖐contrib-rocks].
|
|
199
215
|
|
|
200
|
-
Also see GitLab Contributors: [https://gitlab.com/kettle-
|
|
216
|
+
Also see GitLab Contributors: [https://gitlab.com/kettle-dev/kettle-drift/-/graphs/main][🚎contributors-gl]
|
|
201
217
|
|
|
202
|
-
<details>
|
|
218
|
+
<details markdown="1">
|
|
203
219
|
<summary>⭐️ Star History</summary>
|
|
204
220
|
|
|
205
|
-
<a href="https://star-history.com/kettle-
|
|
221
|
+
<a href="https://star-history.com/kettle-dev/kettle-drift&Date">
|
|
206
222
|
<picture>
|
|
207
|
-
<source media="(prefers-color-scheme: dark)" srcset="https://api.star-history.com/svg?repos=kettle-
|
|
208
|
-
<source media="(prefers-color-scheme: light)" srcset="https://api.star-history.com/svg?repos=kettle-
|
|
209
|
-
<img alt="Star History Chart" src="https://api.star-history.com/svg?repos=kettle-
|
|
223
|
+
<source media="(prefers-color-scheme: dark)" srcset="https://api.star-history.com/svg?repos=kettle-dev/kettle-drift&type=Date&theme=dark" />
|
|
224
|
+
<source media="(prefers-color-scheme: light)" srcset="https://api.star-history.com/svg?repos=kettle-dev/kettle-drift&type=Date" />
|
|
225
|
+
<img alt="Star History Chart" src="https://api.star-history.com/svg?repos=kettle-dev/kettle-drift&type=Date" />
|
|
210
226
|
</picture>
|
|
211
227
|
</a>
|
|
212
228
|
|
|
@@ -271,7 +287,7 @@ To join the community or get help 👇️ Join the Discord.
|
|
|
271
287
|
|
|
272
288
|
To say "thanks!" ☝️ Join the Discord or 👇️ send money.
|
|
273
289
|
|
|
274
|
-
[![Sponsor kettle-
|
|
290
|
+
[![Sponsor kettle-dev/kettle-drift 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]
|
|
275
291
|
|
|
276
292
|
### Please give the project a star ⭐ ♥.
|
|
277
293
|
|
|
@@ -282,26 +298,22 @@ Thanks for RTFM. ☺️
|
|
|
282
298
|
[⛳liberapay-img]: https://img.shields.io/liberapay/goal/pboling.svg?logo=liberapay&color=a51611&style=flat
|
|
283
299
|
[⛳liberapay-bottom-img]: https://img.shields.io/liberapay/goal/pboling.svg?style=for-the-badge&logo=liberapay&color=a51611
|
|
284
300
|
[⛳liberapay]: https://liberapay.com/pboling/donate
|
|
285
|
-
[🖇osc-all-img]: https://img.shields.io/opencollective/all/kettle-
|
|
286
|
-
[🖇osc-sponsors-img]: https://img.shields.io/opencollective/sponsors/kettle-
|
|
287
|
-
[🖇osc-backers-img]: https://img.shields.io/opencollective/backers/kettle-
|
|
288
|
-
[🖇osc-backers]: https://opencollective.com/kettle-
|
|
289
|
-
[🖇osc-backers-i]: https://opencollective.com/kettle-
|
|
290
|
-
[🖇osc-sponsors]: https://opencollective.com/kettle-
|
|
291
|
-
[🖇osc-sponsors-i]: https://opencollective.com/kettle-
|
|
292
|
-
[🖇osc-all-bottom-img]: https://img.shields.io/opencollective/all/kettle-
|
|
293
|
-
[🖇osc-sponsors-bottom-img]: https://img.shields.io/opencollective/sponsors/kettle-
|
|
294
|
-
[🖇osc-backers-bottom-img]: https://img.shields.io/opencollective/backers/kettle-
|
|
295
|
-
[🖇osc]: https://opencollective.com/kettle-
|
|
301
|
+
[🖇osc-all-img]: https://img.shields.io/opencollective/all/kettle-dev
|
|
302
|
+
[🖇osc-sponsors-img]: https://img.shields.io/opencollective/sponsors/kettle-dev
|
|
303
|
+
[🖇osc-backers-img]: https://img.shields.io/opencollective/backers/kettle-dev
|
|
304
|
+
[🖇osc-backers]: https://opencollective.com/kettle-dev#backer
|
|
305
|
+
[🖇osc-backers-i]: https://opencollective.com/kettle-dev/backers/badge.svg?style=flat
|
|
306
|
+
[🖇osc-sponsors]: https://opencollective.com/kettle-dev#sponsor
|
|
307
|
+
[🖇osc-sponsors-i]: https://opencollective.com/kettle-dev/sponsors/badge.svg?style=flat
|
|
308
|
+
[🖇osc-all-bottom-img]: https://img.shields.io/opencollective/all/kettle-dev?style=for-the-badge
|
|
309
|
+
[🖇osc-sponsors-bottom-img]: https://img.shields.io/opencollective/sponsors/kettle-dev?style=for-the-badge
|
|
310
|
+
[🖇osc-backers-bottom-img]: https://img.shields.io/opencollective/backers/kettle-dev?style=for-the-badge
|
|
311
|
+
[🖇osc]: https://opencollective.com/kettle-dev
|
|
296
312
|
[🖇sponsor-img]: https://img.shields.io/badge/Sponsor_Me!-pboling.svg?style=social&logo=github
|
|
297
313
|
[🖇sponsor-bottom-img]: https://img.shields.io/badge/Sponsor_Me!-pboling-blue?style=for-the-badge&logo=github
|
|
298
314
|
[🖇sponsor]: https://github.com/sponsors/pboling
|
|
299
|
-
[🖇polar-img]: https://img.shields.io/badge/polar-donate-a51611.svg?style=flat
|
|
300
|
-
[🖇polar]: https://polar.sh/pboling
|
|
301
315
|
[🖇kofi-img]: https://img.shields.io/badge/ko--fi-%E2%9C%93-a51611.svg?style=flat
|
|
302
316
|
[🖇kofi]: https://ko-fi.com/pboling
|
|
303
|
-
[🖇patreon-img]: https://img.shields.io/badge/patreon-donate-a51611.svg?style=flat
|
|
304
|
-
[🖇patreon]: https://patreon.com/galtzo
|
|
305
317
|
[🖇buyme-small-img]: https://img.shields.io/badge/buy_me_a_coffee-%E2%9C%93-a51611.svg?style=flat
|
|
306
318
|
[🖇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
|
|
307
319
|
[🖇buyme]: https://www.buymeacoffee.com/pboling
|
|
@@ -316,12 +328,12 @@ Thanks for RTFM. ☺️
|
|
|
316
328
|
[✉️ruby-friends]: https://app.daily.dev/squads/rubyfriends
|
|
317
329
|
|
|
318
330
|
[✇bundle-group-pattern]: https://gist.github.com/pboling/4564780
|
|
319
|
-
[⛳️gem-namespace]: https://github.com/kettle-
|
|
331
|
+
[⛳️gem-namespace]: https://github.com/kettle-dev/kettle-drift
|
|
320
332
|
[⛳️namespace-img]: https://img.shields.io/badge/namespace-Kettle::Drift-3C2D2D.svg?style=square&logo=ruby&logoColor=white
|
|
321
333
|
[⛳️gem-name]: https://bestgems.org/gems/kettle-drift
|
|
322
334
|
[⛳️name-img]: https://img.shields.io/badge/name-kettle--drift-3C2D2D.svg?style=square&logo=rubygems&logoColor=red
|
|
323
|
-
[⛳️tag-img]: https://img.shields.io/github/tag/kettle-
|
|
324
|
-
[⛳️tag]: https://github.com/kettle-
|
|
335
|
+
[⛳️tag-img]: https://img.shields.io/github/tag/kettle-dev/kettle-drift.svg
|
|
336
|
+
[⛳️tag]: https://github.com/kettle-dev/kettle-drift/releases
|
|
325
337
|
[🚂maint-blog]: http://www.railsbling.com/tags/kettle-drift
|
|
326
338
|
[🚂maint-blog-img]: https://img.shields.io/badge/blog-railsbling-0093D0.svg?style=for-the-badge&logo=rubyonrails&logoColor=orange
|
|
327
339
|
[🚂maint-contact]: http://www.railsbling.com/contact
|
|
@@ -356,105 +368,109 @@ Thanks for RTFM. ☺️
|
|
|
356
368
|
[💁🏼♂️peterboling]: http://www.peterboling.com
|
|
357
369
|
[🚂railsbling]: http://www.railsbling.com
|
|
358
370
|
[📜src-gl-img]: https://img.shields.io/badge/GitLab-FBA326?style=for-the-badge&logo=Gitlab&logoColor=orange
|
|
359
|
-
[📜src-gl]: https://gitlab.com/kettle-
|
|
371
|
+
[📜src-gl]: https://gitlab.com/kettle-dev/kettle-drift
|
|
360
372
|
[📜src-cb-img]: https://img.shields.io/badge/CodeBerg-4893CC?style=for-the-badge&logo=CodeBerg&logoColor=blue
|
|
361
|
-
[📜src-cb]: https://codeberg.org/kettle-
|
|
373
|
+
[📜src-cb]: https://codeberg.org/kettle-dev/kettle-drift
|
|
362
374
|
[📜src-gh-img]: https://img.shields.io/badge/GitHub-238636?style=for-the-badge&logo=Github&logoColor=green
|
|
363
|
-
[📜src-gh]: https://github.com/kettle-
|
|
375
|
+
[📜src-gh]: https://github.com/kettle-dev/kettle-drift
|
|
364
376
|
[📜docs-cr-rd-img]: https://img.shields.io/badge/RubyDoc-Current_Release-943CD2?style=for-the-badge&logo=readthedocs&logoColor=white
|
|
365
377
|
[📜docs-head-rd-img]: https://img.shields.io/badge/YARD_on_Galtzo.com-HEAD-943CD2?style=for-the-badge&logo=readthedocs&logoColor=white
|
|
366
|
-
[📜gl-wiki]: https://gitlab.com/kettle-
|
|
367
|
-
[📜gh-wiki]: https://github.com/kettle-
|
|
378
|
+
[📜gl-wiki]: https://gitlab.com/kettle-dev/kettle-drift/-/wikis/home
|
|
379
|
+
[📜gh-wiki]: https://github.com/kettle-dev/kettle-drift/wiki
|
|
368
380
|
[📜gl-wiki-img]: https://img.shields.io/badge/wiki-gitlab-943CD2.svg?style=for-the-badge&logo=gitlab&logoColor=white
|
|
369
381
|
[📜gh-wiki-img]: https://img.shields.io/badge/wiki-github-943CD2.svg?style=for-the-badge&logo=github&logoColor=white
|
|
370
382
|
[👽dl-rank]: https://bestgems.org/gems/kettle-drift
|
|
371
383
|
[👽dl-ranki]: https://img.shields.io/gem/rd/kettle-drift.svg
|
|
372
384
|
[👽version]: https://bestgems.org/gems/kettle-drift
|
|
373
385
|
[👽versioni]: https://img.shields.io/gem/v/kettle-drift.svg
|
|
374
|
-
[🏀qlty-mnt]: https://qlty.sh/gh/kettle-
|
|
375
|
-
[🏀qlty-mnti]: https://qlty.sh/gh/kettle-
|
|
376
|
-
[🏀qlty-cov]: https://qlty.sh/gh/kettle-
|
|
377
|
-
[🏀qlty-covi]: https://qlty.sh/gh/kettle-
|
|
378
|
-
[🏀codecov]: https://codecov.io/gh/kettle-
|
|
379
|
-
[🏀codecovi]: https://codecov.io/gh/kettle-
|
|
380
|
-
[🏀coveralls]: https://coveralls.io/github/kettle-
|
|
381
|
-
[🏀coveralls-img]: https://coveralls.io/repos/github/kettle-
|
|
382
|
-
[🚎ruby-3.2-wf]: https://github.com/kettle-
|
|
383
|
-
[🚎ruby-3.3-wf]: https://github.com/kettle-
|
|
384
|
-
[🚎ruby-3.4-wf]: https://github.com/kettle-
|
|
385
|
-
[🚎
|
|
386
|
-
[🚎truby-
|
|
387
|
-
[🚎
|
|
388
|
-
[🚎
|
|
389
|
-
[🚎
|
|
390
|
-
[🚎
|
|
391
|
-
[🚎
|
|
392
|
-
[🚎
|
|
393
|
-
[🚎
|
|
394
|
-
[🚎
|
|
395
|
-
[🚎
|
|
396
|
-
[🚎
|
|
397
|
-
[🚎
|
|
398
|
-
[🚎
|
|
399
|
-
[🚎
|
|
400
|
-
[🚎
|
|
401
|
-
[🚎
|
|
402
|
-
[🚎
|
|
403
|
-
[🚎
|
|
404
|
-
[🚎
|
|
386
|
+
[🏀qlty-mnt]: https://qlty.sh/gh/kettle-dev/projects/kettle-drift
|
|
387
|
+
[🏀qlty-mnti]: https://qlty.sh/gh/kettle-dev/projects/kettle-drift/maintainability.svg
|
|
388
|
+
[🏀qlty-cov]: https://qlty.sh/gh/kettle-dev/projects/kettle-drift/metrics/code?sort=coverageRating
|
|
389
|
+
[🏀qlty-covi]: https://qlty.sh/gh/kettle-dev/projects/kettle-drift/coverage.svg
|
|
390
|
+
[🏀codecov]: https://codecov.io/gh/kettle-dev/kettle-drift
|
|
391
|
+
[🏀codecovi]: https://codecov.io/gh/kettle-dev/kettle-drift/graph/badge.svg
|
|
392
|
+
[🏀coveralls]: https://coveralls.io/github/kettle-dev/kettle-drift?branch=main
|
|
393
|
+
[🏀coveralls-img]: https://coveralls.io/repos/github/kettle-dev/kettle-drift/badge.svg?branch=main
|
|
394
|
+
[🚎ruby-3.2-wf]: https://github.com/kettle-dev/kettle-drift/actions/workflows/ruby-3.2.yml
|
|
395
|
+
[🚎ruby-3.3-wf]: https://github.com/kettle-dev/kettle-drift/actions/workflows/ruby-3.3.yml
|
|
396
|
+
[🚎ruby-3.4-wf]: https://github.com/kettle-dev/kettle-drift/actions/workflows/ruby-3.4.yml
|
|
397
|
+
[🚎jruby-10.0-wf]: https://github.com/kettle-dev/kettle-drift/actions/workflows/jruby-10.0.yml
|
|
398
|
+
[🚎truby-24.2-wf]: https://github.com/kettle-dev/kettle-drift/actions/workflows/truffleruby-24.2.yml
|
|
399
|
+
[🚎truby-25.0-wf]: https://github.com/kettle-dev/kettle-drift/actions/workflows/truffleruby-25.0.yml
|
|
400
|
+
[🚎truby-33.0-wf]: https://github.com/kettle-dev/kettle-drift/actions/workflows/truffleruby-33.0.yml
|
|
401
|
+
[🚎2-cov-wf]: https://github.com/kettle-dev/kettle-drift/actions/workflows/coverage.yml
|
|
402
|
+
[🚎2-cov-wfi]: https://github.com/kettle-dev/kettle-drift/actions/workflows/coverage.yml/badge.svg
|
|
403
|
+
[🚎3-hd-wf]: https://github.com/kettle-dev/kettle-drift/actions/workflows/heads.yml
|
|
404
|
+
[🚎3-hd-wfi]: https://github.com/kettle-dev/kettle-drift/actions/workflows/heads.yml/badge.svg
|
|
405
|
+
[🚎5-st-wf]: https://github.com/kettle-dev/kettle-drift/actions/workflows/style.yml
|
|
406
|
+
[🚎5-st-wfi]: https://github.com/kettle-dev/kettle-drift/actions/workflows/style.yml/badge.svg
|
|
407
|
+
[🚎9-t-wf]: https://github.com/kettle-dev/kettle-drift/actions/workflows/truffle.yml
|
|
408
|
+
[🚎9-t-wfi]: https://github.com/kettle-dev/kettle-drift/actions/workflows/truffle.yml/badge.svg
|
|
409
|
+
[🚎10-j-wf]: https://github.com/kettle-dev/kettle-drift/actions/workflows/jruby.yml
|
|
410
|
+
[🚎10-j-wfi]: https://github.com/kettle-dev/kettle-drift/actions/workflows/jruby.yml/badge.svg
|
|
411
|
+
[🚎11-c-wf]: https://github.com/kettle-dev/kettle-drift/actions/workflows/current.yml
|
|
412
|
+
[🚎11-c-wfi]: https://github.com/kettle-dev/kettle-drift/actions/workflows/current.yml/badge.svg
|
|
413
|
+
[🚎12-crh-wf]: https://github.com/kettle-dev/kettle-drift/actions/workflows/dep-heads.yml
|
|
414
|
+
[🚎12-crh-wfi]: https://github.com/kettle-dev/kettle-drift/actions/workflows/dep-heads.yml/badge.svg
|
|
415
|
+
[🚎13-🔒️-wf]: https://github.com/kettle-dev/kettle-drift/actions/workflows/locked_deps.yml
|
|
416
|
+
[🚎13-🔒️-wfi]: https://github.com/kettle-dev/kettle-drift/actions/workflows/locked_deps.yml/badge.svg
|
|
417
|
+
[🚎14-🔓️-wf]: https://github.com/kettle-dev/kettle-drift/actions/workflows/unlocked_deps.yml
|
|
418
|
+
[🚎14-🔓️-wfi]: https://github.com/kettle-dev/kettle-drift/actions/workflows/unlocked_deps.yml/badge.svg
|
|
405
419
|
[💎ruby-3.2i]: https://img.shields.io/badge/Ruby-3.2-CC342D?style=for-the-badge&logo=ruby&logoColor=white
|
|
406
420
|
[💎ruby-3.3i]: https://img.shields.io/badge/Ruby-3.3-CC342D?style=for-the-badge&logo=ruby&logoColor=white
|
|
407
421
|
[💎ruby-3.4i]: https://img.shields.io/badge/Ruby-3.4-CC342D?style=for-the-badge&logo=ruby&logoColor=white
|
|
408
|
-
[💎ruby-4.0i]: https://img.shields.io/badge/Ruby-4.0-CC342D?style=for-the-badge&logo=ruby&logoColor=white
|
|
409
422
|
[💎ruby-c-i]: https://img.shields.io/badge/Ruby-current-CC342D?style=for-the-badge&logo=ruby&logoColor=green
|
|
410
423
|
[💎ruby-headi]: https://img.shields.io/badge/Ruby-HEAD-CC342D?style=for-the-badge&logo=ruby&logoColor=blue
|
|
411
424
|
[💎truby-24.2i]: https://img.shields.io/badge/Truffle_Ruby-24.2-34BCB1?style=for-the-badge&logo=ruby&logoColor=pink
|
|
412
425
|
[💎truby-25.0i]: https://img.shields.io/badge/Truffle_Ruby-25.0-34BCB1?style=for-the-badge&logo=ruby&logoColor=pink
|
|
426
|
+
[💎truby-33.0i]: https://img.shields.io/badge/Truffle_Ruby-33.0-34BCB1?style=for-the-badge&logo=ruby&logoColor=pink
|
|
413
427
|
[💎truby-c-i]: https://img.shields.io/badge/Truffle_Ruby-current-34BCB1?style=for-the-badge&logo=ruby&logoColor=green
|
|
428
|
+
[💎truby-headi]: https://img.shields.io/badge/Truffle_Ruby-HEAD-34BCB1?style=for-the-badge&logo=ruby&logoColor=blue
|
|
429
|
+
[💎jruby-10.0i]: https://img.shields.io/badge/JRuby-10.0-FBE742?style=for-the-badge&logo=ruby&logoColor=red
|
|
414
430
|
[💎jruby-c-i]: https://img.shields.io/badge/JRuby-current-FBE742?style=for-the-badge&logo=ruby&logoColor=green
|
|
415
431
|
[💎jruby-headi]: https://img.shields.io/badge/JRuby-HEAD-FBE742?style=for-the-badge&logo=ruby&logoColor=blue
|
|
416
|
-
[🤝gh-issues]: https://github.com/kettle-
|
|
417
|
-
[🤝gh-pulls]: https://github.com/kettle-
|
|
418
|
-
[🤝gl-issues]: https://gitlab.com/kettle-
|
|
419
|
-
[🤝gl-pulls]: https://gitlab.com/kettle-
|
|
420
|
-
[🤝cb-issues]: https://codeberg.org/kettle-
|
|
421
|
-
[🤝cb-pulls]: https://codeberg.org/kettle-
|
|
432
|
+
[🤝gh-issues]: https://github.com/kettle-dev/kettle-drift/issues
|
|
433
|
+
[🤝gh-pulls]: https://github.com/kettle-dev/kettle-drift/pulls
|
|
434
|
+
[🤝gl-issues]: https://gitlab.com/kettle-dev/kettle-drift/-/issues
|
|
435
|
+
[🤝gl-pulls]: https://gitlab.com/kettle-dev/kettle-drift/-/merge_requests
|
|
436
|
+
[🤝cb-issues]: https://codeberg.org/kettle-dev/kettle-drift/issues
|
|
437
|
+
[🤝cb-pulls]: https://codeberg.org/kettle-dev/kettle-drift/pulls
|
|
422
438
|
[🤝cb-donate]: https://donate.codeberg.org/
|
|
423
|
-
[🤝contributing]: https://github.com/kettle-
|
|
424
|
-
[🏀codecov-g]: https://codecov.io/gh/kettle-
|
|
439
|
+
[🤝contributing]: https://github.com/kettle-dev/kettle-drift/blob/main/CONTRIBUTING.md
|
|
440
|
+
[🏀codecov-g]: https://codecov.io/gh/kettle-dev/kettle-drift/graph/badge.svg
|
|
425
441
|
[🖐contrib-rocks]: https://contrib.rocks
|
|
426
|
-
[🖐contributors]: https://github.com/kettle-
|
|
427
|
-
[🖐contributors-img]: https://contrib.rocks/image?repo=kettle-
|
|
428
|
-
[🚎contributors-gl]: https://gitlab.com/kettle-
|
|
429
|
-
[🪇conduct]: https://github.com/kettle-
|
|
442
|
+
[🖐contributors]: https://github.com/kettle-dev/kettle-drift/graphs/contributors
|
|
443
|
+
[🖐contributors-img]: https://contrib.rocks/image?repo=kettle-dev/kettle-drift
|
|
444
|
+
[🚎contributors-gl]: https://gitlab.com/kettle-dev/kettle-drift/-/graphs/main
|
|
445
|
+
[🪇conduct]: https://github.com/kettle-dev/kettle-drift/blob/main/CODE_OF_CONDUCT.md
|
|
430
446
|
[🪇conduct-img]: https://img.shields.io/badge/Contributor_Covenant-2.1-259D6C.svg
|
|
431
447
|
[📌pvc]: http://guides.rubygems.org/patterns/#pessimistic-version-constraint
|
|
432
448
|
[📌semver]: https://semver.org/spec/v2.0.0.html
|
|
433
449
|
[📌semver-img]: https://img.shields.io/badge/semver-2.0.0-259D6C.svg?style=flat
|
|
434
450
|
[📌semver-breaking]: https://github.com/semver/semver/issues/716#issuecomment-869336139
|
|
435
451
|
[📌major-versions-not-sacred]: https://tom.preston-werner.com/2022/05/23/major-version-numbers-are-not-sacred.html
|
|
436
|
-
[📌changelog]: https://github.com/kettle-
|
|
452
|
+
[📌changelog]: https://github.com/kettle-dev/kettle-drift/blob/main/CHANGELOG.md
|
|
437
453
|
[📗keep-changelog]: https://keepachangelog.com/en/1.0.0/
|
|
438
454
|
[📗keep-changelog-img]: https://img.shields.io/badge/keep--a--changelog-1.0.0-34495e.svg?style=flat
|
|
439
455
|
[📌gitmoji]: https://gitmoji.dev
|
|
440
456
|
[📌gitmoji-img]: https://img.shields.io/badge/gitmoji_commits-%20%F0%9F%98%9C%20%F0%9F%98%8D-34495e.svg?style=flat-square
|
|
441
457
|
[🧮kloc]: https://www.youtube.com/watch?v=dQw4w9WgXcQ
|
|
442
|
-
[🧮kloc-img]: https://img.shields.io/badge/KLOC-0.
|
|
443
|
-
[🔐security]: https://github.com/kettle-
|
|
458
|
+
[🧮kloc-img]: https://img.shields.io/badge/KLOC-0.527-FFDD67.svg?style=for-the-badge&logo=YouTube&logoColor=blue
|
|
459
|
+
[🔐security]: https://github.com/kettle-dev/kettle-drift/blob/main/SECURITY.md
|
|
444
460
|
[🔐security-img]: https://img.shields.io/badge/security-policy-259D6C.svg?style=flat
|
|
445
461
|
[📄copyright-notice-explainer]: https://opensource.stackexchange.com/questions/5778/why-do-licenses-such-as-the-mit-license-specify-a-single-year
|
|
446
462
|
[📄license]: LICENSE.md
|
|
447
463
|
[📄license-ref]: AGPL-3.0-only.md
|
|
448
464
|
[📄license-img]: https://img.shields.io/badge/License-AGPL--3.0--only-259D6C.svg
|
|
449
465
|
[📄license-compat]: https://www.apache.org/legal/resolved.html#category-x
|
|
450
|
-
[📄license-compat-img]: https://img.shields.io/badge/Apache_Incompatible:_Category_X
|
|
466
|
+
[📄license-compat-img]: https://img.shields.io/badge/Apache_Incompatible:_Category_X-%E2%9C%97-C0392B.svg?style=flat&logo=Apache
|
|
451
467
|
|
|
452
468
|
[📄ilo-declaration]: https://www.ilo.org/declaration/lang--en/index.htm
|
|
453
469
|
[📄ilo-declaration-img]: https://img.shields.io/badge/ILO_Fundamental_Principles-✓-259D6C.svg?style=flat
|
|
454
470
|
[🚎yard-current]: http://rubydoc.info/gems/kettle-drift
|
|
455
471
|
[🚎yard-head]: https://kettle-drift.galtzo.com
|
|
456
472
|
[💎stone_checksums]: https://github.com/galtzo-floss/stone_checksums
|
|
457
|
-
[💎SHA_checksums]: https://gitlab.com/kettle-
|
|
473
|
+
[💎SHA_checksums]: https://gitlab.com/kettle-dev/kettle-drift/-/tree/main/checksums
|
|
458
474
|
[💎rlts]: https://github.com/rubocop-lts/rubocop-lts
|
|
459
475
|
[💎rlts-img]: https://img.shields.io/badge/code_style_&_linting-rubocop--lts-34495e.svg?plastic&logo=ruby&logoColor=white
|
|
460
476
|
[💎appraisal2]: https://github.com/appraisal-rb/appraisal2
|
|
@@ -466,8 +482,8 @@ Thanks for RTFM. ☺️
|
|
|
466
482
|
|---|---|
|
|
467
483
|
| Package | kettle-drift |
|
|
468
484
|
| Description | 🍲 Kettle::Drift tracks repeated adjacent-line chunks that usually signal template drift or copy/paste corruption. |
|
|
469
|
-
| Homepage | https://github.com/kettle-
|
|
470
|
-
| Source | https://github.com/kettle-
|
|
485
|
+
| Homepage | https://github.com/kettle-dev/kettle-drift |
|
|
486
|
+
| Source | https://github.com/kettle-dev/kettle-drift |
|
|
471
487
|
| License | `AGPL-3.0-only` |
|
|
472
|
-
| Funding | https://github.com/sponsors/pboling, https://
|
|
488
|
+
| Funding | https://github.com/sponsors/pboling, https://ko-fi.com/pboling, https://liberapay.com/pboling/donate, https://opencollective.com/kettle-dev, https://thanks.dev/u/gh/pboling, https://tidelift.com/funding/github/rubygems/kettle-drift, https://www.buymeacoffee.com/pboling |
|
|
473
489
|
<!-- kettle-jem:metadata:end -->
|
data/lib/kettle/drift/cli.rb
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
3
|
require "optparse"
|
|
4
|
-
require "set"
|
|
5
4
|
|
|
6
5
|
module Kettle
|
|
7
6
|
module Drift
|
|
@@ -17,7 +16,7 @@ module Kettle
|
|
|
17
16
|
min_chars: options.fetch(:min_chars),
|
|
18
17
|
json_path: options[:json_path],
|
|
19
18
|
lock_path: options[:lock_path],
|
|
20
|
-
mode: options.fetch(:mode)
|
|
19
|
+
mode: options.fetch(:mode)
|
|
21
20
|
)
|
|
22
21
|
|
|
23
22
|
if outcome.clean? || outcome.diff.state == :no_changes
|
|
@@ -37,7 +36,7 @@ module Kettle
|
|
|
37
36
|
min_chars: Kettle::Drift::DuplicateLineValidator::DEFAULT_MIN_CHARS,
|
|
38
37
|
lock_path: Kettle::Drift::DEFAULT_LOCKFILE,
|
|
39
38
|
mode: :update,
|
|
40
|
-
project_root: Dir.pwd
|
|
39
|
+
project_root: Dir.pwd
|
|
41
40
|
}
|
|
42
41
|
|
|
43
42
|
parser = OptionParser.new do |opts|
|
data/lib/kettle/drift/diff.rb
CHANGED
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
|
|
3
3
|
require "json"
|
|
4
4
|
require "fileutils"
|
|
5
|
-
require "set"
|
|
6
5
|
|
|
7
6
|
module Kettle
|
|
8
7
|
module Drift
|
|
@@ -42,14 +41,14 @@ module Kettle
|
|
|
42
41
|
KETTLE_JEM_CONFIG_RE = /\A(?:strategy|recipe|preference|add_missing|freeze_token|file_type|max_recursion_depth):\s/
|
|
43
42
|
RAKEFILE_ENV_ASSIGNMENT_RE = /\AENV\[["']/
|
|
44
43
|
RESCUE_LOAD_ERROR_RE = /\Arescue\s+LoadError/
|
|
45
|
-
|
|
44
|
+
COVERAGE_MARKER_RE = /\A# (?:simplecov:(?:disable|enable)|:nocov:)\z/
|
|
46
45
|
CHANGELOG_SUBHEADINGS = Set.new([
|
|
47
46
|
"### Added",
|
|
48
47
|
"### Changed",
|
|
49
48
|
"### Deprecated",
|
|
50
49
|
"### Removed",
|
|
51
50
|
"### Fixed",
|
|
52
|
-
"### Security"
|
|
51
|
+
"### Security"
|
|
53
52
|
]).freeze
|
|
54
53
|
|
|
55
54
|
def scan(files:, min_chars: DEFAULT_MIN_CHARS)
|
|
@@ -82,7 +81,7 @@ module Kettle
|
|
|
82
81
|
duplicates[chunk_content] ||= []
|
|
83
82
|
duplicates[chunk_content] << {
|
|
84
83
|
file: path,
|
|
85
|
-
lines: start_lines
|
|
84
|
+
lines: start_lines
|
|
86
85
|
}
|
|
87
86
|
end
|
|
88
87
|
end
|
|
@@ -100,7 +99,7 @@ module Kettle
|
|
|
100
99
|
|
|
101
100
|
return true if basename == "CHANGELOG.md" && CHANGELOG_METRIC_RE.match?(line1) && CHANGELOG_METRIC_RE.match?(line2)
|
|
102
101
|
return true if basename == "Rakefile" && RAKEFILE_ENV_ASSIGNMENT_RE.match?(line1) && RAKEFILE_ENV_ASSIGNMENT_RE.match?(line2)
|
|
103
|
-
return true if RESCUE_LOAD_ERROR_RE.match?(line1) &&
|
|
102
|
+
return true if RESCUE_LOAD_ERROR_RE.match?(line1) && COVERAGE_MARKER_RE.match?(line2)
|
|
104
103
|
return true if File.extname(path.to_s) == ".md" && line1.start_with?("|") && line2.start_with?("|")
|
|
105
104
|
return true if basename == ".kettle-jem.yml" && KETTLE_JEM_CONFIG_RE.match?(line1) && KETTLE_JEM_CONFIG_RE.match?(line2)
|
|
106
105
|
|
|
@@ -140,14 +139,14 @@ module Kettle
|
|
|
140
139
|
|
|
141
140
|
template_files = Dir.glob(
|
|
142
141
|
File.join(template_dir, "**", "*"),
|
|
143
|
-
File::FNM_DOTMATCH
|
|
142
|
+
File::FNM_DOTMATCH
|
|
144
143
|
).select { |f| File.file?(f) }
|
|
145
144
|
|
|
146
145
|
Set.new(scan(files: template_files, min_chars: min_chars).keys)
|
|
147
146
|
end
|
|
148
147
|
|
|
149
148
|
def subtract_baseline(results, baseline_set:)
|
|
150
|
-
results.
|
|
149
|
+
results.except(*baseline_set)
|
|
151
150
|
end
|
|
152
151
|
|
|
153
152
|
def template_managed_files(project_root:, template_dir: nil)
|
|
@@ -217,7 +216,7 @@ module Kettle
|
|
|
217
216
|
return content if content.valid_encoding?
|
|
218
217
|
|
|
219
218
|
content.scrub
|
|
220
|
-
rescue
|
|
219
|
+
rescue
|
|
221
220
|
nil
|
|
222
221
|
end
|
|
223
222
|
|
|
@@ -34,7 +34,7 @@ module Kettle
|
|
|
34
34
|
state: state,
|
|
35
35
|
new_entries: added,
|
|
36
36
|
fixed_entries: fixed,
|
|
37
|
-
unchanged_entries: unchanged
|
|
37
|
+
unchanged_entries: unchanged
|
|
38
38
|
)
|
|
39
39
|
end
|
|
40
40
|
|
|
@@ -46,7 +46,7 @@ module Kettle
|
|
|
46
46
|
{
|
|
47
47
|
chunk: chunk,
|
|
48
48
|
file: entry.fetch(:file),
|
|
49
|
-
lines: entry.fetch(:lines)
|
|
49
|
+
lines: entry.fetch(:lines)
|
|
50
50
|
}
|
|
51
51
|
end
|
|
52
52
|
end
|
data/lib/kettle/drift/process.rb
CHANGED
|
@@ -6,7 +6,7 @@ require_relative "process/printer"
|
|
|
6
6
|
module Kettle
|
|
7
7
|
module Drift
|
|
8
8
|
class Process
|
|
9
|
-
Result = Struct.new(:diff, :exit_code
|
|
9
|
+
Result = Struct.new(:diff, :exit_code)
|
|
10
10
|
|
|
11
11
|
attr_reader :project_root, :lock_file, :old_results, :new_results, :mode, :printer_class
|
|
12
12
|
|
|
@@ -50,7 +50,7 @@ module Kettle
|
|
|
50
50
|
|
|
51
51
|
{
|
|
52
52
|
"file" => relative_path(file, project_root: project_root),
|
|
53
|
-
"lines" => lines.map { |line| Integer(line) }
|
|
53
|
+
"lines" => lines.map { |line| Integer(line) }
|
|
54
54
|
}
|
|
55
55
|
end
|
|
56
56
|
|
|
@@ -66,7 +66,7 @@ module Kettle
|
|
|
66
66
|
|
|
67
67
|
{
|
|
68
68
|
file: file,
|
|
69
|
-
lines: lines.map { |line| Integer(line) }
|
|
69
|
+
lines: lines.map { |line| Integer(line) }
|
|
70
70
|
}
|
|
71
71
|
end
|
|
72
72
|
|
data/lib/kettle/drift/version.rb
CHANGED
data/lib/kettle/drift.rb
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
|
-
require "set"
|
|
4
3
|
require "version_gem"
|
|
5
4
|
require_relative "drift/version"
|
|
6
5
|
|
|
@@ -118,7 +117,7 @@ module Kettle
|
|
|
118
117
|
lock_path: expanded_lock_path,
|
|
119
118
|
mode: mode,
|
|
120
119
|
results: results,
|
|
121
|
-
printer_class: printer_class
|
|
120
|
+
printer_class: printer_class
|
|
122
121
|
).run
|
|
123
122
|
expanded_json_path = nil
|
|
124
123
|
if write_json_report?(results, process_result.diff)
|
|
@@ -141,7 +140,7 @@ module Kettle
|
|
|
141
140
|
lock_path: expanded_lock_path,
|
|
142
141
|
mode: mode,
|
|
143
142
|
diff: process_result.diff,
|
|
144
|
-
exit_code: process_result.exit_code
|
|
143
|
+
exit_code: process_result.exit_code
|
|
145
144
|
)
|
|
146
145
|
end
|
|
147
146
|
|
data/sig/kettle/drift.rbs
CHANGED
data.tar.gz.sig
CHANGED
|
Binary file
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: kettle-drift
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 1.0.
|
|
4
|
+
version: 1.0.4
|
|
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.12
|
|
50
50
|
type: :runtime
|
|
51
51
|
prerelease: false
|
|
52
52
|
version_requirements: !ruby/object:Gem::Requirement
|
|
@@ -56,27 +56,27 @@ dependencies:
|
|
|
56
56
|
version: '1.1'
|
|
57
57
|
- - ">="
|
|
58
58
|
- !ruby/object:Gem::Version
|
|
59
|
-
version: 1.1.
|
|
59
|
+
version: 1.1.12
|
|
60
60
|
- !ruby/object:Gem::Dependency
|
|
61
61
|
name: kettle-dev
|
|
62
62
|
requirement: !ruby/object:Gem::Requirement
|
|
63
63
|
requirements:
|
|
64
64
|
- - "~>"
|
|
65
65
|
- !ruby/object:Gem::Version
|
|
66
|
-
version: '2.
|
|
66
|
+
version: '2.2'
|
|
67
67
|
- - ">="
|
|
68
68
|
- !ruby/object:Gem::Version
|
|
69
|
-
version: 2.
|
|
69
|
+
version: 2.2.15
|
|
70
70
|
type: :development
|
|
71
71
|
prerelease: false
|
|
72
72
|
version_requirements: !ruby/object:Gem::Requirement
|
|
73
73
|
requirements:
|
|
74
74
|
- - "~>"
|
|
75
75
|
- !ruby/object:Gem::Version
|
|
76
|
-
version: '2.
|
|
76
|
+
version: '2.2'
|
|
77
77
|
- - ">="
|
|
78
78
|
- !ruby/object:Gem::Version
|
|
79
|
-
version: 2.
|
|
79
|
+
version: 2.2.15
|
|
80
80
|
- !ruby/object:Gem::Dependency
|
|
81
81
|
name: bundler-audit
|
|
82
82
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -131,20 +131,20 @@ dependencies:
|
|
|
131
131
|
requirements:
|
|
132
132
|
- - "~>"
|
|
133
133
|
- !ruby/object:Gem::Version
|
|
134
|
-
version: '3.
|
|
134
|
+
version: '3.1'
|
|
135
135
|
- - ">="
|
|
136
136
|
- !ruby/object:Gem::Version
|
|
137
|
-
version: 3.
|
|
137
|
+
version: 3.1.2
|
|
138
138
|
type: :development
|
|
139
139
|
prerelease: false
|
|
140
140
|
version_requirements: !ruby/object:Gem::Requirement
|
|
141
141
|
requirements:
|
|
142
142
|
- - "~>"
|
|
143
143
|
- !ruby/object:Gem::Version
|
|
144
|
-
version: '3.
|
|
144
|
+
version: '3.1'
|
|
145
145
|
- - ">="
|
|
146
146
|
- !ruby/object:Gem::Version
|
|
147
|
-
version: 3.
|
|
147
|
+
version: 3.1.2
|
|
148
148
|
- !ruby/object:Gem::Dependency
|
|
149
149
|
name: kettle-test
|
|
150
150
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -154,7 +154,7 @@ dependencies:
|
|
|
154
154
|
version: '2.0'
|
|
155
155
|
- - ">="
|
|
156
156
|
- !ruby/object:Gem::Version
|
|
157
|
-
version: 2.0.
|
|
157
|
+
version: 2.0.6
|
|
158
158
|
type: :development
|
|
159
159
|
prerelease: false
|
|
160
160
|
version_requirements: !ruby/object:Gem::Requirement
|
|
@@ -164,7 +164,7 @@ dependencies:
|
|
|
164
164
|
version: '2.0'
|
|
165
165
|
- - ">="
|
|
166
166
|
- !ruby/object:Gem::Version
|
|
167
|
-
version: 2.0.
|
|
167
|
+
version: 2.0.6
|
|
168
168
|
- !ruby/object:Gem::Dependency
|
|
169
169
|
name: turbo_tests2
|
|
170
170
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -174,7 +174,7 @@ dependencies:
|
|
|
174
174
|
version: '3.1'
|
|
175
175
|
- - ">="
|
|
176
176
|
- !ruby/object:Gem::Version
|
|
177
|
-
version: 3.1.
|
|
177
|
+
version: 3.1.4
|
|
178
178
|
type: :development
|
|
179
179
|
prerelease: false
|
|
180
180
|
version_requirements: !ruby/object:Gem::Requirement
|
|
@@ -184,7 +184,7 @@ dependencies:
|
|
|
184
184
|
version: '3.1'
|
|
185
185
|
- - ">="
|
|
186
186
|
- !ruby/object:Gem::Version
|
|
187
|
-
version: 3.1.
|
|
187
|
+
version: 3.1.4
|
|
188
188
|
- !ruby/object:Gem::Dependency
|
|
189
189
|
name: ruby-progressbar
|
|
190
190
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -228,7 +228,7 @@ dependencies:
|
|
|
228
228
|
version: '2.0'
|
|
229
229
|
- - ">="
|
|
230
230
|
- !ruby/object:Gem::Version
|
|
231
|
-
version: 2.0.
|
|
231
|
+
version: 2.0.2
|
|
232
232
|
type: :development
|
|
233
233
|
prerelease: false
|
|
234
234
|
version_requirements: !ruby/object:Gem::Requirement
|
|
@@ -238,11 +238,11 @@ dependencies:
|
|
|
238
238
|
version: '2.0'
|
|
239
239
|
- - ">="
|
|
240
240
|
- !ruby/object:Gem::Version
|
|
241
|
-
version: 2.0.
|
|
241
|
+
version: 2.0.2
|
|
242
242
|
description: "\U0001F372 Kettle::Drift tracks repeated adjacent-line chunks that usually
|
|
243
243
|
signal template drift or copy/paste corruption."
|
|
244
244
|
email:
|
|
245
|
-
-
|
|
245
|
+
- floss@galtzo.com
|
|
246
246
|
executables:
|
|
247
247
|
- kettle-drift
|
|
248
248
|
extensions: []
|
|
@@ -284,17 +284,17 @@ files:
|
|
|
284
284
|
- lib/kettle/drift/version.rb
|
|
285
285
|
- sig/kettle/drift.rbs
|
|
286
286
|
- sig/kettle/drift/version.rbs
|
|
287
|
-
homepage: https://github.com/kettle-
|
|
287
|
+
homepage: https://github.com/kettle-dev/kettle-drift
|
|
288
288
|
licenses:
|
|
289
289
|
- AGPL-3.0-only
|
|
290
290
|
metadata:
|
|
291
|
-
homepage_uri: https://
|
|
292
|
-
source_code_uri: https://github.com/kettle-
|
|
293
|
-
changelog_uri: https://github.com/kettle-
|
|
294
|
-
bug_tracker_uri: https://github.com/kettle-
|
|
295
|
-
documentation_uri: https://www.rubydoc.info/gems/kettle-drift/1.0.
|
|
291
|
+
homepage_uri: https://kettle-drift.galtzo.com
|
|
292
|
+
source_code_uri: https://github.com/kettle-dev/kettle-drift/tree/v1.0.4
|
|
293
|
+
changelog_uri: https://github.com/kettle-dev/kettle-drift/blob/v1.0.4/CHANGELOG.md
|
|
294
|
+
bug_tracker_uri: https://github.com/kettle-dev/kettle-drift/issues
|
|
295
|
+
documentation_uri: https://www.rubydoc.info/gems/kettle-drift/1.0.4
|
|
296
296
|
funding_uri: https://github.com/sponsors/pboling
|
|
297
|
-
wiki_uri: https://github.com/kettle-
|
|
297
|
+
wiki_uri: https://github.com/kettle-dev/kettle-drift/wiki
|
|
298
298
|
news_uri: https://www.railsbling.com/tags/kettle-drift
|
|
299
299
|
discord_uri: https://discord.gg/3qme4XHNKN
|
|
300
300
|
rubygems_mfa_required: 'true'
|
metadata.gz.sig
CHANGED
|
Binary file
|