kettle-family 1.2.51 → 1.2.52

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: 0d3dc45d168d7c0fba411a5e1ae3a726b1e1000fc3237074ed6716433d2e2664
4
- data.tar.gz: 581c5d41398d88e180dd2209b3ee3c8aebda803ddc1974cb7140c1b84b91e406
3
+ metadata.gz: f70fa54c64e3f33a2df8ff5dfe7b4f2d5a1e352df02e7055cc2d873d2c309388
4
+ data.tar.gz: f458b89aac79a5233e500ac9e936e6341177d0e78f96551f0494b797e6a7bd85
5
5
  SHA512:
6
- metadata.gz: affbe7e652cbaa1e1b1f3b2364c55b72e8530407cf3b0aad4c91431fd07a622c78889df85322adffe90a77c3d3042000acbc5cb33e6b29af563cce6a163c529d
7
- data.tar.gz: 8f5083ea5555206b4a8ee02fc1e768dad7f5ddfd539f47934921efef4fb5194ffef9a9a270d2548fa9a0dcec11bfd0c12b5cda51954697ab91809d035cd7c3c1
6
+ metadata.gz: 1687c7b9f9772868ef46114ab2bca79987ac27f7fd0d647bce6b62ab6da8ac82f54e290f3bd6b8027e4b4cb5e33f5119b53af579ad2fc3c0d0b679c934c357e7
7
+ data.tar.gz: 1249c5a25be3283021e3e2c59d208b2c7936117764ebf8a385d0bf4932ee21cf25afe91e23da6c729021efcb6559288b4f35099bbf912d817e3d815443c4c272
checksums.yaml.gz.sig CHANGED
Binary file
data/CHANGELOG.md CHANGED
@@ -30,6 +30,17 @@ Please file a bug if you notice a violation of semantic versioning.
30
30
 
31
31
  ### Security
32
32
 
33
+ ## [1.2.52] - 2026-08-12
34
+
35
+ - TAG: [v1.2.52][1.2.52t]
36
+ - COVERAGE: 93.54% -- 5244/5606 lines in 33 files
37
+ - BRANCH COVERAGE: 76.13% -- 2102/2761 branches in 33 files
38
+ - 29.86% documented
39
+
40
+ ### Fixed
41
+
42
+ - Template dependency preparation now invokes standalone kettle-jem before Bundler evaluates modular Gemfiles.
43
+
33
44
  ## [1.2.51] - 2026-08-11
34
45
 
35
46
  - TAG: [v1.2.51][1.2.51t]
@@ -2076,7 +2087,9 @@ Please file a bug if you notice a violation of semantic versioning.
2076
2087
  - Fixed CI load failures on engines without compatible `pty` support by falling back to Open3 for interactive release commands.
2077
2088
  - Fixed Ruby 3.2 version-bump support by loading Prism lazily and wiring the Prism gem only for MRI versions that need it.
2078
2089
 
2079
- [Unreleased]: https://github.com/kettle-dev/kettle-family/compare/v1.2.51...HEAD
2090
+ [Unreleased]: https://github.com/kettle-dev/kettle-family/compare/v1.2.52...HEAD
2091
+ [1.2.52]: https://github.com/kettle-dev/kettle-family/compare/v1.2.51...v1.2.52
2092
+ [1.2.52t]: https://github.com/kettle-dev/kettle-family/releases/tag/v1.2.52
2080
2093
  [1.2.51]: https://github.com/kettle-dev/kettle-family/compare/v1.2.50...v1.2.51
2081
2094
  [1.2.51t]: https://github.com/kettle-dev/kettle-family/releases/tag/v1.2.51
2082
2095
  [1.2.50]: https://github.com/kettle-dev/kettle-family/compare/e4a9ca8ed52605b6375bbdd4f745b905a68b8b24...v1.2.50
data/README.md CHANGED
@@ -836,7 +836,7 @@ Thanks for RTFM. ☺️
836
836
  [📌gitmoji]: https://gitmoji.dev
837
837
  [📌gitmoji-img]: https://img.shields.io/badge/gitmoji_commits-%20%F0%9F%98%9C%20%F0%9F%98%8D-34495e.svg?style=flat-square
838
838
  [🧮kloc]: https://www.youtube.com/watch?v=dQw4w9WgXcQ
839
- [🧮kloc-img]: https://img.shields.io/badge/KLOC-5.591-FFDD67.svg?style=for-the-badge&logo=YouTube&logoColor=blue
839
+ [🧮kloc-img]: https://img.shields.io/badge/KLOC-5.606-FFDD67.svg?style=for-the-badge&logo=YouTube&logoColor=blue
840
840
  [🔐security]: https://github.com/kettle-dev/kettle-family/blob/main/SECURITY.md
841
841
  [🔐security-img]: https://img.shields.io/badge/security-policy-259D6C.svg?style=flat
842
842
  [📄copyright-notice-explainer]: https://opensource.stackexchange.com/questions/5778/why-do-licenses-such-as-the-mit-license-specify-a-single-year
@@ -5,7 +5,7 @@ module Kettle
5
5
  # Version namespace for this gem.
6
6
  module Version
7
7
  # Current gem version.
8
- VERSION = "1.2.51"
8
+ VERSION = "1.2.52"
9
9
  end
10
10
  # Current gem version exposed at the traditional constant location.
11
11
  VERSION = Version::VERSION # Traditional Constant Location
@@ -2609,11 +2609,36 @@ module Kettle
2609
2609
 
2610
2610
  def template_prepare_command(member)
2611
2611
  command_text = template_prepare_command_from(config.template_command || default_template_command(member))
2612
- command_text = localize_kettle_jem_template_command(command_text)
2612
+ command_text = standalone_kettle_jem_prepare_command(command_text)
2613
2613
  command_text = append_template_family_args(command_text)
2614
2614
  append_template_skip_commit(command_text)
2615
2615
  end
2616
2616
 
2617
+ # Preparation must run before Bundler can safely evaluate the member's
2618
+ # Gemfile. Use the local or installed kettle-jem executable directly so
2619
+ # it can create newly referenced modular Gemfiles without that bootstrap
2620
+ # dependency cycle. The full install phase remains bundle-managed.
2621
+ def standalone_kettle_jem_prepare_command(command_text)
2622
+ local_executable = local_kettle_jem_executable
2623
+ executable = local_executable || installed_gem_executable("kettle-jem", "kettle-jem")
2624
+ return command_text unless executable
2625
+
2626
+ array_command = command_text.is_a?(Array)
2627
+ argv = array_command ? command_text.map(&:to_s) : Shellwords.split(command_text.to_s)
2628
+ executable_index = argv.index { |token| File.basename(token) == "kettle-jem" }
2629
+ return command_text unless executable_index
2630
+ return command_text if !array_command && argv.any? { |token| %w[&& || ; |].include?(token) }
2631
+
2632
+ prefix = argv[0...executable_index]
2633
+ bundle_exec = prefix.last(2) == %w[bundle exec]
2634
+ return command_text unless local_executable || bundle_exec
2635
+
2636
+ prefix = prefix[0...-2] if bundle_exec
2637
+ prefix + [RbConfig.ruby, executable] + argv[(executable_index + 1)..]
2638
+ rescue ArgumentError
2639
+ command_text
2640
+ end
2641
+
2617
2642
  def template_prepare_command_from(command_text)
2618
2643
  if command_text.is_a?(Array)
2619
2644
  argv = command_text.map(&:to_s)
data.tar.gz.sig CHANGED
Binary file
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: kettle-family
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.51
4
+ version: 1.2.52
5
5
  platform: ruby
6
6
  authors:
7
7
  - Peter H. Boling
@@ -361,10 +361,10 @@ licenses:
361
361
  - AGPL-3.0-only
362
362
  metadata:
363
363
  homepage_uri: https://kettle-family.galtzo.com
364
- source_code_uri: https://github.com/kettle-dev/kettle-family/tree/v1.2.51
365
- changelog_uri: https://github.com/kettle-dev/kettle-family/blob/v1.2.51/CHANGELOG.md
364
+ source_code_uri: https://github.com/kettle-dev/kettle-family/tree/v1.2.52
365
+ changelog_uri: https://github.com/kettle-dev/kettle-family/blob/v1.2.52/CHANGELOG.md
366
366
  bug_tracker_uri: https://github.com/kettle-dev/kettle-family/issues
367
- documentation_uri: https://www.rubydoc.info/gems/kettle-family/1.2.51
367
+ documentation_uri: https://www.rubydoc.info/gems/kettle-family/1.2.52
368
368
  funding_uri: https://github.com/sponsors/pboling
369
369
  wiki_uri: https://github.com/kettle-dev/kettle-family/wiki
370
370
  news_uri: https://www.railsbling.com/tags/kettle-family
metadata.gz.sig CHANGED
Binary file