applix 0.4.10 → 0.4.11

Sign up to get free protection for your applications and to get access to all the features.
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
@@ -1,6 +1,7 @@
1
1
  language: ruby
2
+ bundler_args: --without debug
2
3
  rvm:
3
- # - 1.9.2
4
+ - 1.9.2
4
5
  - 1.9.3 # switched to debugger gem
5
6
  - jruby-19mode # JRuby in 1.9 mode
6
7
  # uncomment this line if your project needs to run something other than `rake`:
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 'rspec', :version => 2, :cli => '-d' do
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
 
@@ -1,5 +1,5 @@
1
1
  # gem version is extracted automatically from this class during the build
2
2
  # process
3
3
  class Applix
4
- VERSION = '0.4.10'
4
+ VERSION = '0.4.11'
5
5
  end
data/lib/applix.rb CHANGED
@@ -13,7 +13,9 @@ class Applix
13
13
  rescue => e
14
14
  puts <<-TXT
15
15
 
16
- usage: #{$0} <args...>"
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.should_not =~ /no such task:/
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
- should raise_error /no such task:/
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
- it 'parses dashes in string options' do
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.10
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: 2012-05-29 00:00:00.000000000Z
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: &70225028432700 !ruby/object:Gem::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: *70225028432700
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: *70225028432280
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: rspec-mocks
38
- requirement: &70225028431860 !ruby/object:Gem::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: *70225028431860
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: guard
49
- requirement: &70225028431440 !ruby/object:Gem::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: *70225028431440
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: guard-rspec
60
- requirement: &70225028463500 !ruby/object:Gem::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: *70225028463500
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: growl
71
- requirement: &70225028463080 !ruby/object:Gem::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: *70225028463080
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: &70225028462640 !ruby/object:Gem::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: *70225028462640
91
- description: ! "\n ApplixHash#from_argv builds hashes from ARGV like argument vectors\n
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: 1.8.15
168
+ rubygems_version: 2.0.3
150
169
  signing_key:
151
- specification_version: 3
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: