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 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: