slop 3.0.1 → 3.0.2
Sign up to get free protection for your applications and to get access to all the features.
- data/CHANGES.md +7 -2
- data/lib/slop.rb +4 -4
- data/slop.gemspec +1 -1
- data/test/slop_test.rb +6 -0
- metadata +1 -1
data/CHANGES.md
CHANGED
@@ -1,5 +1,10 @@
|
|
1
|
-
|
2
|
-
|
1
|
+
3.0.2 (2012-01-27)
|
2
|
+
------------------
|
3
|
+
|
4
|
+
* Ensure `--option=value` is being evaluated before multiple switches (#52)
|
5
|
+
|
6
|
+
3.0.1 (2012-01-27)
|
7
|
+
------------------
|
3
8
|
|
4
9
|
* Ensure tests run green on 1.8.7
|
5
10
|
* Ensure `:argument => :optional` works with `:option=` format.
|
data/lib/slop.rb
CHANGED
@@ -4,7 +4,7 @@ require 'slop/commands'
|
|
4
4
|
class Slop
|
5
5
|
include Enumerable
|
6
6
|
|
7
|
-
VERSION = '3.0.
|
7
|
+
VERSION = '3.0.2'
|
8
8
|
|
9
9
|
# The main Error class, all Exception classes inherit from this class.
|
10
10
|
class Error < StandardError; end
|
@@ -403,9 +403,7 @@ class Slop
|
|
403
403
|
@trash << index
|
404
404
|
@triggered_options << option
|
405
405
|
|
406
|
-
if
|
407
|
-
execute_multiple_switches(option, argument, index)
|
408
|
-
elsif option.expects_argument?
|
406
|
+
if option.expects_argument?
|
409
407
|
argument ||= items.at(index + 1)
|
410
408
|
|
411
409
|
if !argument || argument =~ /\A--?[a-zA-Z][a-zA-Z0-9_-]*\z/
|
@@ -421,6 +419,8 @@ class Slop
|
|
421
419
|
else
|
422
420
|
option.call(nil)
|
423
421
|
end
|
422
|
+
elsif config[:multiple_switches] && argument
|
423
|
+
execute_multiple_switches(option, argument, index)
|
424
424
|
else
|
425
425
|
option.call(nil)
|
426
426
|
end
|
data/slop.gemspec
CHANGED
data/test/slop_test.rb
CHANGED
@@ -43,6 +43,12 @@ class SlopTest < TestCase
|
|
43
43
|
assert_equal [nil, 'foo', nil, {:optional_argument=>true}], build_option('foo=?')
|
44
44
|
end
|
45
45
|
|
46
|
+
test "parsing option=value" do
|
47
|
+
slop = Slop.new { on :foo= }
|
48
|
+
slop.parse %w' --foo=bar '
|
49
|
+
assert_equal 'bar', slop[:foo]
|
50
|
+
end
|
51
|
+
|
46
52
|
test "fetch_option" do
|
47
53
|
slop = Slop.new
|
48
54
|
opt1 = slop.on :f, :foo
|