commander 4.0.1 → 4.0.2
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.
- data/History.rdoc +6 -0
- data/commander.gemspec +2 -2
- data/lib/commander/runner.rb +4 -1
- data/lib/commander/user_interaction.rb +7 -2
- data/lib/commander/version.rb +1 -1
- data/spec/runner_spec.rb +1 -1
- data/spec/ui_spec.rb +13 -1
- metadata +2 -2
data/History.rdoc
CHANGED
data/commander.gemspec
CHANGED
@@ -2,11 +2,11 @@
|
|
2
2
|
|
3
3
|
Gem::Specification.new do |s|
|
4
4
|
s.name = %q{commander}
|
5
|
-
s.version = "4.0.
|
5
|
+
s.version = "4.0.2"
|
6
6
|
|
7
7
|
s.required_rubygems_version = Gem::Requirement.new(">= 1.2") if s.respond_to? :required_rubygems_version=
|
8
8
|
s.authors = ["TJ Holowaychuk"]
|
9
|
-
s.date = %q{2010-01-
|
9
|
+
s.date = %q{2010-01-19}
|
10
10
|
s.default_executable = %q{commander}
|
11
11
|
s.description = %q{The complete solution for Ruby command-line executables}
|
12
12
|
s.email = %q{tj@vision-media.ca}
|
data/lib/commander/runner.rb
CHANGED
@@ -51,6 +51,7 @@ module Commander
|
|
51
51
|
trace = false
|
52
52
|
require_program :version, :description
|
53
53
|
trap('INT') { abort program(:int_message) } if program(:int_message)
|
54
|
+
trap('INT') { program(:int_block).call } if program(:int_block)
|
54
55
|
global_option('-h', '--help', 'Display help documentation') { command(:help).run *@args[1..-1]; return }
|
55
56
|
global_option('-v', '--version', 'Display version information') { say version; return }
|
56
57
|
global_option('-t', '--trace', 'Display backtrace when an error occurs') { trace = true }
|
@@ -109,12 +110,14 @@ module Commander
|
|
109
110
|
# :int_message Message to display when interrupted (CTRL + C)
|
110
111
|
#
|
111
112
|
|
112
|
-
def program key, *args
|
113
|
+
def program key, *args, &block
|
113
114
|
if key == :help and !args.empty?
|
114
115
|
@program[:help] ||= {}
|
115
116
|
@program[:help][args.first] = args.at(1)
|
116
117
|
elsif key == :help_formatter && !args.empty?
|
117
118
|
@program[key] = (@help_formatter_aliases[args.first] || args.first)
|
119
|
+
elsif block
|
120
|
+
@program[key] = block
|
118
121
|
else
|
119
122
|
@program[key] = *args unless args.empty?
|
120
123
|
@program[key]
|
@@ -223,6 +223,7 @@ module Commander
|
|
223
223
|
|
224
224
|
def progress arr, options = {}, &block
|
225
225
|
bar = ProgressBar.new arr.length, options
|
226
|
+
bar.show
|
226
227
|
arr.each { |v| bar.increment yield(v) }
|
227
228
|
end
|
228
229
|
|
@@ -325,7 +326,11 @@ module Commander
|
|
325
326
|
# Completion percentage.
|
326
327
|
|
327
328
|
def percent_complete
|
328
|
-
|
329
|
+
if @total_steps.zero?
|
330
|
+
100
|
331
|
+
else
|
332
|
+
@step * 100 / @total_steps
|
333
|
+
end
|
329
334
|
end
|
330
335
|
|
331
336
|
##
|
@@ -368,7 +373,7 @@ module Commander
|
|
368
373
|
:steps_remaining => steps_remaining,
|
369
374
|
:total_steps => @total_steps,
|
370
375
|
:time_elapsed => "%0.2fs" % time_elapsed,
|
371
|
-
:time_remaining => "%0.2fs" % time_remaining,
|
376
|
+
:time_remaining => @step > 0 ? "%0.2fs" % time_remaining : '',
|
372
377
|
}.
|
373
378
|
merge! @tokens
|
374
379
|
end
|
data/lib/commander/version.rb
CHANGED
data/spec/runner_spec.rb
CHANGED
@@ -189,7 +189,7 @@ describe Commander do
|
|
189
189
|
it "should return array of valid command names" do
|
190
190
|
command('foo bar') {}
|
191
191
|
command('foo bar foo') {}
|
192
|
-
command_runner.valid_command_names_from('foo', 'bar', 'foo').should == ['foo bar', 'foo bar foo']
|
192
|
+
command_runner.valid_command_names_from('foo', 'bar', 'foo').sort.should == ['foo bar', 'foo bar foo']
|
193
193
|
end
|
194
194
|
|
195
195
|
it "should return empty array when no possible command names exist" do
|
data/spec/ui_spec.rb
CHANGED
@@ -10,4 +10,16 @@ describe Commander::UI do
|
|
10
10
|
end
|
11
11
|
end
|
12
12
|
|
13
|
-
|
13
|
+
describe "progress" do
|
14
|
+
it "should not die on an empty list" do
|
15
|
+
exception = false
|
16
|
+
begin
|
17
|
+
progress([]) {}
|
18
|
+
rescue
|
19
|
+
exception = true
|
20
|
+
end
|
21
|
+
exception.should_not be_true
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
25
|
+
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: commander
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 4.0.
|
4
|
+
version: 4.0.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- TJ Holowaychuk
|
@@ -9,7 +9,7 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date: 2010-01-
|
12
|
+
date: 2010-01-19 00:00:00 -08:00
|
13
13
|
default_executable: commander
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|