gli 2.0.0.rc4 → 2.0.0.rc5

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.
@@ -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