gli 2.0.0.rc4 → 2.0.0.rc5

Sign up to get free protection for your applications and to get access to all the features.
@@ -106,14 +106,17 @@ module GLI
106
106
  # args:: unparsed command-line args
107
107
  # code:: a block that you must +call+ to execute the command.
108
108
  #
109
- # #help_now! and #exit_now! work as expected; you can abort the command call by simply not calling it
109
+ # #help_now! and #exit_now! work as expected; you can abort the command call by simply not calling it.
110
110
  #
111
- # Note that if you declare an #around block, #pre and #post blocks will still work. The #pre is called first, followed by
111
+ # You can declare as many #around blocks as you want. They will be called in the order in which they are defined.
112
+ #
113
+ # Note that if you declare #around blocks, #pre and #post blocks will still work. The #pre is called first, followed by
112
114
  # the around, followed by the #post.
113
115
  #
114
116
  # Call #skips_around before a command that should not have this hook fired
115
117
  def around(&a_proc)
116
- @around_block = a_proc
118
+ @around_blocks ||= []
119
+ @around_blocks << a_proc
117
120
  end
118
121
 
119
122
  # Define a block to run if an error occurs.
@@ -127,10 +127,8 @@ module GLI
127
127
  end
128
128
  end
129
129
 
130
- def around_block
131
- @around_block ||= Proc.new do |global,command,options,args,code|
132
- code.call
133
- end
130
+ def around_blocks
131
+ @around_blocks || []
134
132
  end
135
133
 
136
134
  # Sets the default values for flags based on the configuration
@@ -224,11 +222,21 @@ module GLI
224
222
  def call_command(command,global_options,options,arguments)
225
223
  arguments = arguments.map { |arg| arg.dup } # unfreeze
226
224
  code = lambda { command.execute(global_options,options,arguments) }
227
- if command.skips_around
228
- code.call
225
+ nested_arounds = unless command.skips_around
226
+ around_blocks.inject do |outer_around, inner_around|
227
+ lambda { |go,c,o,a, code1|
228
+ inner = lambda { inner_around.call(go,c,o,a, code1) }
229
+ outer_around.call(go,c,o,a, inner)
230
+ }
231
+ end
232
+ end
233
+
234
+ if nested_arounds
235
+ nested_arounds.call(global_options,command, options, arguments, code)
229
236
  else
230
- around_block.call(global_options,command,options,arguments,code)
237
+ code.call
231
238
  end
239
+
232
240
  unless command.skips_post
233
241
  post_block.call(global_options,command,options,arguments)
234
242
  end
@@ -1,5 +1,5 @@
1
1
  module GLI
2
2
  unless const_defined? :VERSION
3
- VERSION = '2.0.0.rc4' #:nodoc:
3
+ VERSION = '2.0.0.rc5' #:nodoc:
4
4
  end
5
5
  end
@@ -146,11 +146,79 @@ class TC_testCommand < Clean::Test::TestCase
146
146
  exit_status = @app.run(['uses_around_filter'])
147
147
 
148
148
  # Then
149
- assert_equal 0,exit_status
149
+ assert_equal 0, exit_status
150
150
  assert(@around_block_called, "Wrapper block should have been called")
151
151
  assert(@action_called,"Action should have been called")
152
152
  end
153
153
 
154
+ def test_around_filter_can_be_nested
155
+ @calls = []
156
+
157
+ @app.around do |global_options, command, options, arguments, code|
158
+ @calls << "first_pre"
159
+ code.call
160
+ @calls << "first_post"
161
+ end
162
+
163
+ @app.around do |global_options, command, options, arguments, code|
164
+ @calls << "second_pre"
165
+ code.call
166
+ @calls << "second_post"
167
+ end
168
+
169
+ @app.around do |global_options, command, options, arguments, code|
170
+ @calls << "third_pre"
171
+ code.call
172
+ @calls << "third_post"
173
+ end
174
+
175
+ @app.command :with_multiple_around_filters do |c|
176
+ c.action do |g,o,a|
177
+ @calls << "action!"
178
+ end
179
+ end
180
+
181
+ @app.run(['with_multiple_around_filters'])
182
+
183
+ assert_equal ["first_pre", "second_pre", "third_pre", "action!", "third_post", "second_post", "first_post"], @calls
184
+ end
185
+
186
+ def test_skipping_nested_around_filters
187
+ @calls = []
188
+
189
+ @app.around do |global_options, command, options, arguments, code|
190
+ begin
191
+ @calls << "first_pre"
192
+ code.call
193
+ ensure
194
+ @calls << "first_post"
195
+ end
196
+ end
197
+
198
+ @app.around do |global_options, command, options, arguments, code|
199
+ @calls << "second_pre"
200
+ code.call
201
+ @calls << "second_post"
202
+ end
203
+
204
+ @app.around do |global_options, command, options, arguments, code|
205
+ @calls << "third_pre"
206
+ code.call
207
+ exit_now!
208
+ @calls << "third_post"
209
+ end
210
+
211
+ @app.command :with_multiple_around_filters do |c|
212
+ c.action do |g,o,a|
213
+ @calls << "action!"
214
+ end
215
+ end
216
+
217
+ @app.run(['with_multiple_around_filters'])
218
+
219
+ assert_equal ["first_pre", "second_pre", "third_pre", "action!", "first_post"], @calls
220
+ end
221
+
154
222
  def test_around_filter_handles_exit_now
155
223
  @around_block_called = false
156
224
  @error_message = "OH NOES"
@@ -234,18 +234,6 @@ class TC_testGLI < Clean::Test::TestCase
234
234
  do_test_switch_create_twice(@app)
235
235
  do_test_switch_create_twice(Command.new(:names => :f))
236
236
  end
237
-
238
- def test_non_negatable_negative_switch
239
- @app.reset
240
- @app.on_error { |ex| raise ex }
241
- @app.switch 'no-color', :negatable => false
242
- @app.command :smth do |c|
243
- c.action do |global, *args|
244
- assert global[:"no-color"], "Expected :'no-color' switch to be true"
245
- end
246
- end
247
- @app.run(%w(--no-color smth))
248
- end
249
237
 
250
238
  def test_all_aliases_in_options
251
239
  @app.reset
metadata CHANGED
@@ -1,424 +1,318 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: gli
3
- version: !ruby/object:Gem::Version
4
- version: 2.0.0.rc4
3
+ version: !ruby/object:Gem::Version
4
+ hash: 60398633
5
5
  prerelease: 6
6
+ segments:
7
+ - 2
8
+ - 0
9
+ - 0
10
+ - rc
11
+ - 5
12
+ version: 2.0.0.rc5
6
13
  platform: ruby
7
- authors:
14
+ authors:
8
15
  - David Copeland
9
16
  autorequire:
10
17
  bindir: bin
11
18
  cert_chain: []
12
- date: 2012-06-09 00:00:00.000000000 Z
13
- dependencies:
14
- - !ruby/object:Gem::Dependency
15
- name: rake
16
- requirement: !ruby/object:Gem::Requirement
19
+
20
+ date: 2012-07-07 00:00:00 Z
21
+ dependencies:
22
+ - !ruby/object:Gem::Dependency
23
+ version_requirements: &id001 !ruby/object:Gem::Requirement
17
24
  none: false
18
- requirements:
25
+ requirements:
19
26
  - - ~>
20
- - !ruby/object:Gem::Version
27
+ - !ruby/object:Gem::Version
28
+ hash: 11
29
+ segments:
30
+ - 0
31
+ - 9
32
+ - 2
33
+ - 2
21
34
  version: 0.9.2.2
22
- type: :development
23
35
  prerelease: false
24
- version_requirements: !ruby/object:Gem::Requirement
36
+ type: :development
37
+ name: rake
38
+ requirement: *id001
39
+ - !ruby/object:Gem::Dependency
40
+ version_requirements: &id002 !ruby/object:Gem::Requirement
25
41
  none: false
26
- requirements:
42
+ requirements:
27
43
  - - ~>
28
- - !ruby/object:Gem::Version
29
- version: 0.9.2.2
30
- - !ruby/object:Gem::Dependency
44
+ - !ruby/object:Gem::Version
45
+ hash: 17
46
+ segments:
47
+ - 3
48
+ - 11
49
+ version: "3.11"
50
+ prerelease: false
51
+ type: :development
31
52
  name: rdoc
32
- requirement: !ruby/object:Gem::Requirement
53
+ requirement: *id002
54
+ - !ruby/object:Gem::Dependency
55
+ version_requirements: &id003 !ruby/object:Gem::Requirement
33
56
  none: false
34
- requirements:
57
+ requirements:
35
58
  - - ~>
36
- - !ruby/object:Gem::Version
37
- version: '3.11'
38
- type: :development
59
+ - !ruby/object:Gem::Version
60
+ hash: 11
61
+ segments:
62
+ - 2
63
+ - 1
64
+ - 0
65
+ version: 2.1.0
39
66
  prerelease: false
40
- version_requirements: !ruby/object:Gem::Requirement
41
- none: false
42
- requirements:
43
- - - ~>
44
- - !ruby/object:Gem::Version
45
- version: '3.11'
46
- - !ruby/object:Gem::Dependency
67
+ type: :development
47
68
  name: roodi
48
- requirement: !ruby/object:Gem::Requirement
69
+ requirement: *id003
70
+ - !ruby/object:Gem::Dependency
71
+ version_requirements: &id004 !ruby/object:Gem::Requirement
49
72
  none: false
50
- requirements:
51
- - - ~>
52
- - !ruby/object:Gem::Version
53
- version: 2.1.0
54
- type: :development
73
+ requirements:
74
+ - - ">="
75
+ - !ruby/object:Gem::Version
76
+ hash: 3
77
+ segments:
78
+ - 0
79
+ version: "0"
55
80
  prerelease: false
56
- version_requirements: !ruby/object:Gem::Requirement
57
- none: false
58
- requirements:
59
- - - ~>
60
- - !ruby/object:Gem::Version
61
- version: 2.1.0
62
- - !ruby/object:Gem::Dependency
63
- name: reek
64
- requirement: !ruby/object:Gem::Requirement
65
- none: false
66
- requirements:
67
- - - ! '>='
68
- - !ruby/object:Gem::Version
69
- version: '0'
70
81
  type: :development
71
- prerelease: false
72
- version_requirements: !ruby/object:Gem::Requirement
73
- none: false
74
- requirements:
75
- - - ! '>='
76
- - !ruby/object:Gem::Version
77
- version: '0'
78
- - !ruby/object:Gem::Dependency
79
- name: grancher
80
- requirement: !ruby/object:Gem::Requirement
82
+ name: reek
83
+ requirement: *id004
84
+ - !ruby/object:Gem::Dependency
85
+ version_requirements: &id005 !ruby/object:Gem::Requirement
81
86
  none: false
82
- requirements:
87
+ requirements:
83
88
  - - ~>
84
- - !ruby/object:Gem::Version
89
+ - !ruby/object:Gem::Version
90
+ hash: 17
91
+ segments:
92
+ - 0
93
+ - 1
94
+ - 5
85
95
  version: 0.1.5
86
- type: :development
87
96
  prerelease: false
88
- version_requirements: !ruby/object:Gem::Requirement
89
- none: false
90
- requirements:
91
- - - ~>
92
- - !ruby/object:Gem::Version
93
- version: 0.1.5
94
- - !ruby/object:Gem::Dependency
95
- name: rainbow
96
- requirement: !ruby/object:Gem::Requirement
97
- none: false
98
- requirements:
99
- - - ~>
100
- - !ruby/object:Gem::Version
101
- version: 1.1.1
102
97
  type: :development
103
- prerelease: false
104
- version_requirements: !ruby/object:Gem::Requirement
98
+ name: grancher
99
+ requirement: *id005
100
+ - !ruby/object:Gem::Dependency
101
+ version_requirements: &id006 !ruby/object:Gem::Requirement
105
102
  none: false
106
- requirements:
103
+ requirements:
107
104
  - - ~>
108
- - !ruby/object:Gem::Version
105
+ - !ruby/object:Gem::Version
106
+ hash: 17
107
+ segments:
108
+ - 1
109
+ - 1
110
+ - 1
109
111
  version: 1.1.1
110
- - !ruby/object:Gem::Dependency
111
- name: clean_test
112
- requirement: !ruby/object:Gem::Requirement
113
- none: false
114
- requirements:
115
- - - ! '>='
116
- - !ruby/object:Gem::Version
117
- version: '0'
118
- type: :development
119
112
  prerelease: false
120
- version_requirements: !ruby/object:Gem::Requirement
121
- none: false
122
- requirements:
123
- - - ! '>='
124
- - !ruby/object:Gem::Version
125
- version: '0'
126
- - !ruby/object:Gem::Dependency
127
- name: aruba
128
- requirement: !ruby/object:Gem::Requirement
129
- none: false
130
- requirements:
131
- - - ~>
132
- - !ruby/object:Gem::Version
133
- version: 0.4.7
134
113
  type: :development
114
+ name: rainbow
115
+ requirement: *id006
116
+ - !ruby/object:Gem::Dependency
117
+ version_requirements: &id007 !ruby/object:Gem::Requirement
118
+ none: false
119
+ requirements:
120
+ - - ">="
121
+ - !ruby/object:Gem::Version
122
+ hash: 3
123
+ segments:
124
+ - 0
125
+ version: "0"
135
126
  prerelease: false
136
- version_requirements: !ruby/object:Gem::Requirement
127
+ type: :development
128
+ name: clean_test
129
+ requirement: *id007
130
+ - !ruby/object:Gem::Dependency
131
+ version_requirements: &id008 !ruby/object:Gem::Requirement
137
132
  none: false
138
- requirements:
133
+ requirements:
139
134
  - - ~>
140
- - !ruby/object:Gem::Version
135
+ - !ruby/object:Gem::Version
136
+ hash: 1
137
+ segments:
138
+ - 0
139
+ - 4
140
+ - 7
141
141
  version: 0.4.7
142
- - !ruby/object:Gem::Dependency
143
- name: sdoc
144
- requirement: !ruby/object:Gem::Requirement
145
- none: false
146
- requirements:
147
- - - ! '>='
148
- - !ruby/object:Gem::Version
149
- version: '0'
150
- type: :development
151
142
  prerelease: false
152
- version_requirements: !ruby/object:Gem::Requirement
143
+ type: :development
144
+ name: aruba
145
+ requirement: *id008
146
+ - !ruby/object:Gem::Dependency
147
+ version_requirements: &id009 !ruby/object:Gem::Requirement
153
148
  none: false
154
- requirements:
155
- - - ! '>='
156
- - !ruby/object:Gem::Version
157
- version: '0'
158
- description: An application and API for describing command line interfaces that can
159
- be used to quickly create a shell for executing command-line tasks. The command
160
- line user interface is similar to Gits, in that it takes global options, a command,
161
- command-specific options, and arguments
149
+ requirements:
150
+ - - ">="
151
+ - !ruby/object:Gem::Version
152
+ hash: 3
153
+ segments:
154
+ - 0
155
+ version: "0"
156
+ prerelease: false
157
+ type: :development
158
+ name: sdoc
159
+ requirement: *id009
160
+ description: An application and API for describing command line interfaces that can be used to quickly create a shell for executing command-line tasks. The command line user interface is similar to Gits, in that it takes global options, a command, command-specific options, and arguments
162
161
  email: davidcopeland@naildrivin5.com
163
- executables:
162
+ executables:
164
163
  - gli
165
164
  extensions: []
166
- extra_rdoc_files:
165
+
166
+ extra_rdoc_files:
167
+ - README.rdoc
168
+ - gli.rdoc
169
+ files:
170
+ - .gitignore
171
+ - .rvmrc
172
+ - .travis.yml
173
+ - Gemfile
174
+ - LICENSE.txt
175
+ - ObjectModel.graffle
167
176
  - README.rdoc
177
+ - Rakefile
178
+ - bin/gli
179
+ - bin/report_on_rake_results
180
+ - bin/test_all_rubies.sh
181
+ - features/gli_executable.feature
182
+ - features/gli_init.feature
183
+ - features/step_definitions/gli_executable_steps.rb
184
+ - features/step_definitions/gli_init_steps.rb
185
+ - features/step_definitions/todo_steps.rb
186
+ - features/support/env.rb
187
+ - features/todo.feature
188
+ - gli.cheat
189
+ - gli.gemspec
168
190
  - gli.rdoc
169
- files:
170
- - !binary |-
171
- LmdpdGlnbm9yZQ==
172
- - !binary |-
173
- LnJ2bXJj
174
- - !binary |-
175
- LnRyYXZpcy55bWw=
176
- - !binary |-
177
- R2VtZmlsZQ==
178
- - !binary |-
179
- TElDRU5TRS50eHQ=
180
- - !binary |-
181
- T2JqZWN0TW9kZWwuZ3JhZmZsZQ==
182
- - !binary |-
183
- UkVBRE1FLnJkb2M=
184
- - !binary |-
185
- UmFrZWZpbGU=
186
- - !binary |-
187
- YmluL2dsaQ==
188
- - !binary |-
189
- YmluL3JlcG9ydF9vbl9yYWtlX3Jlc3VsdHM=
190
- - !binary |-
191
- YmluL3Rlc3RfYWxsX3J1Ymllcy5zaA==
192
- - !binary |-
193
- ZmVhdHVyZXMvZ2xpX2V4ZWN1dGFibGUuZmVhdHVyZQ==
194
- - !binary |-
195
- ZmVhdHVyZXMvZ2xpX2luaXQuZmVhdHVyZQ==
196
- - !binary |-
197
- ZmVhdHVyZXMvc3RlcF9kZWZpbml0aW9ucy9nbGlfZXhlY3V0YWJsZV9zdGVw
198
- cy5yYg==
199
- - !binary |-
200
- ZmVhdHVyZXMvc3RlcF9kZWZpbml0aW9ucy9nbGlfaW5pdF9zdGVwcy5yYg==
201
- - !binary |-
202
- ZmVhdHVyZXMvc3RlcF9kZWZpbml0aW9ucy90b2RvX3N0ZXBzLnJi
203
- - !binary |-
204
- ZmVhdHVyZXMvc3VwcG9ydC9lbnYucmI=
205
- - !binary |-
206
- ZmVhdHVyZXMvdG9kby5mZWF0dXJl
207
- - !binary |-
208
- Z2xpLmNoZWF0
209
- - !binary |-
210
- Z2xpLmdlbXNwZWM=
211
- - !binary |-
212
- Z2xpLnJkb2M=
213
- - !binary |-
214
- bGliL2dsaS5yYg==
215
- - !binary |-
216
- bGliL2dsaS9hcHAucmI=
217
- - !binary |-
218
- bGliL2dsaS9hcHBfc3VwcG9ydC5yYg==
219
- - !binary |-
220
- bGliL2dsaS9jb21tYW5kLnJi
221
- - !binary |-
222
- bGliL2dsaS9jb21tYW5kX2xpbmVfb3B0aW9uLnJi
223
- - !binary |-
224
- bGliL2dsaS9jb21tYW5kX2xpbmVfdG9rZW4ucmI=
225
- - !binary |-
226
- bGliL2dsaS9jb21tYW5kX3N1cHBvcnQucmI=
227
- - !binary |-
228
- bGliL2dsaS9jb21tYW5kcy9jb21wb3VuZF9jb21tYW5kLnJi
229
- - !binary |-
230
- bGliL2dsaS9jb21tYW5kcy9oZWxwLnJi
231
- - !binary |-
232
- bGliL2dsaS9jb21tYW5kcy9oZWxwX21vZHVsZXMvY29tbWFuZF9oZWxwX2Zv
233
- cm1hdC5yYg==
234
- - !binary |-
235
- bGliL2dsaS9jb21tYW5kcy9oZWxwX21vZHVsZXMvZ2xvYmFsX2hlbHBfZm9y
236
- bWF0LnJi
237
- - !binary |-
238
- bGliL2dsaS9jb21tYW5kcy9oZWxwX21vZHVsZXMvbGlzdF9mb3JtYXR0ZXIu
239
- cmI=
240
- - !binary |-
241
- bGliL2dsaS9jb21tYW5kcy9oZWxwX21vZHVsZXMvb3B0aW9uc19mb3JtYXR0
242
- ZXIucmI=
243
- - !binary |-
244
- bGliL2dsaS9jb21tYW5kcy9oZWxwX21vZHVsZXMvdGV4dF93cmFwcGVyLnJi
245
- - !binary |-
246
- bGliL2dsaS9jb21tYW5kcy9pbml0Y29uZmlnLnJi
247
- - !binary |-
248
- bGliL2dsaS9jb21tYW5kcy9zY2FmZm9sZC5yYg==
249
- - !binary |-
250
- bGliL2dsaS9jb3B5X29wdGlvbnNfdG9fYWxpYXNlcy5yYg==
251
- - !binary |-
252
- bGliL2dsaS9kc2wucmI=
253
- - !binary |-
254
- bGliL2dsaS9leGNlcHRpb25zLnJi
255
- - !binary |-
256
- bGliL2dsaS9mbGFnLnJi
257
- - !binary |-
258
- bGliL2dsaS9nbGlfb3B0aW9uX3BhcnNlci5yYg==
259
- - !binary |-
260
- bGliL2dsaS9vcHRpb25fcGFyc2VyX2ZhY3RvcnkucmI=
261
- - !binary |-
262
- bGliL2dsaS9vcHRpb25zLnJi
263
- - !binary |-
264
- bGliL2dsaS9zd2l0Y2gucmI=
265
- - !binary |-
266
- bGliL2dsaS90ZXJtaW5hbC5yYg==
267
- - !binary |-
268
- bGliL2dsaS92ZXJzaW9uLnJi
269
- - !binary |-
270
- dGVzdC9hcHBzL1JFQURNRS5tZA==
271
- - !binary |-
272
- dGVzdC9hcHBzL3RvZG8vR2VtZmlsZQ==
273
- - !binary |-
274
- dGVzdC9hcHBzL3RvZG8vUkVBRE1FLnJkb2M=
275
- - !binary |-
276
- dGVzdC9hcHBzL3RvZG8vUmFrZWZpbGU=
277
- - !binary |-
278
- dGVzdC9hcHBzL3RvZG8vYmluL3RvZG8=
279
- - !binary |-
280
- dGVzdC9hcHBzL3RvZG8vbGliL3RvZG8vY29tbWFuZHMvY3JlYXRlLnJi
281
- - !binary |-
282
- dGVzdC9hcHBzL3RvZG8vbGliL3RvZG8vY29tbWFuZHMvbGlzdC5yYg==
283
- - !binary |-
284
- dGVzdC9hcHBzL3RvZG8vbGliL3RvZG8vY29tbWFuZHMvbHMucmI=
285
- - !binary |-
286
- dGVzdC9hcHBzL3RvZG8vbGliL3RvZG8vdmVyc2lvbi5yYg==
287
- - !binary |-
288
- dGVzdC9hcHBzL3RvZG8vdGVzdC90Y19ub3RoaW5nLnJi
289
- - !binary |-
290
- dGVzdC9hcHBzL3RvZG8vdG9kby5nZW1zcGVj
291
- - !binary |-
292
- dGVzdC9hcHBzL3RvZG8vdG9kby5yZG9j
293
- - !binary |-
294
- dGVzdC9jb25maWcueWFtbA==
295
- - !binary |-
296
- dGVzdC9mYWtlX3N0ZF9vdXQucmI=
297
- - !binary |-
298
- dGVzdC9nbGkucmVlaw==
299
- - !binary |-
300
- dGVzdC9pbml0X3NpbXBsZWNvdi5yYg==
301
- - !binary |-
302
- dGVzdC9vcHRpb25fdGVzdF9oZWxwZXIucmI=
303
- - !binary |-
304
- dGVzdC9yb29kaS55YW1s
305
- - !binary |-
306
- dGVzdC90Y19jb21tYW5kLnJi
307
- - !binary |-
308
- dGVzdC90Y19jb21wb3VudF9jb21tYW5kLnJi
309
- - !binary |-
310
- dGVzdC90Y19mbGFnLnJi
311
- - !binary |-
312
- dGVzdC90Y19nbGkucmI=
313
- - !binary |-
314
- dGVzdC90Y19oZWxwLnJi
315
- - !binary |-
316
- dGVzdC90Y19vcHRpb25zLnJi
317
- - !binary |-
318
- dGVzdC90Y19zdWJjb21tYW5kcy5yYg==
319
- - !binary |-
320
- dGVzdC90Y19zd2l0Y2gucmI=
321
- - !binary |-
322
- dGVzdC90Y190ZXJtaW5hbC5yYg==
323
- - !binary |-
324
- dGVzdC90ZXN0X2hlbHBlci5yYg==
191
+ - lib/gli.rb
192
+ - lib/gli/app.rb
193
+ - lib/gli/app_support.rb
194
+ - lib/gli/command.rb
195
+ - lib/gli/command_line_option.rb
196
+ - lib/gli/command_line_token.rb
197
+ - lib/gli/command_support.rb
198
+ - lib/gli/commands/compound_command.rb
199
+ - lib/gli/commands/help.rb
200
+ - lib/gli/commands/help_modules/command_help_format.rb
201
+ - lib/gli/commands/help_modules/global_help_format.rb
202
+ - lib/gli/commands/help_modules/list_formatter.rb
203
+ - lib/gli/commands/help_modules/options_formatter.rb
204
+ - lib/gli/commands/help_modules/text_wrapper.rb
205
+ - lib/gli/commands/initconfig.rb
206
+ - lib/gli/commands/scaffold.rb
207
+ - lib/gli/copy_options_to_aliases.rb
208
+ - lib/gli/dsl.rb
209
+ - lib/gli/exceptions.rb
210
+ - lib/gli/flag.rb
211
+ - lib/gli/gli_option_parser.rb
212
+ - lib/gli/option_parser_factory.rb
213
+ - lib/gli/options.rb
214
+ - lib/gli/switch.rb
215
+ - lib/gli/terminal.rb
216
+ - lib/gli/version.rb
217
+ - test/apps/README.md
218
+ - test/apps/todo/Gemfile
219
+ - test/apps/todo/README.rdoc
220
+ - test/apps/todo/Rakefile
221
+ - test/apps/todo/bin/todo
222
+ - test/apps/todo/lib/todo/commands/create.rb
223
+ - test/apps/todo/lib/todo/commands/list.rb
224
+ - test/apps/todo/lib/todo/commands/ls.rb
225
+ - test/apps/todo/lib/todo/version.rb
226
+ - test/apps/todo/test/tc_nothing.rb
227
+ - test/apps/todo/todo.gemspec
228
+ - test/apps/todo/todo.rdoc
229
+ - test/config.yaml
230
+ - test/fake_std_out.rb
231
+ - test/gli.reek
232
+ - test/init_simplecov.rb
233
+ - test/option_test_helper.rb
234
+ - test/roodi.yaml
235
+ - test/tc_command.rb
236
+ - test/tc_compount_command.rb
237
+ - test/tc_flag.rb
238
+ - test/tc_gli.rb
239
+ - test/tc_help.rb
240
+ - test/tc_options.rb
241
+ - test/tc_subcommands.rb
242
+ - test/tc_switch.rb
243
+ - test/tc_terminal.rb
244
+ - test/test_helper.rb
325
245
  homepage: http://davetron5000.github.com/gli
326
246
  licenses: []
247
+
327
248
  post_install_message:
328
- rdoc_options:
249
+ rdoc_options:
329
250
  - --title
330
251
  - Git Like Interface
331
252
  - --main
332
253
  - README.rdoc
333
- require_paths:
254
+ require_paths:
334
255
  - lib
335
- required_ruby_version: !ruby/object:Gem::Requirement
256
+ required_ruby_version: !ruby/object:Gem::Requirement
336
257
  none: false
337
- requirements:
338
- - - ! '>='
339
- - !ruby/object:Gem::Version
340
- version: '0'
341
- required_rubygems_version: !ruby/object:Gem::Requirement
258
+ requirements:
259
+ - - ">="
260
+ - !ruby/object:Gem::Version
261
+ hash: 3
262
+ segments:
263
+ - 0
264
+ version: "0"
265
+ required_rubygems_version: !ruby/object:Gem::Requirement
342
266
  none: false
343
- requirements:
344
- - - ! '>'
345
- - !ruby/object:Gem::Version
267
+ requirements:
268
+ - - ">"
269
+ - !ruby/object:Gem::Version
270
+ hash: 25
271
+ segments:
272
+ - 1
273
+ - 3
274
+ - 1
346
275
  version: 1.3.1
347
276
  requirements: []
277
+
348
278
  rubyforge_project: gli
349
279
  rubygems_version: 1.8.24
350
280
  signing_key:
351
281
  specification_version: 3
352
282
  summary: A Git Like Interface for building command line apps
353
- test_files:
354
- - !binary |-
355
- ZmVhdHVyZXMvZ2xpX2V4ZWN1dGFibGUuZmVhdHVyZQ==
356
- - !binary |-
357
- ZmVhdHVyZXMvZ2xpX2luaXQuZmVhdHVyZQ==
358
- - !binary |-
359
- ZmVhdHVyZXMvc3RlcF9kZWZpbml0aW9ucy9nbGlfZXhlY3V0YWJsZV9zdGVw
360
- cy5yYg==
361
- - !binary |-
362
- ZmVhdHVyZXMvc3RlcF9kZWZpbml0aW9ucy9nbGlfaW5pdF9zdGVwcy5yYg==
363
- - !binary |-
364
- ZmVhdHVyZXMvc3RlcF9kZWZpbml0aW9ucy90b2RvX3N0ZXBzLnJi
365
- - !binary |-
366
- ZmVhdHVyZXMvc3VwcG9ydC9lbnYucmI=
367
- - !binary |-
368
- ZmVhdHVyZXMvdG9kby5mZWF0dXJl
369
- - !binary |-
370
- dGVzdC9hcHBzL1JFQURNRS5tZA==
371
- - !binary |-
372
- dGVzdC9hcHBzL3RvZG8vR2VtZmlsZQ==
373
- - !binary |-
374
- dGVzdC9hcHBzL3RvZG8vUkVBRE1FLnJkb2M=
375
- - !binary |-
376
- dGVzdC9hcHBzL3RvZG8vUmFrZWZpbGU=
377
- - !binary |-
378
- dGVzdC9hcHBzL3RvZG8vYmluL3RvZG8=
379
- - !binary |-
380
- dGVzdC9hcHBzL3RvZG8vbGliL3RvZG8vY29tbWFuZHMvY3JlYXRlLnJi
381
- - !binary |-
382
- dGVzdC9hcHBzL3RvZG8vbGliL3RvZG8vY29tbWFuZHMvbGlzdC5yYg==
383
- - !binary |-
384
- dGVzdC9hcHBzL3RvZG8vbGliL3RvZG8vY29tbWFuZHMvbHMucmI=
385
- - !binary |-
386
- dGVzdC9hcHBzL3RvZG8vbGliL3RvZG8vdmVyc2lvbi5yYg==
387
- - !binary |-
388
- dGVzdC9hcHBzL3RvZG8vdGVzdC90Y19ub3RoaW5nLnJi
389
- - !binary |-
390
- dGVzdC9hcHBzL3RvZG8vdG9kby5nZW1zcGVj
391
- - !binary |-
392
- dGVzdC9hcHBzL3RvZG8vdG9kby5yZG9j
393
- - !binary |-
394
- dGVzdC9jb25maWcueWFtbA==
395
- - !binary |-
396
- dGVzdC9mYWtlX3N0ZF9vdXQucmI=
397
- - !binary |-
398
- dGVzdC9nbGkucmVlaw==
399
- - !binary |-
400
- dGVzdC9pbml0X3NpbXBsZWNvdi5yYg==
401
- - !binary |-
402
- dGVzdC9vcHRpb25fdGVzdF9oZWxwZXIucmI=
403
- - !binary |-
404
- dGVzdC9yb29kaS55YW1s
405
- - !binary |-
406
- dGVzdC90Y19jb21tYW5kLnJi
407
- - !binary |-
408
- dGVzdC90Y19jb21wb3VudF9jb21tYW5kLnJi
409
- - !binary |-
410
- dGVzdC90Y19mbGFnLnJi
411
- - !binary |-
412
- dGVzdC90Y19nbGkucmI=
413
- - !binary |-
414
- dGVzdC90Y19oZWxwLnJi
415
- - !binary |-
416
- dGVzdC90Y19vcHRpb25zLnJi
417
- - !binary |-
418
- dGVzdC90Y19zdWJjb21tYW5kcy5yYg==
419
- - !binary |-
420
- dGVzdC90Y19zd2l0Y2gucmI=
421
- - !binary |-
422
- dGVzdC90Y190ZXJtaW5hbC5yYg==
423
- - !binary |-
424
- dGVzdC90ZXN0X2hlbHBlci5yYg==
283
+ test_files:
284
+ - features/gli_executable.feature
285
+ - features/gli_init.feature
286
+ - features/step_definitions/gli_executable_steps.rb
287
+ - features/step_definitions/gli_init_steps.rb
288
+ - features/step_definitions/todo_steps.rb
289
+ - features/support/env.rb
290
+ - features/todo.feature
291
+ - test/apps/README.md
292
+ - test/apps/todo/Gemfile
293
+ - test/apps/todo/README.rdoc
294
+ - test/apps/todo/Rakefile
295
+ - test/apps/todo/bin/todo
296
+ - test/apps/todo/lib/todo/commands/create.rb
297
+ - test/apps/todo/lib/todo/commands/list.rb
298
+ - test/apps/todo/lib/todo/commands/ls.rb
299
+ - test/apps/todo/lib/todo/version.rb
300
+ - test/apps/todo/test/tc_nothing.rb
301
+ - test/apps/todo/todo.gemspec
302
+ - test/apps/todo/todo.rdoc
303
+ - test/config.yaml
304
+ - test/fake_std_out.rb
305
+ - test/gli.reek
306
+ - test/init_simplecov.rb
307
+ - test/option_test_helper.rb
308
+ - test/roodi.yaml
309
+ - test/tc_command.rb
310
+ - test/tc_compount_command.rb
311
+ - test/tc_flag.rb
312
+ - test/tc_gli.rb
313
+ - test/tc_help.rb
314
+ - test/tc_options.rb
315
+ - test/tc_subcommands.rb
316
+ - test/tc_switch.rb
317
+ - test/tc_terminal.rb
318
+ - test/test_helper.rb