applix 0.4.10 → 0.4.11
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 +7 -0
- data/.travis.yml +2 -1
- data/Guardfile +1 -1
- data/applix.gemspec +2 -5
- data/lib/applix/version.rb +1 -1
- data/lib/applix.rb +19 -2
- data/spec/applix_spec.rb +17 -5
- metadata +63 -45
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: d3e0cc3a63efd54a150fc9261fedad236cf2e5d1
|
4
|
+
data.tar.gz: 1703a149b57fcfd93b5cdee98c66a4f53a0f9809
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: fda903579759622f6e4854c0bd61581d030908fd798202c1c7b5d81fbeeaf94e565b1e963765c12fd72457b3ecafe5131a2e2a5929aca8d0e059b232ff69e236
|
7
|
+
data.tar.gz: 5080cd1efba36a17b0386afe2d8b350c54d9815fddf822f5514b32d78350292275c4eb86175cdd58d9fd99b71159b798842efd1df83c9a276a15f4b4e7fcbea8
|
data/.travis.yml
CHANGED
data/Guardfile
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
# A sample Guardfile
|
2
2
|
# More info at https://github.com/guard/guard#readme
|
3
3
|
|
4
|
-
guard
|
4
|
+
guard :rspec, all_on_start: true, cli: '--format nested --debug --color' do
|
5
5
|
watch(%r{^spec/.+_spec\.rb$})
|
6
6
|
watch(%r{^lib/(.+)\.rb$}) { |m| "spec/lib/#{m[1]}_spec.rb" }
|
7
7
|
watch('spec/spec_helper.rb') { "spec" }
|
data/applix.gemspec
CHANGED
@@ -36,18 +36,15 @@ Gem::Specification.new do |s|
|
|
36
36
|
|
37
37
|
s.add_dependency 'daemons'
|
38
38
|
|
39
|
+
s.add_development_dependency 'bundler', '~> 1.3'
|
40
|
+
s.add_development_dependency 'rake'
|
39
41
|
s.add_development_dependency 'rspec'
|
40
42
|
s.add_development_dependency 'rspec-mocks'
|
41
|
-
s.add_development_dependency 'guard'
|
42
43
|
s.add_development_dependency 'guard-rspec'
|
43
|
-
s.add_development_dependency 'growl'
|
44
44
|
|
45
45
|
if RUBY_PLATFORM.match /java/i
|
46
46
|
s.add_development_dependency 'ruby-debug'
|
47
47
|
else
|
48
|
-
##RUBY_VERSION.match /1.9.3/ and (raise "no ruby-debug in ruby 1.9.3")
|
49
|
-
#s.add_development_dependency 'ruby-debug19'
|
50
|
-
#s.add_development_dependency 'ruby-debug-base19'
|
51
48
|
s.add_development_dependency 'debugger'
|
52
49
|
end
|
53
50
|
|
data/lib/applix/version.rb
CHANGED
data/lib/applix.rb
CHANGED
@@ -13,7 +13,9 @@ class Applix
|
|
13
13
|
rescue => e
|
14
14
|
puts <<-TXT
|
15
15
|
|
16
|
-
|
16
|
+
## #{e}
|
17
|
+
|
18
|
+
usage: #{$0} <args...>
|
17
19
|
|
18
20
|
TXT
|
19
21
|
end
|
@@ -103,7 +105,22 @@ usage: #{$0} <args...>"
|
|
103
105
|
@epilog_cb = blk
|
104
106
|
end
|
105
107
|
|
106
|
-
def any &blk
|
108
|
+
def any(opts = {}, &blk)
|
109
|
+
if(app = opts[:argsloop])
|
110
|
+
blk = lambda do |*args, opts|
|
111
|
+
while(args && 0 < args.size) do
|
112
|
+
args = begin
|
113
|
+
if(op = args.shift)
|
114
|
+
puts " --(#{op})-- (#{args.join ', '})"
|
115
|
+
app.send(op, args, opts)
|
116
|
+
end
|
117
|
+
rescue ArgumentError => e
|
118
|
+
app.send(op, opts)
|
119
|
+
end
|
120
|
+
end
|
121
|
+
end
|
122
|
+
end
|
123
|
+
|
107
124
|
tasks[:any] = { :name => :any, :code => blk }
|
108
125
|
end
|
109
126
|
|
data/spec/applix_spec.rb
CHANGED
@@ -4,8 +4,7 @@ describe Applix do
|
|
4
4
|
|
5
5
|
context 'main' do
|
6
6
|
it 'catches unknown task errors' do
|
7
|
-
expect { Applix.main(%w(no-such-task)) {} }.
|
8
|
-
should_not raise_error /no-such-task/
|
7
|
+
expect { Applix.main(%w(no-such-task)) {} }.not_to raise_error
|
9
8
|
end
|
10
9
|
|
11
10
|
context 'with captured I/O streams' do
|
@@ -16,7 +15,8 @@ describe Applix do
|
|
16
15
|
|
17
16
|
it 'suppresses the callstack on errors' do
|
18
17
|
output = capture(:stdout) { Applix.main(%w(no-such-task)) {} }
|
19
|
-
output.
|
18
|
+
output.should =~ / ## no such task:/
|
19
|
+
output.should_not =~ / !! no such task:/
|
20
20
|
end
|
21
21
|
|
22
22
|
it 'shows callstack on --debug option' do
|
@@ -26,7 +26,7 @@ describe Applix do
|
|
26
26
|
|
27
27
|
it 'dumps a stacktrace on main with a !' do
|
28
28
|
expect { Applix.main!(%w(no-such-task)) {} }.
|
29
|
-
|
29
|
+
to raise_error /no such task:/
|
30
30
|
end
|
31
31
|
end
|
32
32
|
end
|
@@ -194,6 +194,18 @@ describe Applix do
|
|
194
194
|
end
|
195
195
|
end
|
196
196
|
|
197
|
+
it 'loops over args with argsloop app option to any' do
|
198
|
+
# stubbed app simulates consuming the args while looping over app calls
|
199
|
+
app = double(:app)
|
200
|
+
app.should_receive(:a).with(%w(1 b 2 3 c 4 5 6), {}).and_return(%w(b 2 3))
|
201
|
+
app.should_receive(:b).with(%w(2 3), {}).and_return(%w(c 4 5 6))
|
202
|
+
app.should_receive(:c).with(%w(4 5 6), {}).and_return([])
|
203
|
+
Applix.main(%w(a 1 b 2 3 c 4 5 6)) do
|
204
|
+
handle(:not_called) { raise "can't possible happen" }
|
205
|
+
any(argsloop: app)
|
206
|
+
end
|
207
|
+
end
|
208
|
+
|
197
209
|
it 'should call actions by first argument names' do
|
198
210
|
argv = ['func']
|
199
211
|
Applix.main(argv) do
|
@@ -221,7 +233,7 @@ describe Applix do
|
|
221
233
|
end.should include(:a => true, :bar => true)
|
222
234
|
end
|
223
235
|
|
224
|
-
|
236
|
+
pending 'parses dashes in string options' do
|
225
237
|
end
|
226
238
|
|
227
239
|
it "should parse the old unit test..." do
|
metadata
CHANGED
@@ -1,94 +1,114 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: applix
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.4.
|
5
|
-
prerelease:
|
4
|
+
version: 0.4.11
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- art+com/dirk luesebrink
|
9
8
|
autorequire:
|
10
9
|
bindir: bin
|
11
10
|
cert_chain: []
|
12
|
-
date:
|
11
|
+
date: 2013-07-23 00:00:00.000000000 Z
|
13
12
|
dependencies:
|
14
13
|
- !ruby/object:Gem::Dependency
|
15
14
|
name: daemons
|
16
|
-
requirement:
|
17
|
-
none: false
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
18
16
|
requirements:
|
19
|
-
- -
|
17
|
+
- - '>='
|
20
18
|
- !ruby/object:Gem::Version
|
21
19
|
version: '0'
|
22
20
|
type: :runtime
|
23
21
|
prerelease: false
|
24
|
-
version_requirements:
|
25
|
-
- !ruby/object:Gem::Dependency
|
26
|
-
name: rspec
|
27
|
-
requirement: &70225028432280 !ruby/object:Gem::Requirement
|
28
|
-
none: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
29
23
|
requirements:
|
30
|
-
- -
|
24
|
+
- - '>='
|
31
25
|
- !ruby/object:Gem::Version
|
32
26
|
version: '0'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: bundler
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - ~>
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '1.3'
|
33
34
|
type: :development
|
34
35
|
prerelease: false
|
35
|
-
version_requirements:
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - ~>
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '1.3'
|
36
41
|
- !ruby/object:Gem::Dependency
|
37
|
-
name:
|
38
|
-
requirement:
|
39
|
-
none: false
|
42
|
+
name: rake
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
40
44
|
requirements:
|
41
|
-
- -
|
45
|
+
- - '>='
|
42
46
|
- !ruby/object:Gem::Version
|
43
47
|
version: '0'
|
44
48
|
type: :development
|
45
49
|
prerelease: false
|
46
|
-
version_requirements:
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - '>='
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '0'
|
47
55
|
- !ruby/object:Gem::Dependency
|
48
|
-
name:
|
49
|
-
requirement:
|
50
|
-
none: false
|
56
|
+
name: rspec
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
51
58
|
requirements:
|
52
|
-
- -
|
59
|
+
- - '>='
|
53
60
|
- !ruby/object:Gem::Version
|
54
61
|
version: '0'
|
55
62
|
type: :development
|
56
63
|
prerelease: false
|
57
|
-
version_requirements:
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - '>='
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '0'
|
58
69
|
- !ruby/object:Gem::Dependency
|
59
|
-
name:
|
60
|
-
requirement:
|
61
|
-
none: false
|
70
|
+
name: rspec-mocks
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
62
72
|
requirements:
|
63
|
-
- -
|
73
|
+
- - '>='
|
64
74
|
- !ruby/object:Gem::Version
|
65
75
|
version: '0'
|
66
76
|
type: :development
|
67
77
|
prerelease: false
|
68
|
-
version_requirements:
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - '>='
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '0'
|
69
83
|
- !ruby/object:Gem::Dependency
|
70
|
-
name:
|
71
|
-
requirement:
|
72
|
-
none: false
|
84
|
+
name: guard-rspec
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
73
86
|
requirements:
|
74
|
-
- -
|
87
|
+
- - '>='
|
75
88
|
- !ruby/object:Gem::Version
|
76
89
|
version: '0'
|
77
90
|
type: :development
|
78
91
|
prerelease: false
|
79
|
-
version_requirements:
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - '>='
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: '0'
|
80
97
|
- !ruby/object:Gem::Dependency
|
81
98
|
name: debugger
|
82
|
-
requirement:
|
83
|
-
none: false
|
99
|
+
requirement: !ruby/object:Gem::Requirement
|
84
100
|
requirements:
|
85
|
-
- -
|
101
|
+
- - '>='
|
86
102
|
- !ruby/object:Gem::Version
|
87
103
|
version: '0'
|
88
104
|
type: :development
|
89
105
|
prerelease: false
|
90
|
-
version_requirements:
|
91
|
-
|
106
|
+
version_requirements: !ruby/object:Gem::Requirement
|
107
|
+
requirements:
|
108
|
+
- - '>='
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
version: '0'
|
111
|
+
description: "\n ApplixHash#from_argv builds hashes from ARGV like argument vectors\n
|
92
112
|
\ according to following examples:\n\n '-f' --> { :f
|
93
113
|
\ => true }\n '--flag' --> { :flag => true }\n '--flag:false'
|
94
114
|
\ --> { :flag => false }\n '--flag=false' --> { :flag =>
|
@@ -128,31 +148,29 @@ files:
|
|
128
148
|
- spec/spec_helper.rb
|
129
149
|
homepage: http://github.com/crux/applix
|
130
150
|
licenses: []
|
151
|
+
metadata: {}
|
131
152
|
post_install_message:
|
132
153
|
rdoc_options: []
|
133
154
|
require_paths:
|
134
155
|
- lib
|
135
156
|
required_ruby_version: !ruby/object:Gem::Requirement
|
136
|
-
none: false
|
137
157
|
requirements:
|
138
|
-
- -
|
158
|
+
- - '>='
|
139
159
|
- !ruby/object:Gem::Version
|
140
160
|
version: '0'
|
141
161
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
142
|
-
none: false
|
143
162
|
requirements:
|
144
|
-
- -
|
163
|
+
- - '>='
|
145
164
|
- !ruby/object:Gem::Version
|
146
165
|
version: '0'
|
147
166
|
requirements: []
|
148
167
|
rubyforge_project:
|
149
|
-
rubygems_version:
|
168
|
+
rubygems_version: 2.0.3
|
150
169
|
signing_key:
|
151
|
-
specification_version:
|
170
|
+
specification_version: 4
|
152
171
|
summary: extracting typed option hashes from command line arguments
|
153
172
|
test_files:
|
154
173
|
- spec/applix_hash_spec.rb
|
155
174
|
- spec/applix_spec.rb
|
156
175
|
- spec/oattr_spec.rb
|
157
176
|
- spec/spec_helper.rb
|
158
|
-
has_rdoc:
|