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 +4 -4
- checksums.yaml.gz.sig +0 -0
- data/CHANGELOG.md +19 -1
- data/README.md +31 -12
- data/lib/nomono/bundler.rb +1 -2
- data/lib/nomono/core.rb +22 -0
- data/lib/nomono/version.rb +38 -1
- data/lib/nomono.rb +1 -30
- data.tar.gz.sig +0 -0
- metadata +5 -24
- 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: 3b3d1b4a98dc51bea24e987866d3065d1a1f2ee5050828b66da8c83c103439ea
|
|
4
|
+
data.tar.gz: 71fe998dd40db72d01ceed74f7feafd0a72bb7ddead54e0cab71d0656e91c981
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
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.
|
|
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
|
|
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
|
-
|
|
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
|
-
|
|
179
|
-
gem "kettle-
|
|
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
|
-
|
|
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.
|
|
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
|
data/lib/nomono/bundler.rb
CHANGED
data/lib/nomono/core.rb
ADDED
|
@@ -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
|
data/lib/nomono/version.rb
CHANGED
|
@@ -2,7 +2,44 @@
|
|
|
2
2
|
|
|
3
3
|
module Nomono
|
|
4
4
|
module Version
|
|
5
|
-
VERSION = "1.0.
|
|
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.
|
|
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.
|
|
282
|
-
changelog_uri: https://github.com/kettle-dev/nomono/blob/v1.0.
|
|
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.
|
|
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
|