tins 0.4.1 → 0.4.2
Sign up to get free protection for your applications and to get access to all the features.
- data/VERSION +1 -1
- data/lib/tins/go.rb +1 -1
- data/lib/tins/version.rb +1 -1
- data/tests/go_test.rb +12 -6
- data/tins.gemspec +1 -1
- metadata +2 -2
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.4.
|
1
|
+
0.4.2
|
data/lib/tins/go.rb
CHANGED
@@ -24,7 +24,6 @@ module Tins
|
|
24
24
|
# An option hash is returned with all found options set to true or the
|
25
25
|
# found option argument.
|
26
26
|
def go(s, args = ARGV)
|
27
|
-
args = args.map(&:dup)
|
28
27
|
b, v = s.scan(/(.)(:?)/).inject([ {}, {} ]) { |t, (o, a)|
|
29
28
|
a = a == ':'
|
30
29
|
t[a ? 1 : 0][o] = a ? nil : false
|
@@ -42,6 +41,7 @@ module Tins
|
|
42
41
|
a = p
|
43
42
|
end
|
44
43
|
if v[o].nil?
|
44
|
+
a = a.dup
|
45
45
|
a.extend EnumerableExtension
|
46
46
|
a.push a
|
47
47
|
v[o] = a
|
data/lib/tins/version.rb
CHANGED
data/tests/go_test.rb
CHANGED
@@ -7,38 +7,44 @@ module Tins
|
|
7
7
|
|
8
8
|
|
9
9
|
def test_empty_string
|
10
|
-
r = go '', %w[a b c]
|
10
|
+
r = go '', args = %w[a b c]
|
11
11
|
assert_equal({}, r)
|
12
|
+
assert_equal %w[a b c], args
|
12
13
|
end
|
13
14
|
|
14
15
|
def test_empty_args
|
15
|
-
r = go 'ab:', []
|
16
|
+
r = go 'ab:', args = []
|
16
17
|
assert_equal({ 'a' => false, 'b' => nil }, r)
|
18
|
+
assert_equal [], args
|
17
19
|
end
|
18
20
|
|
19
21
|
def test_simple
|
20
|
-
r = go 'ab:', %w[-b hello -a -c]
|
22
|
+
r = go 'ab:', args = %w[-b hello -a -c rest]
|
21
23
|
assert_equal({ 'a' => 1, 'b' => 'hello' }, r)
|
24
|
+
assert_equal %w[-c rest], args
|
22
25
|
end
|
23
26
|
|
24
27
|
def test_complex
|
25
|
-
r = go 'ab:', %w[-a -b hello -a -bworld -c]
|
28
|
+
r = go 'ab:', args = %w[-a -b hello -a -bworld -c rest]
|
26
29
|
assert_equal({ 'a' => 2, 'b' => 'hello' }, r)
|
27
30
|
assert_equal %w[hello world], r['b'].to_a
|
31
|
+
assert_equal %w[-c rest], args
|
28
32
|
end
|
29
33
|
|
30
34
|
def test_complex2
|
31
|
-
r = go 'ab:', %w[-b hello -aa -b world -c]
|
35
|
+
r = go 'ab:', args = %w[-b hello -aa -b world -c rest]
|
32
36
|
assert_equal({ 'a' => 2, 'b' => 'hello' }, r)
|
33
37
|
assert_equal %w[hello world], r['b'].to_a
|
38
|
+
assert_equal %w[-c rest], args
|
34
39
|
end
|
35
40
|
|
36
41
|
def test_complex_frozen
|
37
|
-
args = %w[-b hello -aa -b world -c]
|
42
|
+
args = %w[-b hello -aa -b world -c rest]
|
38
43
|
args = args.map(&:freeze)
|
39
44
|
r = go 'ab:', args
|
40
45
|
assert_equal({ 'a' => 2, 'b' => 'hello' }, r)
|
41
46
|
assert_equal %w[hello world], r['b'].to_a
|
47
|
+
assert_equal %w[-c rest], args
|
42
48
|
end
|
43
49
|
end
|
44
50
|
end
|
data/tins.gemspec
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: tins
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.4.
|
4
|
+
version: 0.4.2
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -351,7 +351,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
351
351
|
version: '0'
|
352
352
|
segments:
|
353
353
|
- 0
|
354
|
-
hash:
|
354
|
+
hash: 543401061264393695
|
355
355
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
356
356
|
none: false
|
357
357
|
requirements:
|