slop 1.5.1 → 1.5.2
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.
- data/lib/slop.rb +8 -1
- data/lib/slop/option.rb +2 -1
- data/lib/slop/options.rb +3 -3
- data/test/slop_test.rb +2 -0
- metadata +2 -2
data/lib/slop.rb
CHANGED
@@ -16,7 +16,7 @@ class Slop
|
|
16
16
|
class InvalidOptionError < RuntimeError; end
|
17
17
|
|
18
18
|
# @return [String] The current version string
|
19
|
-
VERSION = '1.5.
|
19
|
+
VERSION = '1.5.2'
|
20
20
|
|
21
21
|
# Parses the items from a CLI format into a friendly object.
|
22
22
|
#
|
@@ -47,7 +47,12 @@ class Slop
|
|
47
47
|
# @return [Hash]
|
48
48
|
attr_reader :commands
|
49
49
|
|
50
|
+
# @overload banner=(string)
|
51
|
+
# Set the banner
|
52
|
+
# @param [String] string The text to set the banner to
|
50
53
|
attr_writer :banner
|
54
|
+
|
55
|
+
# @return [Integer] The length of the longest flag slop knows of
|
51
56
|
attr_accessor :longest_flag
|
52
57
|
|
53
58
|
# @param [Hash] options
|
@@ -179,6 +184,7 @@ class Slop
|
|
179
184
|
#
|
180
185
|
# # ARGV is `create -v`
|
181
186
|
# opts.commands[:create].verbose? #=> true
|
187
|
+
# @since 1.5.0
|
182
188
|
# @return [Slop] a new instance of Slop namespaced to +label+
|
183
189
|
def command(label, options={}, &block)
|
184
190
|
if @commands[label]
|
@@ -204,6 +210,7 @@ class Slop
|
|
204
210
|
# Slop.parse do
|
205
211
|
# on_empty { puts 'No argument given!' }
|
206
212
|
# end
|
213
|
+
# @since 1.5.0
|
207
214
|
def on_empty(obj=nil, &block)
|
208
215
|
@on_empty ||= (obj || block)
|
209
216
|
end
|
data/lib/slop/option.rb
CHANGED
@@ -23,6 +23,7 @@ class Slop
|
|
23
23
|
|
24
24
|
# @overload argument_value=(value)
|
25
25
|
# Set this options argument value
|
26
|
+
# @param [Object] value The value you'd like applied to this option
|
26
27
|
attr_writer :argument_value
|
27
28
|
|
28
29
|
# @param [Slop] slop
|
@@ -159,4 +160,4 @@ class Slop
|
|
159
160
|
end
|
160
161
|
end
|
161
162
|
end
|
162
|
-
end
|
163
|
+
end
|
data/lib/slop/options.rb
CHANGED
@@ -17,8 +17,8 @@ class Slop
|
|
17
17
|
# @return [Option] the option assoiated with this flag
|
18
18
|
def [](flag)
|
19
19
|
item = flag.to_s
|
20
|
-
if
|
21
|
-
slice
|
20
|
+
if flag.is_a?(Integer)
|
21
|
+
slice flag
|
22
22
|
else
|
23
23
|
find do |option|
|
24
24
|
option.short_flag == item || option.long_flag == item
|
@@ -34,4 +34,4 @@ class Slop
|
|
34
34
|
(heads + tails).map(&:to_s).join("\n")
|
35
35
|
end
|
36
36
|
end
|
37
|
-
end
|
37
|
+
end
|
data/test/slop_test.rb
CHANGED
@@ -247,6 +247,8 @@ class SlopTest < TestCase
|
|
247
247
|
assert_kind_of Slop::Option, slop.options[:foo]
|
248
248
|
assert_equal "bar", slop[:foo]
|
249
249
|
assert_equal "bar", slop['foo']
|
250
|
+
assert_kind_of Slop::Option, slop.options[0]
|
251
|
+
assert_nil slop.options['0']
|
250
252
|
end
|
251
253
|
|
252
254
|
test 'printing help' do
|
metadata
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
name: slop
|
3
3
|
version: !ruby/object:Gem::Version
|
4
4
|
prerelease:
|
5
|
-
version: 1.5.
|
5
|
+
version: 1.5.2
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
8
8
|
- Lee Jarvis
|
@@ -10,7 +10,7 @@ autorequire:
|
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
12
|
|
13
|
-
date: 2011-04-
|
13
|
+
date: 2011-04-18 00:00:00 +01:00
|
14
14
|
default_executable:
|
15
15
|
dependencies: []
|
16
16
|
|