shellopts 2.5.1 → 2.6.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/lib/shellopts/args.rb +25 -0
- data/lib/shellopts/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 02657bfbf90337d91edc166cfe1b38e87093a2249a3792cc3752fc2033cab15c
|
4
|
+
data.tar.gz: e047a0bc4e70a1bebcb73d95647d353079d8f7aebd1cd7ad38be9b5ca3c3933e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f33ad0605708086d9625691ed8315134c0ad07a48dc6fb8ba23cd0129730c27ce923cfae41f88f5851e752e32bf7ca8e96c8fb854b67722abbdbdd59ab4b344e
|
7
|
+
data.tar.gz: 81e3ae358c359b3dab1879279f29db0aa302f05bc9bed8a14f33869791abd5455c5379df6f4834d624118b024f750a7cd96d402cbbe6d070a677649b4cd364c3
|
data/lib/shellopts/args.rb
CHANGED
@@ -48,6 +48,18 @@ module ShellOpts
|
|
48
48
|
end
|
49
49
|
end
|
50
50
|
|
51
|
+
# Return true args contains at least the given count or range of elements
|
52
|
+
def extract?(count_or_range)
|
53
|
+
case count_or_range
|
54
|
+
when Range
|
55
|
+
count_or_range.min <= self.size
|
56
|
+
when Integer
|
57
|
+
count_or_range.abs <= self.size
|
58
|
+
else
|
59
|
+
raise ArgumentError
|
60
|
+
end
|
61
|
+
end
|
62
|
+
|
51
63
|
# As #extract except the array is expected to be emptied by the operation.
|
52
64
|
# Raise a #inoa exception if count is negative
|
53
65
|
#
|
@@ -67,6 +79,19 @@ module ShellOpts
|
|
67
79
|
extract(count_or_range) # Can't fail
|
68
80
|
end
|
69
81
|
|
82
|
+
# Return true args contains the given count or range of elements
|
83
|
+
def expect?(count_or_range, message = nil)
|
84
|
+
case count_or_range
|
85
|
+
when Range
|
86
|
+
count_or_range === self.size
|
87
|
+
when Integer
|
88
|
+
count_or_range >= 0 or raise ArgumentError # FIXME in #expect
|
89
|
+
count_or_range.abs == self.size
|
90
|
+
else
|
91
|
+
raise ArgumentError
|
92
|
+
end
|
93
|
+
end
|
94
|
+
|
70
95
|
private
|
71
96
|
def inoa(message = nil)
|
72
97
|
message ||= "Illegal number of arguments"
|
data/lib/shellopts/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: shellopts
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.
|
4
|
+
version: 2.6.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Claus Rasmussen
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2025-05-06 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: forward_to
|