dry-cli 1.2.0 → 1.3.0
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
- data/CHANGELOG.md +33 -0
- data/README.md +1 -1
- data/dry-cli.gemspec +1 -2
- data/lib/dry/cli/registry.rb +10 -1
- data/lib/dry/cli/version.rb +1 -1
- metadata +3 -17
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 8ab3b2530b7f867fee473bfb808d816bcfefd9732f49e158d32d5d914873516c
|
4
|
+
data.tar.gz: 897275b361168f15eb760ced1d5a6db6ec1229361a9b323e06a3204bfe89cd8d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c12f142b52bb3114425d7be016416603a951cc88b5252593a77f3cd48bbe73d0b7e453dca3519fd5025af9832b875f563208914cb5657d6d0b5eef19782d6412
|
7
|
+
data.tar.gz: 2749e9f49dcf611171bdcdb2f9dbc51106cf78d7658155b2229a6e391610c18f288235ebe2abac654b6dfa8a0461e54e325cd2d315aa9303b2a06e1ddc1119fa
|
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,38 @@
|
|
1
1
|
<!--- DO NOT EDIT THIS FILE - IT'S AUTOMATICALLY GENERATED VIA DEVTOOLS --->
|
2
2
|
|
3
|
+
## 1.3.0 2025-07-29
|
4
|
+
|
5
|
+
|
6
|
+
### Added
|
7
|
+
|
8
|
+
- Support unlimited nesting when registering commands via `register` with blocks. (@aaronmallen in #149)
|
9
|
+
|
10
|
+
You could previously do this only with fully qualified registrations:
|
11
|
+
|
12
|
+
```ruby
|
13
|
+
Commands.register "nested one", MyFirstNestedCommand
|
14
|
+
Commands.register "nested one two", MySecondNestedCommand
|
15
|
+
Commands.register "nested one two three", MyThirdNestedCommand
|
16
|
+
```
|
17
|
+
|
18
|
+
Now you can do the same via blocks:
|
19
|
+
|
20
|
+
```ruby
|
21
|
+
Commands.register "nested" do
|
22
|
+
register "one", MyFirstNestedCommand do
|
23
|
+
register "two", MySecondNestedCommand do
|
24
|
+
register "three", MyThirdNestedCommand
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
28
|
+
```
|
29
|
+
|
30
|
+
### Changed
|
31
|
+
|
32
|
+
- Set minimum Ruby version to 3.1. (@timriley)
|
33
|
+
|
34
|
+
[Compare v1.2.0...v1.3.0](https://github.com/dry-rb/dry-cli/compare/v1.2.0...v1.3.0)
|
35
|
+
|
3
36
|
## 1.2.0 2024-10-15
|
4
37
|
|
5
38
|
|
data/README.md
CHANGED
data/dry-cli.gemspec
CHANGED
@@ -26,13 +26,12 @@ Gem::Specification.new do |spec|
|
|
26
26
|
spec.metadata["source_code_uri"] = "https://github.com/dry-rb/dry-cli"
|
27
27
|
spec.metadata["bug_tracker_uri"] = "https://github.com/dry-rb/dry-cli/issues"
|
28
28
|
|
29
|
-
spec.required_ruby_version = ">=
|
29
|
+
spec.required_ruby_version = ">= 3.1"
|
30
30
|
|
31
31
|
# to update dependencies edit project.yml
|
32
32
|
|
33
33
|
spec.add_development_dependency "bundler", ">= 1.6", "< 3"
|
34
34
|
spec.add_development_dependency "rake", "~> 13.0"
|
35
35
|
spec.add_development_dependency "rspec", "~> 3.7"
|
36
|
-
spec.add_development_dependency "rubocop", "~> 0.82"
|
37
36
|
spec.add_development_dependency "simplecov", "~> 0.17.1"
|
38
37
|
end
|
data/lib/dry/cli/registry.rb
CHANGED
@@ -318,9 +318,18 @@ module Dry
|
|
318
318
|
# @since 0.1.0
|
319
319
|
#
|
320
320
|
# @see Dry::CLI::Registry#register
|
321
|
-
def register(name, command, aliases: [], hidden: false)
|
321
|
+
def register(name, command = nil, aliases: [], hidden: false, &block)
|
322
322
|
command_name = "#{prefix} #{name}"
|
323
323
|
registry.set(command_name, command, aliases, hidden)
|
324
|
+
|
325
|
+
if block_given?
|
326
|
+
prefix = self.class.new(registry, command_name, aliases, hidden)
|
327
|
+
if block.arity.zero?
|
328
|
+
prefix.instance_eval(&block)
|
329
|
+
else
|
330
|
+
yield(prefix)
|
331
|
+
end
|
332
|
+
end
|
324
333
|
end
|
325
334
|
|
326
335
|
private
|
data/lib/dry/cli/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: dry-cli
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Luca Guidi
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2025-07-29 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -58,20 +58,6 @@ dependencies:
|
|
58
58
|
- - "~>"
|
59
59
|
- !ruby/object:Gem::Version
|
60
60
|
version: '3.7'
|
61
|
-
- !ruby/object:Gem::Dependency
|
62
|
-
name: rubocop
|
63
|
-
requirement: !ruby/object:Gem::Requirement
|
64
|
-
requirements:
|
65
|
-
- - "~>"
|
66
|
-
- !ruby/object:Gem::Version
|
67
|
-
version: '0.82'
|
68
|
-
type: :development
|
69
|
-
prerelease: false
|
70
|
-
version_requirements: !ruby/object:Gem::Requirement
|
71
|
-
requirements:
|
72
|
-
- - "~>"
|
73
|
-
- !ruby/object:Gem::Version
|
74
|
-
version: '0.82'
|
75
61
|
- !ruby/object:Gem::Dependency
|
76
62
|
name: simplecov
|
77
63
|
requirement: !ruby/object:Gem::Requirement
|
@@ -127,7 +113,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
127
113
|
requirements:
|
128
114
|
- - ">="
|
129
115
|
- !ruby/object:Gem::Version
|
130
|
-
version:
|
116
|
+
version: '3.1'
|
131
117
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
132
118
|
requirements:
|
133
119
|
- - ">="
|