kettle-dev 1.1.8 → 1.1.9

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: ff2a4f1326475cd3de4fb3decf7b10780dd0bbb16cd55ea1dc5e78f64bfde631
4
- data.tar.gz: a584158146f8f8a25343523d2cd76cfb5adc4d6e4e5907a215200239170ef620
3
+ metadata.gz: 390782fc59b3ecdb4da6eba290dfb4bcb4859b903837f97040e9d5a4877dc3d6
4
+ data.tar.gz: 18a699e55e20416b03c34b060d79ec07c61f3278dda3d906b276687a7f8b6794
5
5
  SHA512:
6
- metadata.gz: 973dc68e687f835510748a22d9d26d6a7d719b4c9ca782fe868c4619aca0c2766bb3d0d4279b78ee2ed407f0b084da45eacc17882ecd9ad116f8fad3b5a70eb9
7
- data.tar.gz: 8a6761e6d72cf33b92622a9f0706884cc0b0ec1d2e16fc5419685f28dc2497418248eabffcf7447300aec6939c7164a2312c4fec3061137964bf1bce555544f8
6
+ metadata.gz: 4c405e9036b50bb07e9ba968842beab12120a759f2692f074f938d22f24cb35fd8850ea045f739ed7f765b79ee1a54ab7417380813b93c802801f383d6a2cfad
7
+ data.tar.gz: 5334de8b782bf4abbc236261912b6b757ae4bac4c4969ed8a420b5965e8aa395f3f076cb72f5de60c83c18e602037af523d89cddc82a00ecd90b615817af8d64
checksums.yaml.gz.sig CHANGED
Binary file
data/CHANGELOG.md CHANGED
@@ -24,6 +24,18 @@ Please file a bug if you notice a violation of semantic versioning.
24
24
  ### Fixed
25
25
  ### Security
26
26
 
27
+ ## [1.1.9] - 2025-09-07
28
+ - TAG: [v1.1.9][1.1.9t]
29
+ - COVERAGE: 97.11% -- 3255/3352 lines in 23 files
30
+ - BRANCH COVERAGE: 81.91% -- 1345/1642 branches in 23 files
31
+ - 76.65% documented
32
+ ### Added
33
+ - badge for current runtime heads in example readme
34
+ ### Fixed
35
+ - Add gemfiles/modular/x_std_libs.gemfile & injected.gemfile to template
36
+ - example version of gemfiles/modular/runtime_heads.gemfile
37
+ - necessary to avoid deps on recording gems in the template
38
+
27
39
  ## [1.1.8] - 2025-09-07
28
40
  - TAG: [v1.1.8][1.1.8t]
29
41
  - COVERAGE: 97.16% -- 3246/3341 lines in 23 files
@@ -543,7 +555,9 @@ Please file a bug if you notice a violation of semantic versioning.
543
555
  - Selecting will run the selected workflow via `act`
544
556
  - This may move to its own gem in the future.
545
557
 
546
- [Unreleased]: https://github.com/kettle-rb/kettle-dev/compare/v1.1.8...HEAD
558
+ [Unreleased]: https://github.com/kettle-rb/kettle-dev/compare/v1.1.9...HEAD
559
+ [1.1.9]: https://github.com/kettle-rb/kettle-dev/compare/v1.1.8...v1.1.9
560
+ [1.1.9t]: https://github.com/kettle-rb/kettle-dev/releases/tag/v1.1.9
547
561
  [1.1.8]: https://github.com/kettle-rb/kettle-dev/compare/v1.1.7...v1.1.8
548
562
  [1.1.8t]: https://github.com/kettle-rb/kettle-dev/releases/tag/v1.1.8
549
563
  [1.1.7]: https://github.com/kettle-rb/kettle-dev/compare/v1.1.6...v1.1.7
data/README.md CHANGED
@@ -907,7 +907,7 @@ Thanks for RTFM. ☺️
907
907
  [📌gitmoji]:https://gitmoji.dev
908
908
  [📌gitmoji-img]:https://img.shields.io/badge/gitmoji_commits-%20%F0%9F%98%9C%20%F0%9F%98%8D-34495e.svg?style=flat-square
909
909
  [🧮kloc]: https://www.youtube.com/watch?v=dQw4w9WgXcQ
910
- [🧮kloc-img]: https://img.shields.io/badge/KLOC-3.341-FFDD67.svg?style=for-the-badge&logo=YouTube&logoColor=blue
910
+ [🧮kloc-img]: https://img.shields.io/badge/KLOC-3.352-FFDD67.svg?style=for-the-badge&logo=YouTube&logoColor=blue
911
911
  [🔐security]: SECURITY.md
912
912
  [🔐security-img]: https://img.shields.io/badge/security-policy-259D6C.svg?style=flat
913
913
  [📄copyright-notice-explainer]: https://opensource.stackexchange.com/questions/5778/why-do-licenses-such-as-the-mit-license-specify-a-single-year
data/README.md.example CHANGED
@@ -9,7 +9,7 @@
9
9
 
10
10
  # 🍲 Kettle::Dev
11
11
 
12
- [![Version][👽versioni]][👽version] [![GitHub tag (latest SemVer)][⛳️tag-img]][⛳️tag] [![License: MIT][📄license-img]][📄license-ref] [![Downloads Rank][👽dl-ranki]][👽dl-rank] [![Open Source Helpers][👽oss-helpi]][👽oss-help] [![CodeCov Test Coverage][🔑codecovi]][🔑codecov] [![Coveralls Test Coverage][🔑coveralls-img]][🔑coveralls] [![QLTY Test Coverage][🔑qlty-covi]][🔑qlty-cov] [![QLTY Maintainability][🔑qlty-mnti]][🔑qlty-mnt] [![CI Heads][🚎3-hd-wfi]][🚎3-hd-wf] [![CI Current][🚎11-c-wfi]][🚎11-c-wf] [![CI Truffle Ruby][🚎9-t-wfi]][🚎9-t-wf] [![CI JRuby][🚎10-j-wfi]][🚎10-j-wf] [![Deps Locked][🚎13-🔒️-wfi]][🚎13-🔒️-wf] [![Deps Unlocked][🚎14-🔓️-wfi]][🚎14-🔓️-wf] [![CI Supported][🚎6-s-wfi]][🚎6-s-wf] [![CI Legacy][🚎4-lg-wfi]][🚎4-lg-wf] [![CI Unsupported][🚎7-us-wfi]][🚎7-us-wf] [![CI Ancient][🚎1-an-wfi]][🚎1-an-wf] [![CI Test Coverage][🚎2-cov-wfi]][🚎2-cov-wf] [![CI Style][🚎5-st-wfi]][🚎5-st-wf] [![CodeQL][🖐codeQL-img]][🖐codeQL]
12
+ [![Version][👽versioni]][👽version] [![GitHub tag (latest SemVer)][⛳️tag-img]][⛳️tag] [![License: MIT][📄license-img]][📄license-ref] [![Downloads Rank][👽dl-ranki]][👽dl-rank] [![Open Source Helpers][👽oss-helpi]][👽oss-help] [![CodeCov Test Coverage][🔑codecovi]][🔑codecov] [![Coveralls Test Coverage][🔑coveralls-img]][🔑coveralls] [![QLTY Test Coverage][🔑qlty-covi]][🔑qlty-cov] [![QLTY Maintainability][🔑qlty-mnti]][🔑qlty-mnt] [![CI Heads][🚎3-hd-wfi]][🚎3-hd-wf] [![CI Runtime Dependencies @ HEAD][🚎12-crh-wfi]][🚎12-crh-wf] [![CI Current][🚎11-c-wfi]][🚎11-c-wf] [![CI Truffle Ruby][🚎9-t-wfi]][🚎9-t-wf] [![CI JRuby][🚎10-j-wfi]][🚎10-j-wf] [![Deps Locked][🚎13-🔒️-wfi]][🚎13-🔒️-wf] [![Deps Unlocked][🚎14-🔓️-wfi]][🚎14-🔓️-wf] [![CI Supported][🚎6-s-wfi]][🚎6-s-wf] [![CI Legacy][🚎4-lg-wfi]][🚎4-lg-wf] [![CI Unsupported][🚎7-us-wfi]][🚎7-us-wf] [![CI Ancient][🚎1-an-wfi]][🚎1-an-wf] [![CI Test Coverage][🚎2-cov-wfi]][🚎2-cov-wf] [![CI Style][🚎5-st-wfi]][🚎5-st-wf] [![CodeQL][🖐codeQL-img]][🖐codeQL]
13
13
 
14
14
  If ☝️ `ci_badges.map(&:color).detect { it != "green"}` [let me know][🖼️galtzo-discord], as I may have missed the [discord notification][🖼️galtzo-discord].
15
15
 
@@ -448,6 +448,8 @@ Thanks for RTFM. ☺️
448
448
  [🚎10-j-wfi]: https://github.com/kettle-rb/kettle-dev/actions/workflows/jruby.yml/badge.svg
449
449
  [🚎11-c-wf]: https://github.com/kettle-rb/kettle-dev/actions/workflows/current.yml
450
450
  [🚎11-c-wfi]: https://github.com/kettle-rb/kettle-dev/actions/workflows/current.yml/badge.svg
451
+ [🚎12-crh-wf]: https://github.com/kettle-rb/kettle-dev/actions/workflows/dep-heads.yml
452
+ [🚎12-crh-wfi]: https://github.com/kettle-rb/kettle-dev/actions/workflows/dep-heads.yml/badge.svg
451
453
  [🚎13-🔒️-wf]: https://github.com/kettle-rb/kettle-dev/actions/workflows/locked_deps.yml
452
454
  [🚎13-🔒️-wfi]: https://github.com/kettle-rb/kettle-dev/actions/workflows/locked_deps.yml/badge.svg
453
455
  [🚎14-🔓️-wf]: https://github.com/kettle-rb/kettle-dev/actions/workflows/unlocked_deps.yml
@@ -505,7 +507,7 @@ Thanks for RTFM. ☺️
505
507
  [📌gitmoji]:https://gitmoji.dev
506
508
  [📌gitmoji-img]:https://img.shields.io/badge/gitmoji_commits-%20%F0%9F%98%9C%20%F0%9F%98%8D-34495e.svg?style=flat-square
507
509
  [🧮kloc]: https://www.youtube.com/watch?v=dQw4w9WgXcQ
508
- [🧮kloc-img]: https://img.shields.io/badge/KLOC-3.341-FFDD67.svg?style=for-the-badge&logo=YouTube&logoColor=blue
510
+ [🧮kloc-img]: https://img.shields.io/badge/KLOC-3.352-FFDD67.svg?style=for-the-badge&logo=YouTube&logoColor=blue
509
511
  [🔐security]: SECURITY.md
510
512
  [🔐security-img]: https://img.shields.io/badge/security-policy-259D6C.svg?style=flat
511
513
  [📄copyright-notice-explainer]: https://opensource.stackexchange.com/questions/5778/why-do-licenses-such-as-the-mit-license-specify-a-single-year
data/Rakefile.example CHANGED
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # kettle-dev Rakefile v1.1.8 - 2025-09-07
3
+ # kettle-dev Rakefile v1.1.9 - 2025-09-07
4
4
  # Ruby 2.3 (Safe Navigation) or higher required
5
5
  #
6
6
  # MIT License (see License.txt)
@@ -0,0 +1,8 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Test against HEAD of runtime dependencies so we can proactively file bugs
4
+
5
+ # Ruby >= 2.2
6
+ gem "version_gem", github: "ruby-oauth/version_gem", branch: "main"
7
+
8
+ eval_gemfile("x_std_libs/vHEAD.gemfile")
@@ -6,6 +6,8 @@ module Kettle
6
6
  # Thin wrapper to expose the kettle:dev:template task logic as a callable API
7
7
  # for testability. The rake task should only call this method.
8
8
  module TemplateTask
9
+ MODULAR_GEMFILE_DIR = "gemfiles/modular"
10
+
9
11
  module_function
10
12
 
11
13
  # Abort wrapper that avoids terminating the entire process during specs
@@ -102,78 +104,89 @@ module Kettle
102
104
  allow_replace: true,
103
105
  )
104
106
 
105
- # 4) gemfiles/modular/*.gemfile (from gem's gemfiles/modular)
106
- [%w[coverage.gemfile], %w[documentation.gemfile], %w[style.gemfile], %w[optional.gemfile]].each do |base|
107
- src = helpers.prefer_example(File.join(gem_checkout_root, "gemfiles/modular", base[0]))
108
- dest = File.join(project_root, "gemfiles/modular", base[0])
109
- if File.basename(src).sub(/\.example\z/, "") == "style.gemfile"
110
- helpers.copy_file_with_prompt(src, dest, allow_create: true, allow_replace: true) do |content|
111
- # Adjust rubocop-lts constraint based on min_ruby
112
- version_map = [
113
- [Gem::Version.new("1.8"), "~> 0.1"],
114
- [Gem::Version.new("1.9"), "~> 2.0"],
115
- [Gem::Version.new("2.0"), "~> 4.0"],
116
- [Gem::Version.new("2.1"), "~> 6.0"],
117
- [Gem::Version.new("2.2"), "~> 8.0"],
118
- [Gem::Version.new("2.3"), "~> 10.0"],
119
- [Gem::Version.new("2.4"), "~> 12.0"],
120
- [Gem::Version.new("2.5"), "~> 14.0"],
121
- [Gem::Version.new("2.6"), "~> 16.0"],
122
- [Gem::Version.new("2.7"), "~> 18.0"],
123
- [Gem::Version.new("3.0"), "~> 20.0"],
124
- [Gem::Version.new("3.1"), "~> 22.0"],
125
- [Gem::Version.new("3.2"), "~> 24.0"],
126
- [Gem::Version.new("3.3"), "~> 26.0"],
127
- [Gem::Version.new("3.4"), "~> 28.0"],
128
- ]
129
- new_constraint = nil
130
- rubocop_ruby_gem_version = nil
131
- ruby1_8 = version_map.first
132
- begin
133
- if min_ruby
134
- version_map.reverse_each do |min, req|
135
- if min_ruby >= min
136
- new_constraint = req
137
- rubocop_ruby_gem_version = min.segments.join("_")
138
- break
139
- end
107
+ # 4a) gemfiles/modular/*.gemfile
108
+ # from gem's gemfiles/modular,
109
+ # except `style.gemfile` which has special handling below
110
+ modular_gemfiles = %w[
111
+ coverage
112
+ debug
113
+ documentation
114
+ injected
115
+ optional
116
+ runtime_heads
117
+ x_std_libs
118
+ ]
119
+ modular_gemfiles.each do |base|
120
+ modular_gemfile = "#{base}.gemfile"
121
+ src = helpers.prefer_example(File.join(gem_checkout_root, MODULAR_GEMFILE_DIR, modular_gemfile))
122
+ dest = File.join(project_root, MODULAR_GEMFILE_DIR, modular_gemfile)
123
+ helpers.copy_file_with_prompt(src, dest, allow_create: true, allow_replace: true)
124
+ end
125
+
126
+ # 4b) gemfiles/modular/style.gemfile
127
+ modular_gemfile = "style.gemfile"
128
+ src = helpers.prefer_example(File.join(gem_checkout_root, MODULAR_GEMFILE_DIR, modular_gemfile))
129
+ dest = File.join(project_root, MODULAR_GEMFILE_DIR, modular_gemfile)
130
+ if File.basename(src).sub(/\.example\z/, "") == "style.gemfile"
131
+ helpers.copy_file_with_prompt(src, dest, allow_create: true, allow_replace: true) do |content|
132
+ # Adjust rubocop-lts constraint based on min_ruby
133
+ version_map = [
134
+ [Gem::Version.new("1.8"), "~> 0.1"],
135
+ [Gem::Version.new("1.9"), "~> 2.0"],
136
+ [Gem::Version.new("2.0"), "~> 4.0"],
137
+ [Gem::Version.new("2.1"), "~> 6.0"],
138
+ [Gem::Version.new("2.2"), "~> 8.0"],
139
+ [Gem::Version.new("2.3"), "~> 10.0"],
140
+ [Gem::Version.new("2.4"), "~> 12.0"],
141
+ [Gem::Version.new("2.5"), "~> 14.0"],
142
+ [Gem::Version.new("2.6"), "~> 16.0"],
143
+ [Gem::Version.new("2.7"), "~> 18.0"],
144
+ [Gem::Version.new("3.0"), "~> 20.0"],
145
+ [Gem::Version.new("3.1"), "~> 22.0"],
146
+ [Gem::Version.new("3.2"), "~> 24.0"],
147
+ [Gem::Version.new("3.3"), "~> 26.0"],
148
+ [Gem::Version.new("3.4"), "~> 28.0"],
149
+ ]
150
+ new_constraint = nil
151
+ rubocop_ruby_gem_version = nil
152
+ ruby1_8 = version_map.first
153
+ begin
154
+ if min_ruby
155
+ version_map.reverse_each do |min, req|
156
+ if min_ruby >= min
157
+ new_constraint = req
158
+ rubocop_ruby_gem_version = min.segments.join("_")
159
+ break
140
160
  end
141
161
  end
142
- if !new_constraint || !rubocop_ruby_gem_version
143
- # A gem with no declared minimum ruby is effectively >= 1.8.7
144
- new_constraint = ruby1_8[1]
145
- rubocop_ruby_gem_version = ruby1_8[0].segments.join("_")
146
- end
147
- rescue StandardError => e
148
- Kettle::Dev.debug_error(e, __method__)
149
- # ignore, use default
150
- ensure
151
- new_constraint ||= ruby1_8[1]
152
- rubocop_ruby_gem_version ||= ruby1_8[0].segments.join("_")
153
162
  end
154
- if new_constraint && rubocop_ruby_gem_version
155
- token = "{RUBOCOP|LTS|CONSTRAINT}"
156
- content.gsub!(token, new_constraint) if content.include?(token)
157
- token = "{RUBOCOP|RUBY|GEM}"
158
- content.gsub!(token, "rubocop-ruby#{rubocop_ruby_gem_version}") if content.include?(token)
163
+ if !new_constraint || !rubocop_ruby_gem_version
164
+ # A gem with no declared minimum ruby is effectively >= 1.8.7
165
+ new_constraint = ruby1_8[1]
166
+ rubocop_ruby_gem_version = ruby1_8[0].segments.join("_")
159
167
  end
168
+ rescue StandardError => e
169
+ Kettle::Dev.debug_error(e, __method__)
170
+ # ignore, use default
171
+ ensure
172
+ new_constraint ||= ruby1_8[1]
173
+ rubocop_ruby_gem_version ||= ruby1_8[0].segments.join("_")
174
+ end
175
+ if new_constraint && rubocop_ruby_gem_version
176
+ token = "{RUBOCOP|LTS|CONSTRAINT}"
177
+ content.gsub!(token, new_constraint) if content.include?(token)
178
+ token = "{RUBOCOP|RUBY|GEM}"
179
+ content.gsub!(token, "rubocop-ruby#{rubocop_ruby_gem_version}") if content.include?(token)
160
180
  end
161
- else
162
- helpers.copy_file_with_prompt(src, dest, allow_create: true, allow_replace: true)
163
181
  end
164
- end
165
-
166
- # 4b) Additional modular gemfiles to include
167
- ["debug.gemfile", "runtime_heads.gemfile"].each do |fname|
168
- src = helpers.prefer_example(File.join(gem_checkout_root, "gemfiles/modular", fname))
169
- dest = File.join(project_root, "gemfiles/modular", fname)
182
+ else
170
183
  helpers.copy_file_with_prompt(src, dest, allow_create: true, allow_replace: true)
171
184
  end
172
185
 
173
186
  # 4c) Copy modular directories with nested/versioned files
174
187
  %w[erb mutex_m stringio x_std_libs].each do |dir|
175
- src_dir = File.join(gem_checkout_root, "gemfiles/modular", dir)
176
- dest_dir = File.join(project_root, "gemfiles/modular", dir)
188
+ src_dir = File.join(gem_checkout_root, MODULAR_GEMFILE_DIR, dir)
189
+ dest_dir = File.join(project_root, MODULAR_GEMFILE_DIR, dir)
177
190
  helpers.copy_dir_with_prompt(src_dir, dest_dir)
178
191
  end
179
192
 
@@ -6,7 +6,7 @@ module Kettle
6
6
  module Version
7
7
  # The gem version.
8
8
  # @return [String]
9
- VERSION = "1.1.8"
9
+ VERSION = "1.1.9"
10
10
 
11
11
  module_function
12
12
 
data.tar.gz.sig CHANGED
Binary file
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: kettle-dev
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.8
4
+ version: 1.1.9
5
5
  platform: ruby
6
6
  authors:
7
7
  - Peter H. Boling
@@ -305,6 +305,7 @@ files:
305
305
  - gemfiles/modular/optional.gemfile
306
306
  - gemfiles/modular/optional.gemfile.example
307
307
  - gemfiles/modular/runtime_heads.gemfile
308
+ - gemfiles/modular/runtime_heads.gemfile.example
308
309
  - gemfiles/modular/stringio/r2.4/v0.0.2.gemfile
309
310
  - gemfiles/modular/stringio/r2/v3.0.gemfile
310
311
  - gemfiles/modular/stringio/r3/v3.0.gemfile
@@ -380,10 +381,10 @@ licenses:
380
381
  - MIT
381
382
  metadata:
382
383
  homepage_uri: https://kettle-dev.galtzo.com/
383
- source_code_uri: https://github.com/kettle-rb/kettle-dev/tree/v1.1.8
384
- changelog_uri: https://github.com/kettle-rb/kettle-dev/blob/v1.1.8/CHANGELOG.md
384
+ source_code_uri: https://github.com/kettle-rb/kettle-dev/tree/v1.1.9
385
+ changelog_uri: https://github.com/kettle-rb/kettle-dev/blob/v1.1.9/CHANGELOG.md
385
386
  bug_tracker_uri: https://github.com/kettle-rb/kettle-dev/issues
386
- documentation_uri: https://www.rubydoc.info/gems/kettle-dev/1.1.8
387
+ documentation_uri: https://www.rubydoc.info/gems/kettle-dev/1.1.9
387
388
  funding_uri: https://github.com/sponsors/pboling
388
389
  wiki_uri: https://github.com/kettle-rb/kettle-dev/wiki
389
390
  news_uri: https://www.railsbling.com/tags/kettle-dev
metadata.gz.sig CHANGED
Binary file