nomono 1.0.5 → 1.0.6

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: 2164426586426c13b26126bb4c5832a6904d8b8ca840f4d553a7bf260bb1ba7b
4
- data.tar.gz: 572a1fd374ded114f0eb0327b4cd8877a2b6e5f5a4af94f907f58ec58a8e6f0b
3
+ metadata.gz: 3b3d1b4a98dc51bea24e987866d3065d1a1f2ee5050828b66da8c83c103439ea
4
+ data.tar.gz: 71fe998dd40db72d01ceed74f7feafd0a72bb7ddead54e0cab71d0656e91c981
5
5
  SHA512:
6
- metadata.gz: d371f2cb542b871764996c96e3408d2a40355932ccdc2315f81910f07cf2aeaf999cb7ed10a6ad8a9ba555bc0b6012993bf981455423cab9ef323813ece116ed
7
- data.tar.gz: 2b4bbe614e0e1992d195a430bb74376c577e362e0958d2ba8a920efea841beab5192bd0af4a5800d375968b8c7cfa19d9a18c8df5ac3ad3339bb247b59b9989d
6
+ metadata.gz: d8af201b7224efcd26898b3c9acf1a93cd1f5a69b24639875ca93e15b645b35a5df20052636a57c74be79e4be62cea63727665daeb75e82d6d0711675d17a061
7
+ data.tar.gz: 6845ef45c51065af514c15803bce0173a41e5e5ba48840adde953b5435de8b6c0be58245a737f9447ff9fa6e81c176117a3562a79c471df3c2619633a4879e0d
checksums.yaml.gz.sig CHANGED
Binary file
data/CHANGELOG.md CHANGED
@@ -30,6 +30,22 @@ Please file a bug if you notice a violation of semantic versioning.
30
30
 
31
31
  ### Security
32
32
 
33
+ ## [1.0.6] - 2026-06-22
34
+
35
+ - TAG: [v1.0.6][1.0.6t]
36
+ - COVERAGE: 99.01% -- 100/101 lines in 6 files
37
+ - BRANCH COVERAGE: 96.67% -- 29/30 branches in 6 files
38
+ - 8.70% documented
39
+
40
+ ### Fixed
41
+
42
+ - Removed the unnecessary `version_gem` runtime dependency from nomono itself,
43
+ allowing Gemfiles generated by `kettle-jem` to load `nomono/bundler` directly
44
+ while Bundler is still evaluating local sibling-gem overrides.
45
+ - Split the runtime and Bundler entry points so `require "nomono"` loads the
46
+ resolver API without mutating `Bundler::Dsl`, while `require "nomono/bundler"`
47
+ remains the explicit Gemfile integration hook.
48
+
33
49
  ## [1.0.5] - 2026-06-21
34
50
 
35
51
  - TAG: [v1.0.5][1.0.5t]
@@ -144,7 +160,9 @@ Please file a bug if you notice a violation of semantic versioning.
144
160
  - TAG: [v1.0.0][1.0.0t]
145
161
  - 12.50% documented
146
162
 
147
- [Unreleased]: https://github.com/kettle-dev/nomono/compare/v1.0.5...HEAD
163
+ [Unreleased]: https://github.com/kettle-dev/nomono/compare/v1.0.6...HEAD
164
+ [1.0.6]: https://github.com/kettle-dev/nomono/compare/v1.0.5...v1.0.6
165
+ [1.0.6t]: https://github.com/kettle-dev/nomono/releases/tag/v1.0.6
148
166
  [1.0.5]: https://github.com/kettle-dev/nomono/compare/v1.0.4...v1.0.5
149
167
  [1.0.5t]: https://github.com/kettle-dev/nomono/releases/tag/v1.0.5
150
168
  [1.0.4]: https://github.com/kettle-dev/nomono/compare/v1.0.3...v1.0.4
data/README.md CHANGED
@@ -29,6 +29,8 @@ It provides two Gemfile macros:
29
29
  - `eval_nomono_gems(**opts)` directly emits `gem "name", path: "..."`
30
30
 
31
31
  The API mirrors existing `*_local.gemfile` patterns used in kettle-dev projects, but centralizes path/env logic in one reusable library.
32
+ Use `require "nomono"` for the runtime resolver API.
33
+ Use `require "nomono/bundler"` from Gemfiles or modular Gemfiles; this is the explicit hook that installs the Gemfile macros into `Bundler::Dsl`.
32
34
 
33
35
  ## 💡 Info you can shake a stick at
34
36
 
@@ -163,25 +165,42 @@ nomono_gems(
163
165
 
164
166
  ## 🔧 Basic Usage
165
167
 
166
- In your Gemfile (or a modular Gemfile loaded via `eval_gemfile`):
168
+ In a Gemfile or modular Gemfile, keep released dependencies on the normal
169
+ Bundler path when local sibling paths are disabled, and load a local override
170
+ when they are enabled:
167
171
 
168
172
  ```ruby
169
- require "nomono/bundler"
170
-
171
- local_gems = %w[
172
- kettle-dev
173
- kettle-test
174
- kettle-soup-cover
175
- ]
173
+ source "https://gem.coop"
176
174
 
177
175
  if ENV.fetch("KETTLE_RB_DEV", "false").casecmp("false").zero?
178
- # remote/released gems
179
- gem "kettle-soup-cover", require: false
176
+ gem "kettle-dev", "~> 2.2", ">= 2.2.15"
177
+ gem "kettle-test", "~> 2.0", ">= 2.0.6"
178
+ gem "kettle-soup-cover", "~> 3.0.a", ">= 3.0.0.rc4"
180
179
  else
181
- eval_nomono_gems(gems: local_gems, prefix: "KETTLE_RB")
180
+ eval_gemfile "gemfiles/modular/local.gemfile"
182
181
  end
183
182
  ```
184
183
 
184
+ Then in `gemfiles/modular/local.gemfile`:
185
+
186
+ ```ruby
187
+ require "nomono/bundler"
188
+
189
+ eval_nomono_gems(
190
+ gems: %w[kettle-dev kettle-test kettle-soup-cover],
191
+ prefix: "KETTLE_RB",
192
+ path_env: "KETTLE_RB_DEV",
193
+ vendored_gems_env: "VENDORED_GEMS",
194
+ vendor_gem_dir_env: "VENDOR_GEM_DIR",
195
+ debug_env: "KETTLE_DEV_DEBUG"
196
+ )
197
+ ```
198
+
199
+ This is the pattern generated by `kettle-jem`: the Gemfile remains readable,
200
+ and nomono owns the path normalization for sibling repositories. When
201
+ `KETTLE_RB_DEV=false` or is unset, the modular local override is skipped and
202
+ Bundler resolves released gems normally.
203
+
185
204
  ## 🔐 Security
186
205
 
187
206
  See [SECURITY.md][🔐security].
@@ -466,7 +485,7 @@ Thanks for RTFM. ☺️
466
485
  [📌gitmoji]: https://gitmoji.dev
467
486
  [📌gitmoji-img]: https://img.shields.io/badge/gitmoji_commits-%20%F0%9F%98%9C%20%F0%9F%98%8D-34495e.svg?style=flat-square
468
487
  [🧮kloc]: https://www.youtube.com/watch?v=dQw4w9WgXcQ
469
- [🧮kloc-img]: https://img.shields.io/badge/KLOC-0.088-FFDD67.svg?style=for-the-badge&logo=YouTube&logoColor=blue
488
+ [🧮kloc-img]: https://img.shields.io/badge/KLOC-0.101-FFDD67.svg?style=for-the-badge&logo=YouTube&logoColor=blue
470
489
  [🔐security]: https://github.com/kettle-dev/nomono/blob/main/SECURITY.md
471
490
  [🔐security-img]: https://img.shields.io/badge/security-policy-259D6C.svg?style=flat
472
491
  [📄copyright-notice-explainer]: https://opensource.stackexchange.com/questions/5778/why-do-licenses-such-as-the-mit-license-specify-a-single-year
@@ -1,5 +1,4 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require_relative "../nomono"
4
-
3
+ require_relative "core"
5
4
  Nomono.install!
@@ -0,0 +1,22 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "resolver"
4
+ require_relative "dsl"
5
+
6
+ module Nomono
7
+ class Error < StandardError; end
8
+
9
+ module_function
10
+
11
+ def resolver
12
+ Resolver.new
13
+ end
14
+
15
+ def install!(dsl_class = nil)
16
+ dsl_class ||= Bundler::Dsl if defined?(Bundler::Dsl)
17
+ return false unless dsl_class
18
+
19
+ dsl_class.include(GemfileDsl) unless dsl_class < GemfileDsl
20
+ true
21
+ end
22
+ end
@@ -2,7 +2,44 @@
2
2
 
3
3
  module Nomono
4
4
  module Version
5
- VERSION = "1.0.5"
5
+ VERSION = "1.0.6"
6
+
7
+ module_function
8
+
9
+ def gem_version
10
+ Gem::Version.new(VERSION)
11
+ end
12
+
13
+ def major
14
+ gem_version.segments[0]
15
+ end
16
+
17
+ def minor
18
+ gem_version.segments[1]
19
+ end
20
+
21
+ def patch
22
+ gem_version.segments[2]
23
+ end
24
+
25
+ def pre
26
+ return nil unless gem_version.prerelease?
27
+
28
+ gem_version.segments[3..].join(".")
29
+ end
30
+
31
+ def to_h
32
+ {
33
+ major: major,
34
+ minor: minor,
35
+ patch: patch,
36
+ pre: pre
37
+ }
38
+ end
39
+
40
+ def to_a
41
+ to_h.values
42
+ end
6
43
  end
7
44
  VERSION = Version::VERSION # Traditional Constant Location
8
45
  end
data/lib/nomono.rb CHANGED
@@ -1,34 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # External gems
4
- require "version_gem"
5
-
6
3
  # This gem
7
4
  require_relative "nomono/version"
8
-
9
- require_relative "nomono/resolver"
10
- require_relative "nomono/dsl"
11
-
12
- module Nomono
13
- class Error < StandardError; end
14
-
15
- module_function
16
-
17
- def resolver
18
- Resolver.new
19
- end
20
-
21
- def install!(dsl_class = nil)
22
- dsl_class ||= Bundler::Dsl if defined?(Bundler::Dsl)
23
- return false unless dsl_class
24
-
25
- dsl_class.include(GemfileDsl) unless dsl_class < GemfileDsl
26
- true
27
- end
28
- end
29
-
30
- Nomono.install!
31
-
32
- Nomono::Version.class_eval do
33
- extend VersionGem::Basic
34
- end
5
+ require_relative "nomono/core"
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.5
4
+ version: 1.0.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Peter H. Boling
@@ -37,26 +37,6 @@ cert_chain:
37
37
  -----END CERTIFICATE-----
38
38
  date: 1980-01-02 00:00:00.000000000 Z
39
39
  dependencies:
40
- - !ruby/object:Gem::Dependency
41
- name: version_gem
42
- requirement: !ruby/object:Gem::Requirement
43
- requirements:
44
- - - "~>"
45
- - !ruby/object:Gem::Version
46
- version: '1.1'
47
- - - ">="
48
- - !ruby/object:Gem::Version
49
- version: 1.1.12
50
- type: :runtime
51
- prerelease: false
52
- version_requirements: !ruby/object:Gem::Requirement
53
- requirements:
54
- - - "~>"
55
- - !ruby/object:Gem::Version
56
- version: '1.1'
57
- - - ">="
58
- - !ruby/object:Gem::Version
59
- version: 1.1.12
60
40
  - !ruby/object:Gem::Dependency
61
41
  name: kettle-dev
62
42
  requirement: !ruby/object:Gem::Requirement
@@ -268,6 +248,7 @@ files:
268
248
  - certs/pboling.pem
269
249
  - lib/nomono.rb
270
250
  - lib/nomono/bundler.rb
251
+ - lib/nomono/core.rb
271
252
  - lib/nomono/dsl.rb
272
253
  - lib/nomono/resolver.rb
273
254
  - lib/nomono/version.rb
@@ -278,10 +259,10 @@ licenses:
278
259
  - AGPL-3.0-only
279
260
  metadata:
280
261
  homepage_uri: https://nomono.galtzo.com/
281
- source_code_uri: https://github.com/kettle-dev/nomono/tree/v1.0.5
282
- changelog_uri: https://github.com/kettle-dev/nomono/blob/v1.0.5/CHANGELOG.md
262
+ source_code_uri: https://github.com/kettle-dev/nomono/tree/v1.0.6
263
+ changelog_uri: https://github.com/kettle-dev/nomono/blob/v1.0.6/CHANGELOG.md
283
264
  bug_tracker_uri: https://github.com/kettle-dev/nomono/issues
284
- documentation_uri: https://www.rubydoc.info/gems/nomono/1.0.5
265
+ documentation_uri: https://www.rubydoc.info/gems/nomono/1.0.6
285
266
  funding_uri: https://github.com/sponsors/pboling
286
267
  wiki_uri: https://github.com/kettle-dev/nomono/wiki
287
268
  news_uri: https://www.railsbling.com/tags/nomono
metadata.gz.sig CHANGED
Binary file