commander 4.1.6 → 4.2.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 89c316cbb98922c1aa25063c184fe3214dc33f03
4
- data.tar.gz: 5222385e2c3e6f4d59b4b748315b429173d95435
3
+ metadata.gz: 21b09d008c6a8a753877a504afd266191e9d56f1
4
+ data.tar.gz: eb66a9f050995361aef5eb5abe80b957386547b1
5
5
  SHA512:
6
- metadata.gz: 1d88c3df61b540cfa7e5bf58f83891393f331f0844a031619692a5429417471f3aacd1910fb7fdfb52bcaa8aa0ca469b050cd301b2323e3cd9220851d36bce2e
7
- data.tar.gz: 5534ce249d8211b77c8c8112d9793e122137ec0513146bef96cf6ad1fcca4610f0bdf8a83856a1288bcca8e4f0818e537263df017263ba2709943ff0b290fd46
6
+ metadata.gz: f193eb63b1ac9b359c5087ee82db39058b11dfb479ecf562d419bdf7e0dc339ba4ffd47528054a7e6ba67891b43c3210b17d59a8b0eabb201ba4a5c7c81ac87b
7
+ data.tar.gz: 166c934efdbd6469f8f67d312b1d88758b6158e2116a3179e571f31531efbbf89f9f733eaadde33a972909bc641e1a1d6182c5553b735932678ce1d322330f1c
@@ -1,3 +1,7 @@
1
+ === 4.2.0 / 2014-04-29
2
+
3
+ * Add ability to use commander without importing into the global namespace (#61) (@krissi)
4
+
1
5
  === 4.1.6 / 2014-02-11
2
6
 
3
7
  * Respect environment setting for $LESS (@ellemenno)
data/README.md CHANGED
@@ -1,4 +1,5 @@
1
1
  [<img src="https://secure.travis-ci.org/ggilder/commander.png?branch=master" alt="Build Status" />](http://travis-ci.org/ggilder/commander)
2
+ [![Inline docs](http://inch-pages.github.io/github/visionmedia/commander.png)](http://inch-pages.github.io/github/visionmedia/commander)
2
3
 
3
4
  # Commander
4
5
 
@@ -42,6 +43,8 @@ For more option examples view the `Commander::Command#option` method. Also
42
43
  an important feature to note is that action may be a class to instantiate,
43
44
  as well as an object, specifying a method to call, so view the RDoc for more information.
44
45
 
46
+ ### Classic style
47
+
45
48
  ```ruby
46
49
  require 'rubygems'
47
50
  require 'commander/import'
@@ -80,6 +83,40 @@ $ foobar bar --suffix '}' --prefix '{'
80
83
  # => {bar}
81
84
  ```
82
85
 
86
+ ### Modular style
87
+ ```ruby
88
+ require 'rubygems'
89
+ require 'commander'
90
+
91
+ class MyApplication
92
+ include Commander::Methods
93
+
94
+ def run
95
+ program :name, 'Foo Bar'
96
+ program :version, '1.0.0'
97
+ program :description, 'Stupid command that prints foo or bar.'
98
+
99
+ # see classic style example for options
100
+ end
101
+ end
102
+
103
+ MyApplication.new.run if $0 == __FILE__
104
+ ```
105
+
106
+ ### Block style
107
+ ```ruby
108
+ require 'rubygems'
109
+ require 'commander'
110
+
111
+ Commander.configure do
112
+ program :name, 'Foo Bar'
113
+ program :version, '1.0.0'
114
+ program :description, 'Stupid command that prints foo or bar.'
115
+
116
+ # see classic style example for options
117
+ end
118
+ ```
119
+
83
120
  ## HighLine
84
121
 
85
122
  As mentioned above, the highline gem is imported into the global scope. Here
@@ -21,7 +21,7 @@ Gem::Specification.new do |s|
21
21
 
22
22
  s.add_runtime_dependency("highline", "~> 1.6.11")
23
23
 
24
- s.add_development_dependency("rspec", "~> 2")
24
+ s.add_development_dependency("rspec", "~> 2.14")
25
25
  s.add_development_dependency("rake")
26
26
  s.add_development_dependency("simplecov")
27
27
  end
@@ -30,3 +30,5 @@ require 'commander/runner'
30
30
  require 'commander/command'
31
31
  require 'commander/help_formatters'
32
32
  require 'commander/platform'
33
+ require 'commander/methods'
34
+ require 'commander/configure'
@@ -0,0 +1,18 @@
1
+ require 'commander'
2
+ require 'commander/methods'
3
+
4
+ module Commander
5
+ def configure(*configuration_opts, &configuration_block)
6
+ configuration_module = Module.new
7
+ configuration_module.extend Commander::Methods
8
+
9
+ configuration_module.class_exec(*configuration_opts, &configuration_block)
10
+
11
+ configuration_module.class_exec do
12
+ run!
13
+ end
14
+ end
15
+
16
+ module_function :configure
17
+ end
18
+
@@ -0,0 +1,11 @@
1
+ require 'commander'
2
+ require 'commander/delegates'
3
+
4
+ module Commander::Methods
5
+ include Commander::UI
6
+ include Commander::UI::AskForClass
7
+ include Commander::Delegates
8
+
9
+ $terminal.wrap_at = HighLine::SystemExtensions.terminal_size.first - 5 rescue 80 if $stdin.tty?
10
+ end
11
+
@@ -1,4 +1,3 @@
1
-
2
1
  require 'optparse'
3
2
 
4
3
  module Commander
@@ -286,11 +285,11 @@ module Commander
286
285
  def create_default_commands
287
286
  command :help do |c|
288
287
  c.syntax = 'commander help [command]'
289
- c.description = 'Display global or [command] help documentation.'
288
+ c.description = 'Display global or [command] help documentation'
290
289
  c.example 'Display global help', 'command help'
291
290
  c.example "Display help for 'foo'", 'command help foo'
292
291
  c.when_called do |args, options|
293
- enable_paging
292
+ UI.enable_paging
294
293
  if args.empty?
295
294
  say help_formatter.render
296
295
  else
@@ -1,3 +1,3 @@
1
1
  module Commander
2
- VERSION = '4.1.6'
2
+ VERSION = '4.2.0'
3
3
  end
@@ -1,6 +1,7 @@
1
1
  require 'spec_helper'
2
2
 
3
3
  describe Commander::Command do
4
+ include Commander::Methods
4
5
 
5
6
  before :each do
6
7
  mock_terminal
@@ -15,29 +16,29 @@ describe Commander::Command do
15
16
  it "should act like an open struct" do
16
17
  @options.send = 'mail'
17
18
  @options.call = true
18
- @options.send.should eq('mail')
19
- @options.call.should eq(true)
19
+ expect(@options.send).to eq('mail')
20
+ expect(@options.call).to eq(true)
20
21
  end
21
22
 
22
23
  it "should allow __send__ to function as always" do
23
24
  @options.send = 'foo'
24
- @options.__send__(:send).should eq('foo')
25
+ expect(@options.__send__(:send)).to eq('foo')
25
26
  end
26
27
  end
27
28
 
28
29
  describe "#option" do
29
30
  it "should add options" do
30
- lambda { @command.option '--recursive' }.should change(@command.options, :length).from(1).to(2)
31
+ expect { @command.option '--recursive' }.to change(@command.options, :length).from(1).to(2)
31
32
  end
32
33
 
33
34
  it "should allow procs as option handlers" do
34
- @command.option('--recursive') { |recursive| recursive.should be_true }
35
+ @command.option('--recursive') { |recursive| expect(recursive).to be_true }
35
36
  @command.run '--recursive'
36
37
  end
37
38
 
38
39
  it "should allow usage of common method names" do
39
40
  @command.option '--open file'
40
- @command.when_called { |_, options| options.open.should eq('foo') }
41
+ @command.when_called { |_, options| expect(options.open).to eq('foo') }
41
42
  @command.run '--open', 'foo'
42
43
  end
43
44
  end
@@ -45,50 +46,50 @@ describe Commander::Command do
45
46
  describe "#run" do
46
47
  describe "should invoke #when_called" do
47
48
  it "with arguments seperated from options" do
48
- @command.when_called { |args, options| args.join(' ').should eq('just some args') }
49
+ @command.when_called { |args, options| expect(args.join(' ')).to eq('just some args') }
49
50
  @command.run '--verbose', 'just', 'some', 'args'
50
51
  end
51
52
 
52
53
  it "calling the #call method by default when an object is called" do
53
54
  object = double 'Object'
54
- object.should_receive(:call).once
55
+ expect(object).to receive(:call).once
55
56
  @command.when_called object
56
57
  @command.run 'foo'
57
58
  end
58
59
 
59
60
  it "should allow #action as an alias to #when_called" do
60
61
  object = double 'Object'
61
- object.should_receive(:call).once
62
+ expect(object).to receive(:call).once
62
63
  @command.action object
63
64
  @command.run 'foo'
64
65
  end
65
66
 
66
67
  it "calling an arbitrary method when an object is called" do
67
68
  object = double 'Object'
68
- object.should_receive(:foo).once
69
+ expect(object).to receive(:foo).once
69
70
  @command.when_called object, :foo
70
71
  @command.run 'foo'
71
72
  end
72
73
 
73
74
  it "should raise an error when no handler is present" do
74
- lambda { @command.when_called }.should raise_error(ArgumentError)
75
+ expect { @command.when_called }.to raise_error(ArgumentError)
75
76
  end
76
77
  end
77
78
 
78
79
  describe "should populate options with" do
79
80
  it "boolean values" do
80
81
  @command.option '--[no-]toggle'
81
- @command.when_called { |_, options| options.toggle.should be_true }
82
+ @command.when_called { |_, options| expect(options.toggle).to be_true }
82
83
  @command.run '--toggle'
83
- @command.when_called { |_, options| options.toggle.should be_false }
84
+ @command.when_called { |_, options| expect(options.toggle).to be_false }
84
85
  @command.run '--no-toggle'
85
86
  end
86
87
 
87
88
  it "mandatory arguments" do
88
89
  @command.option '--file FILE'
89
- @command.when_called { |_, options| options.file.should eq('foo') }
90
+ @command.when_called { |_, options| expect(options.file).to eq('foo') }
90
91
  @command.run '--file', 'foo'
91
- lambda { @command.run '--file' }.should raise_error(OptionParser::MissingArgument)
92
+ expect { @command.run '--file' }.to raise_error(OptionParser::MissingArgument)
92
93
  end
93
94
 
94
95
  describe "optional arguments" do
@@ -97,17 +98,17 @@ describe Commander::Command do
97
98
  end
98
99
 
99
100
  it "should return the argument when provided" do
100
- @command.when_called { |_, options| options.use_config.should eq('foo') }
101
+ @command.when_called { |_, options| expect(options.use_config).to eq('foo') }
101
102
  @command.run '--use-config', 'foo'
102
103
  end
103
104
 
104
105
  it "should return true when present without an argument" do
105
- @command.when_called { |_, options| options.use_config.should be_true }
106
+ @command.when_called { |_, options| expect(options.use_config).to be_true }
106
107
  @command.run '--use-config'
107
108
  end
108
109
 
109
110
  it "should return nil when not present" do
110
- @command.when_called { |_, options| options.use_config.should be_nil }
111
+ @command.when_called { |_, options| expect(options.use_config).to be_nil }
111
112
  @command.run
112
113
  end
113
114
  end
@@ -118,24 +119,24 @@ describe Commander::Command do
118
119
  end
119
120
 
120
121
  it "should parse valid values" do
121
- @command.when_called { |_, options| options.interval.should eq(5) }
122
+ @command.when_called { |_, options| expect(options.interval).to eq(5) }
122
123
  @command.run '--interval', '5'
123
124
  end
124
125
 
125
126
  it "should reject invalid values" do
126
- lambda { @command.run '--interval', 'invalid' }.should raise_error(OptionParser::InvalidArgument)
127
+ expect { @command.run '--interval', 'invalid' }.to raise_error(OptionParser::InvalidArgument)
127
128
  end
128
129
  end
129
130
 
130
131
  it "lists" do
131
132
  @command.option '--fav COLORS', Array
132
- @command.when_called { |_, options| options.fav.should eq(['red', 'green', 'blue']) }
133
+ @command.when_called { |_, options| expect(options.fav).to eq(['red', 'green', 'blue']) }
133
134
  @command.run '--fav', 'red,green,blue'
134
135
  end
135
136
 
136
137
  it "lists with multi-word items" do
137
138
  @command.option '--fav MOVIES', Array
138
- @command.when_called { |_, options| options.fav.should eq(['super\ bad', 'nightmare']) }
139
+ @command.when_called { |_, options| expect(options.fav).to eq(['super\ bad', 'nightmare']) }
139
140
  @command.run '--fav', 'super\ bad,nightmare'
140
141
  end
141
142
 
@@ -146,8 +147,8 @@ describe Commander::Command do
146
147
  options.default \
147
148
  :files => ['foo', 'bar'],
148
149
  :interval => 5
149
- options.files.should eq(['foo', 'bar'])
150
- options.interval.should eq(15)
150
+ expect(options.files).to eq(['foo', 'bar'])
151
+ expect(options.interval).to eq(15)
151
152
  end
152
153
  @command.run '--interval', '15'
153
154
  end
@@ -0,0 +1,37 @@
1
+ require 'spec_helper'
2
+ require 'commander/configure'
3
+
4
+ describe Commander do
5
+ describe '.configure' do
6
+ it 'calls the given block' do
7
+ expect { Commander.configure { throw :block_called } }.to throw_symbol(:block_called)
8
+ end
9
+
10
+ describe 'called block' do
11
+ before(:each) do
12
+ allow(Commander::Runner.instance).to receive(:run!)
13
+ end
14
+
15
+ it 'provides Commander configuration methods' do
16
+ Commander.configure {
17
+ program :name, 'test'
18
+ }
19
+
20
+ expect(Commander::Runner.instance.program(:name)).to eq('test')
21
+ end
22
+
23
+ it 'passes all arguments to the block' do
24
+ Commander.configure('foo') { |first_arg|
25
+ program :name, first_arg
26
+ }
27
+
28
+ expect(Commander::Runner.instance.program(:name)).to eq('foo')
29
+ end
30
+ end
31
+
32
+ it 'calls Runner#run! after calling the configuration block' do
33
+ expect(Commander::Runner.instance).to receive(:run!)
34
+ Commander.configure {}
35
+ end
36
+ end
37
+ end
@@ -4,16 +4,16 @@ describe Array do
4
4
 
5
5
  describe "#parse" do
6
6
  it "should seperate a list of words into an array" do
7
- Array.parse('just a test').should eq(['just', 'a', 'test'])
7
+ expect(Array.parse('just a test')).to eq(['just', 'a', 'test'])
8
8
  end
9
9
 
10
10
  it "should preserve escaped whitespace" do
11
- Array.parse('just a\ test').should eq(['just', 'a test'])
11
+ expect(Array.parse('just a\ test')).to eq(['just', 'a test'])
12
12
  end
13
13
 
14
14
  it "should match %w behavior with multiple backslashes" do
15
15
  str = 'just a\\ test'
16
- Array.parse(str).should eq(eval("%w(#{str})"))
16
+ expect(Array.parse(str)).to eq(eval("%w(#{str})"))
17
17
  end
18
18
  end
19
19
 
@@ -4,17 +4,17 @@ describe Object do
4
4
 
5
5
  describe "#get_binding" do
6
6
  it "should return the objects binding" do
7
- lambda {}.get_binding.should be_instance_of(Binding)
7
+ expect(lambda {}.get_binding).to be_instance_of(Binding)
8
8
  end
9
9
  end
10
10
 
11
11
  describe "#method_missing" do
12
12
  it "should preserve its original behavior for missing methods" do
13
- lambda { i_am_a_missing_method() }.should raise_error(NoMethodError)
13
+ expect { i_am_a_missing_method() }.to raise_error(NoMethodError)
14
14
  end
15
15
 
16
16
  it "should preserve its original behavior for missing variables" do
17
- lambda { i_am_a_missing_variable }.should raise_error(NameError)
17
+ expect { i_am_a_missing_variable }.to raise_error(NameError)
18
18
  end
19
19
  end
20
20
 
@@ -1,6 +1,7 @@
1
1
  require 'spec_helper'
2
2
 
3
3
  describe Commander::HelpFormatter::Terminal do
4
+ include Commander::Methods
4
5
 
5
6
  before :each do
6
7
  mock_terminal
@@ -19,11 +20,11 @@ describe Commander::HelpFormatter::Terminal do
19
20
 
20
21
  describe "should display" do
21
22
  it "the command name" do
22
- @global_help.should include('install gem')
23
+ expect(@global_help).to include('install gem')
23
24
  end
24
25
 
25
26
  it "the summary" do
26
- @global_help.should include('Install some gem')
27
+ expect(@global_help).to include('Install some gem')
27
28
  end
28
29
  end
29
30
  end
@@ -44,22 +45,22 @@ describe Commander::HelpFormatter::Terminal do
44
45
 
45
46
  describe "should display" do
46
47
  it "the command name" do
47
- @command_help.should include('install gem')
48
+ expect(@command_help).to include('install gem')
48
49
  end
49
50
 
50
51
  it "the description" do
51
- @command_help.should include('Install some gem, blah blah blah')
52
+ expect(@command_help).to include('Install some gem, blah blah blah')
52
53
  end
53
54
 
54
55
  it "all examples" do
55
- @command_help.should include('# one')
56
- @command_help.should include('two')
57
- @command_help.should include('# three')
58
- @command_help.should include('four')
56
+ expect(@command_help).to include('# one')
57
+ expect(@command_help).to include('two')
58
+ expect(@command_help).to include('# three')
59
+ expect(@command_help).to include('four')
59
60
  end
60
61
 
61
62
  it "the syntax" do
62
- @command_help.should include('foo install gem [options]')
63
+ expect(@command_help).to include('foo install gem [options]')
63
64
  end
64
65
  end
65
66
  end
@@ -0,0 +1,20 @@
1
+ require 'spec_helper'
2
+ require 'commander/methods'
3
+
4
+ describe Commander::Methods do
5
+ it 'includes Commander::UI' do
6
+ expect(subject.ancestors).to include(Commander::UI)
7
+ end
8
+
9
+ it 'includes Commander::UI::AskForClass' do
10
+ expect(subject.ancestors).to include(Commander::UI::AskForClass)
11
+ end
12
+
13
+ it 'includes Commander::Delegates' do
14
+ expect(subject.ancestors).to include(Commander::Delegates)
15
+ end
16
+
17
+ it 'does not change the Object ancestors' do
18
+ expect(Object.ancestors).not_to include(Commander::UI)
19
+ end
20
+ end
@@ -1,6 +1,8 @@
1
1
  require 'spec_helper'
2
2
 
3
3
  describe Commander do
4
+ include Commander::Methods
5
+
4
6
  before :each do
5
7
  $stderr = StringIO.new
6
8
  mock_terminal
@@ -10,59 +12,59 @@ describe Commander do
10
12
  describe "#program" do
11
13
  it "should set / get program information" do
12
14
  program :name, 'test'
13
- program(:name).should eq('test')
15
+ expect(program(:name)).to eq('test')
14
16
  end
15
17
 
16
18
  it "should allow arbitrary blocks of global help documentation" do
17
19
  program :help, 'Copyright', 'TJ Holowaychuk'
18
- program(:help)['Copyright'].should eq('TJ Holowaychuk')
20
+ expect(program(:help)['Copyright']).to eq('TJ Holowaychuk')
19
21
  end
20
22
 
21
23
  it "should raise an error when required info has not been set" do
22
24
  new_command_runner '--help'
23
25
  program :version, ''
24
- lambda { run! }.should raise_error(Commander::Runner::CommandError)
26
+ expect { run! }.to raise_error(Commander::Runner::CommandError)
25
27
  end
26
28
 
27
29
  it "should allow aliases of help formatters" do
28
30
  program :help_formatter, :compact
29
- program(:help_formatter).should eq(Commander::HelpFormatter::TerminalCompact)
31
+ expect(program(:help_formatter)).to eq(Commander::HelpFormatter::TerminalCompact)
30
32
  end
31
33
  end
32
34
 
33
35
  describe "#command" do
34
36
  it "should return a command instance when only the name is passed" do
35
- command(:test).should be_instance_of(Commander::Command)
37
+ expect(command(:test)).to be_instance_of(Commander::Command)
36
38
  end
37
39
 
38
40
  it "should return nil when the command does not exist" do
39
- command(:im_not_real).should be_nil
41
+ expect(command(:im_not_real)).to be_nil
40
42
  end
41
43
  end
42
44
 
43
45
  describe "#separate_switches_from_description" do
44
46
  it "should seperate switches and description returning both" do
45
47
  switches, description = *Commander::Runner.separate_switches_from_description('-h', '--help', 'display help')
46
- switches.should eq(['-h', '--help'])
47
- description.should eq('display help')
48
+ expect(switches).to eq(['-h', '--help'])
49
+ expect(description).to eq('display help')
48
50
  end
49
51
  end
50
52
 
51
53
  describe "#switch_to_sym" do
52
54
  it "should return a symbol based on the switch name" do
53
- Commander::Runner.switch_to_sym('--trace').should eq(:trace)
54
- Commander::Runner.switch_to_sym('--foo-bar').should eq(:foo_bar)
55
- Commander::Runner.switch_to_sym('--[no-]feature"').should eq(:feature)
56
- Commander::Runner.switch_to_sym('--[no-]feature ARG').should eq(:feature)
57
- Commander::Runner.switch_to_sym('--file [ARG]').should eq(:file)
58
- Commander::Runner.switch_to_sym('--colors colors').should eq(:colors)
55
+ expect(Commander::Runner.switch_to_sym('--trace')).to eq(:trace)
56
+ expect(Commander::Runner.switch_to_sym('--foo-bar')).to eq(:foo_bar)
57
+ expect(Commander::Runner.switch_to_sym('--[no-]feature"')).to eq(:feature)
58
+ expect(Commander::Runner.switch_to_sym('--[no-]feature ARG')).to eq(:feature)
59
+ expect(Commander::Runner.switch_to_sym('--file [ARG]')).to eq(:file)
60
+ expect(Commander::Runner.switch_to_sym('--colors colors')).to eq(:colors)
59
61
  end
60
62
  end
61
63
 
62
64
  describe "#alias_command" do
63
65
  it "should alias a command" do
64
66
  alias_command :foo, :test
65
- command(:foo).should eq(command(:test))
67
+ expect(command(:foo)).to eq(command(:test))
66
68
  end
67
69
 
68
70
  it "should pass arguments passed to the alias when called" do
@@ -74,7 +76,7 @@ describe Commander do
74
76
  end
75
77
  alias_command :'install gem', :install, '--gem-name'
76
78
  end.run!
77
- gem_name.should eq('commander')
79
+ expect(gem_name).to eq('commander')
78
80
  end
79
81
  end
80
82
 
@@ -84,7 +86,7 @@ describe Commander do
84
86
  new_command_runner 'test', '--config', 'foo' do
85
87
  global_option('--config FILE') { |f| file = f }
86
88
  end.run!
87
- file.should eq('foo')
89
+ expect(file).to eq('foo')
88
90
  end
89
91
 
90
92
  it "should be inherited by commands" do
@@ -95,7 +97,7 @@ describe Commander do
95
97
  c.when_called { |_, options| quiet = options.quiet }
96
98
  end
97
99
  end.run!
98
- quiet.should be_true
100
+ expect(quiet).to be_true
99
101
  end
100
102
 
101
103
  it "should be inherited by commands even when a block is present" do
@@ -106,7 +108,7 @@ describe Commander do
106
108
  c.when_called { |_, options| quiet = options.quiet }
107
109
  end
108
110
  end.run!
109
- quiet.should be_true
111
+ expect(quiet).to be_true
110
112
  end
111
113
  end
112
114
 
@@ -120,7 +122,7 @@ describe Commander do
120
122
  c.when_called {}
121
123
  end
122
124
  end.run!
123
- global_option.should eq('MAGIC')
125
+ expect(global_option).to eq('MAGIC')
124
126
  end
125
127
 
126
128
  it 'should parse global options after command' do
@@ -132,7 +134,7 @@ describe Commander do
132
134
  c.when_called {}
133
135
  end
134
136
  end.run!
135
- global_option.should eq('MAGIC')
137
+ expect(global_option).to eq('MAGIC')
136
138
  end
137
139
 
138
140
  it 'should parse global options placed before command options' do
@@ -146,7 +148,7 @@ describe Commander do
146
148
  end
147
149
  end.run!
148
150
 
149
- global_option.should eq('MAGIC')
151
+ expect(global_option).to eq('MAGIC')
150
152
  end
151
153
 
152
154
  it 'should parse global options placed after command options' do
@@ -160,7 +162,7 @@ describe Commander do
160
162
  end
161
163
  end.run!
162
164
 
163
- global_option.should eq('MAGIC')
165
+ expect(global_option).to eq('MAGIC')
164
166
  end
165
167
 
166
168
  it 'should parse global options surrounded by command options' do
@@ -175,7 +177,7 @@ describe Commander do
175
177
  end
176
178
  end.run!
177
179
 
178
- global_option.should eq('MAGIC')
180
+ expect(global_option).to eq('MAGIC')
179
181
  end
180
182
 
181
183
  it 'should not parse command options' do
@@ -190,8 +192,8 @@ describe Commander do
190
192
  end
191
193
  end.parse_global_options
192
194
 
193
- command_option.should be_nil
194
- global_option.should eq('MAGIC')
195
+ expect(command_option).to be_nil
196
+ expect(global_option).to eq('MAGIC')
195
197
  end
196
198
 
197
199
  it 'should not affect command arguments with values' do
@@ -206,8 +208,8 @@ describe Commander do
206
208
  end
207
209
  end.run!
208
210
 
209
- command_option.should eq('bar')
210
- global_option.should eq('MAGIC')
211
+ expect(command_option).to eq('bar')
212
+ expect(global_option).to eq('MAGIC')
211
213
  end
212
214
 
213
215
  it 'should not affect global arguments with values' do
@@ -221,7 +223,7 @@ describe Commander do
221
223
  end
222
224
  end.run!
223
225
 
224
- global_option.should eq('bar')
226
+ expect(global_option).to eq('bar')
225
227
  end
226
228
 
227
229
  it 'should allow global arguments with values before command arguments (github issue #8)' do
@@ -236,8 +238,8 @@ describe Commander do
236
238
  end
237
239
  end.run!
238
240
 
239
- global_option.should eq('path')
240
- command_option.should eq('bar')
241
+ expect(global_option).to eq('path')
242
+ expect(command_option).to eq('bar')
241
243
  end
242
244
  end
243
245
 
@@ -254,7 +256,7 @@ describe Commander do
254
256
  args << '--command-with-arg' << 'rawr'
255
257
  args << '--paths' << '"lib/**/*.js","spec/**/*.js"'
256
258
  command_runner.remove_global_options options, args
257
- args.should eq(['--command', '--command-with-arg', 'rawr'])
259
+ expect(args).to eq(['--command', '--command-with-arg', 'rawr'])
258
260
  end
259
261
 
260
262
  it "should not swallow an argument unless it expects an argument" do
@@ -267,47 +269,47 @@ describe Commander do
267
269
  args << '-a' << 'deleted'
268
270
  args << 'beta'
269
271
  command_runner.remove_global_options options, args
270
- args.should eq(['alpha', 'beta'])
272
+ expect(args).to eq(['alpha', 'beta'])
271
273
  end
272
274
  end
273
275
 
274
276
  describe "--trace" do
275
277
  it "should display pretty errors by default" do
276
278
  pending("JRuby's Kernel.abort implementation is not testable") if Commander::Platform::jruby?
277
- lambda {
279
+ expect {
278
280
  new_command_runner 'foo' do
279
281
  command(:foo) { |c| c.when_called { raise 'cookies!' } }
280
282
  end.run!
281
- }.should raise_error(SystemExit, /error: cookies!. Use --trace/)
283
+ }.to raise_error(SystemExit, /error: cookies!. Use --trace/)
282
284
  end
283
285
 
284
286
  it "should display callstack when using this switch" do
285
- lambda {
287
+ expect {
286
288
  new_command_runner 'foo', '--trace' do
287
289
  command(:foo) { |c| c.when_called { raise 'cookies!' } }
288
290
  end.run!
289
- }.should raise_error(RuntimeError)
291
+ }.to raise_error(RuntimeError)
290
292
  end
291
293
  end
292
294
 
293
295
  describe "#always_trace!" do
294
296
  it "should enable tracing globally, regardless of whether --trace was passed or not" do
295
- lambda {
297
+ expect {
296
298
  new_command_runner 'foo' do
297
299
  always_trace!
298
300
  command(:foo) { |c| c.when_called { raise 'cookies!' } }
299
301
  end.run!
300
- }.should raise_error(RuntimeError)
302
+ }.to raise_error(RuntimeError)
301
303
  end
302
304
  end
303
305
 
304
306
  describe "#never_trace!" do
305
307
  it "should disable tracing globally, regardless of whether --trace was passed or not" do
306
- lambda {
308
+ expect {
307
309
  new_command_runner 'help', '--trace' do
308
310
  never_trace!
309
311
  end.run!
310
- }.should raise_error(SystemExit, /invalid option: --trace/)
312
+ }.to raise_error(SystemExit, /invalid option: --trace/)
311
313
  end
312
314
 
313
315
  it "should not prompt to use --trace switch on errors" do
@@ -320,81 +322,81 @@ describe Commander do
320
322
  rescue SystemExit => e
321
323
  msg = e.message
322
324
  end
323
- msg.should match(/error: cookies!/)
324
- msg.should_not match(/--trace/)
325
+ expect(msg).to match(/error: cookies!/)
326
+ expect(msg).not_to match(/--trace/)
325
327
  end
326
328
  end
327
329
 
328
330
  context "conflict between #always_trace! and #never_trace!" do
329
331
  it "respects the last used command" do
330
- lambda {
332
+ expect {
331
333
  new_command_runner 'foo' do
332
334
  never_trace!
333
335
  always_trace!
334
336
  command(:foo) { |c| c.when_called { raise 'cookies!' } }
335
337
  end.run!
336
- }.should raise_error(RuntimeError)
338
+ }.to raise_error(RuntimeError)
337
339
  end
338
340
  end
339
341
 
340
342
  describe "--version" do
341
343
  it "should output program version" do
342
- run('--version').should eq("test 1.2.3\n")
344
+ expect(run('--version')).to eq("test 1.2.3\n")
343
345
  end
344
346
  end
345
347
 
346
348
  describe "--help" do
347
349
  it "should not output an invalid command message" do
348
- run('--help').should_not == "invalid command. Use --help for more information\n"
350
+ expect(run('--help')).not_to eq("invalid command. Use --help for more information\n")
349
351
  end
350
352
 
351
353
  it "can be used before or after the command and options" do
352
- run('test', '--help').should eq("Implement help for test here\n")
354
+ expect(run('test', '--help')).to eq("Implement help for test here\n")
353
355
  end
354
356
  end
355
357
 
356
358
  describe "with invalid options" do
357
359
  it "should output an invalid option message" do
358
360
  pending("JRuby's Kernel.abort implementation is not testable") if Commander::Platform::jruby?
359
- lambda {
361
+ expect {
360
362
  run('test', '--invalid-option')
361
- }.should raise_error(SystemExit, /invalid option: --invalid-option/)
363
+ }.to raise_error(SystemExit, /invalid option: --invalid-option/)
362
364
  end
363
365
  end
364
366
 
365
367
  describe "with invalid command passed" do
366
368
  it "should output an invalid command message" do
367
369
  pending("JRuby's Kernel.abort implementation is not testable") if Commander::Platform::jruby?
368
- lambda {
370
+ expect {
369
371
  run('foo')
370
- }.should raise_error(SystemExit, /invalid command. Use --help for more information/)
372
+ }.to raise_error(SystemExit, /invalid command. Use --help for more information/)
371
373
  end
372
374
  end
373
375
 
374
376
  describe "with invalid command passed to help" do
375
377
  it "should output an invalid command message" do
376
378
  pending("JRuby's Kernel.abort implementation is not testable") if Commander::Platform::jruby?
377
- lambda {
379
+ expect {
378
380
  run('help', 'does_not_exist')
379
- }.should raise_error(SystemExit, /invalid command. Use --help for more information/)
381
+ }.to raise_error(SystemExit, /invalid command. Use --help for more information/)
380
382
  end
381
383
  end
382
384
 
383
385
  describe "with invalid command passed to --help" do
384
386
  it "should output an invalid command message" do
385
387
  pending("JRuby's Kernel.abort implementation is not testable") if Commander::Platform::jruby?
386
- lambda {
388
+ expect {
387
389
  run('--help', 'does_not_exist')
388
- }.should raise_error(SystemExit, /invalid command. Use --help for more information/)
390
+ }.to raise_error(SystemExit, /invalid command. Use --help for more information/)
389
391
  end
390
392
  end
391
393
 
392
394
  describe "with invalid option passed to --help" do
393
395
  it "should output an invalid option message" do
394
396
  pending("JRuby's Kernel.abort implementation is not testable") if Commander::Platform::jruby?
395
- lambda {
397
+ expect {
396
398
  run('--help', 'test', '--invalid-option')
397
- }.should raise_error(SystemExit, /invalid option: --invalid-option/)
399
+ }.to raise_error(SystemExit, /invalid option: --invalid-option/)
398
400
  end
399
401
  end
400
402
 
@@ -403,20 +405,20 @@ describe Commander do
403
405
  new_command_runner do
404
406
  command('foo bar') {}
405
407
  command('foo bar foo') {}
406
- command_runner.valid_command_names_from('foo', 'bar', 'foo').sort.should eq(['foo bar', 'foo bar foo'])
408
+ expect(command_runner.valid_command_names_from('foo', 'bar', 'foo').sort).to eq(['foo bar', 'foo bar foo'])
407
409
  end
408
410
  end
409
411
 
410
412
  it "should return empty array when no possible command names exist" do
411
413
  new_command_runner do
412
- command_runner.valid_command_names_from('fake', 'command', 'name').should eq([])
414
+ expect(command_runner.valid_command_names_from('fake', 'command', 'name')).to eq([])
413
415
  end
414
416
  end
415
417
 
416
418
  it "should match exact commands only" do
417
419
  new_command_runner do
418
420
  command('foo') {}
419
- command_runner.valid_command_names_from('foobar').should eq([])
421
+ expect(command_runner.valid_command_names_from('foobar')).to eq([])
420
422
  end
421
423
  end
422
424
  end
@@ -424,42 +426,42 @@ describe Commander do
424
426
  describe "#command_name_from_args" do
425
427
  it "should locate command within arbitrary arguments passed" do
426
428
  new_command_runner '--help', '--arbitrary', 'test'
427
- command_runner.command_name_from_args.should eq('test')
429
+ expect(command_runner.command_name_from_args).to eq('test')
428
430
  end
429
431
 
430
432
  it "should support multi-word commands" do
431
433
  new_command_runner '--help', '--arbitrary', 'some', 'long', 'command', 'foo'
432
434
  command('some long command') {}
433
- command_runner.command_name_from_args.should eq('some long command')
435
+ expect(command_runner.command_name_from_args).to eq('some long command')
434
436
  end
435
437
 
436
438
  it "should match the longest possible command" do
437
439
  new_command_runner '--help', '--arbitrary', 'foo', 'bar', 'foo'
438
440
  command('foo bar') {}
439
441
  command('foo bar foo') {}
440
- command_runner.command_name_from_args.should eq('foo bar foo' )
442
+ expect(command_runner.command_name_from_args).to eq('foo bar foo' )
441
443
  end
442
444
 
443
445
  it "should use the left-most command name when multiple are present" do
444
446
  new_command_runner 'help', 'test'
445
- command_runner.command_name_from_args.should eq('help' )
447
+ expect(command_runner.command_name_from_args).to eq('help' )
446
448
  end
447
449
  end
448
450
 
449
451
  describe "#active_command" do
450
452
  it "should resolve the active command" do
451
453
  new_command_runner '--help', 'test'
452
- command_runner.active_command.should be_instance_of(Commander::Command)
454
+ expect(command_runner.active_command).to be_instance_of(Commander::Command)
453
455
  end
454
456
 
455
457
  it "should resolve active command when invalid options are passed" do
456
458
  new_command_runner '--help', 'test', '--arbitrary'
457
- command_runner.active_command.should be_instance_of(Commander::Command)
459
+ expect(command_runner.active_command).to be_instance_of(Commander::Command)
458
460
  end
459
461
 
460
462
  it "should return nil when the command is not found" do
461
463
  new_command_runner 'foo'
462
- command_runner.active_command.should be_nil
464
+ expect(command_runner.active_command).to be_nil
463
465
  end
464
466
  end
465
467
 
@@ -467,8 +469,8 @@ describe Commander do
467
469
  it "should allow you to default any command when one is not explicitly passed" do
468
470
  new_command_runner '--trace' do
469
471
  default_command :test
470
- command(:test).should_receive(:run).once
471
- command_runner.active_command.should eq(command(:test))
472
+ expect(command(:test)).to receive(:run).once
473
+ expect(command_runner.active_command).to eq(command(:test))
472
474
  end.run!
473
475
  end
474
476
 
@@ -476,8 +478,8 @@ describe Commander do
476
478
  new_command_runner 'foo', 'bar', '--trace' do
477
479
  default_command :test
478
480
  command(:'foo bar'){}
479
- command(:'foo bar').should_receive(:run).once
480
- command_runner.active_command.should eq(command(:'foo bar'))
481
+ expect(command(:'foo bar')).to receive(:run).once
482
+ expect(command_runner.active_command).to eq(command(:'foo bar'))
481
483
  end.run!
482
484
  end
483
485
 
@@ -486,14 +488,14 @@ describe Commander do
486
488
  default_command :'foo bar'
487
489
  command(:'foo bar'){}
488
490
  command(:'foo bar something'){}
489
- command_runner.active_command.should eq(command(:'foo bar something'))
491
+ expect(command_runner.active_command).to eq(command(:'foo bar something'))
490
492
  end
491
493
 
492
494
  it "should allow defaulting of command aliases" do
493
495
  new_command_runner '--trace' do
494
496
  default_command :foobar
495
497
  alias_command :foobar, :test
496
- command(:test).should_receive(:run).once
498
+ expect(command(:test)).to receive(:run).once
497
499
  end.run!
498
500
  end
499
501
  end
@@ -502,8 +504,8 @@ describe Commander do
502
504
  it "when options are passed before the command name" do
503
505
  new_command_runner '--verbose', 'test', 'foo', 'bar' do
504
506
  @command.when_called do |args, options|
505
- args.should eq(['foo', 'bar'])
506
- options.verbose.should be_true
507
+ expect(args).to eq(['foo', 'bar'])
508
+ expect(options.verbose).to be_true
507
509
  end
508
510
  end.run!
509
511
  end
@@ -511,8 +513,8 @@ describe Commander do
511
513
  it "when options are passed after the command name" do
512
514
  new_command_runner 'test', '--verbose', 'foo', 'bar' do
513
515
  @command.when_called do |args, options|
514
- args.should eq(['foo', 'bar'])
515
- options.verbose.should be_true
516
+ expect(args).to eq(['foo', 'bar'])
517
+ expect(options.verbose).to be_true
516
518
  end
517
519
  end.run!
518
520
  end
@@ -520,8 +522,8 @@ describe Commander do
520
522
  it "when an argument passed is the same name as the command" do
521
523
  new_command_runner 'test', '--verbose', 'foo', 'test', 'bar' do
522
524
  @command.when_called do |args, options|
523
- args.should eq(['foo', 'test', 'bar'])
524
- options.verbose.should be_true
525
+ expect(args).to eq(['foo', 'test', 'bar'])
526
+ expect(options.verbose).to be_true
525
527
  end
526
528
  end.run!
527
529
  end
@@ -529,16 +531,16 @@ describe Commander do
529
531
  it "when using multi-word commands" do
530
532
  new_command_runner '--verbose', 'my', 'command', 'something', 'foo', 'bar' do
531
533
  command('my command') { |c| c.option('--verbose') }
532
- command_runner.command_name_from_args.should eq('my command')
533
- command_runner.args_without_command_name.should eq(['--verbose', 'something', 'foo', 'bar'])
534
+ expect(command_runner.command_name_from_args).to eq('my command')
535
+ expect(command_runner.args_without_command_name).to eq(['--verbose', 'something', 'foo', 'bar'])
534
536
  end.run!
535
537
  end
536
538
 
537
539
  it "when using multi-word commands with parts of the command name as arguments" do
538
540
  new_command_runner '--verbose', 'my', 'command', 'something', 'my', 'command' do
539
541
  command('my command') { |c| c.option('--verbose') }
540
- command_runner.command_name_from_args.should eq('my command')
541
- command_runner.args_without_command_name.should eq(['--verbose', 'something', 'my', 'command'])
542
+ expect(command_runner.command_name_from_args).to eq('my command')
543
+ expect(command_runner.args_without_command_name).to eq(['--verbose', 'something', 'my', 'command'])
542
544
  end.run!
543
545
  end
544
546
 
@@ -546,8 +548,8 @@ describe Commander do
546
548
  new_command_runner '--verbose', 'my', 'command', 'something', 'my', 'command' do
547
549
  command('my command') {}
548
550
  command('my command something') { |c| c.option('--verbose') }
549
- command_runner.command_name_from_args.should eq('my command something')
550
- command_runner.args_without_command_name.should eq(['--verbose', 'my', 'command'])
551
+ expect(command_runner.command_name_from_args).to eq('my command something')
552
+ expect(command_runner.args_without_command_name).to eq(['--verbose', 'my', 'command'])
551
553
  end.run!
552
554
  end
553
555
  end
@@ -558,7 +560,7 @@ describe Commander do
558
560
  command('foo') do |c|
559
561
  c.option('--optional [argument]')
560
562
  c.when_called do |_, options|
561
- options.optional.should eq('arg1')
563
+ expect(options.optional).to eq('arg1')
562
564
  end
563
565
  end
564
566
  end.run!
@@ -569,7 +571,7 @@ describe Commander do
569
571
  command('foo') do |c|
570
572
  c.option('--optional [argument]')
571
573
  c.when_called do |_, options|
572
- options.optional.should be_true
574
+ expect(options.optional).to be_true
573
575
  end
574
576
  end
575
577
  end.run!
@@ -1,7 +1,9 @@
1
1
  require 'rubygems'
2
2
  require 'stringio'
3
3
  require 'simplecov'
4
- SimpleCov.start
4
+ SimpleCov.start do
5
+ add_filter "/spec/"
6
+ end
5
7
 
6
8
  # Unshift so that local files load instead of something in gems
7
9
  $:.unshift File.dirname(__FILE__) + '/../lib'
@@ -9,21 +11,7 @@ $:.unshift File.dirname(__FILE__) + '/../lib'
9
11
  # This basically replicates the behavior of `require 'commander/import'`
10
12
  # but without adding an `at_exit` hook, which interferes with exit code
11
13
  require 'commander'
12
- require 'commander/delegates'
13
-
14
- include Commander::UI
15
- include Commander::UI::AskForClass
16
- include Commander::Delegates
17
-
18
- # prevent paging from actually occurring in test environment
19
-
20
- module Commander
21
- module UI
22
- def enable_paging
23
- return
24
- end
25
- end
26
- end
14
+ require 'commander/methods'
27
15
 
28
16
  # Mock terminal IO streams so we can spec against them
29
17
 
@@ -72,4 +60,18 @@ def run *args
72
60
  program :help_formatter, Commander::HelpFormatter::Base
73
61
  end.run!
74
62
  @output.string
75
- end
63
+ end
64
+
65
+ RSpec.configure do |c|
66
+ c.expect_with(:rspec) do |e|
67
+ e.syntax = :expect
68
+ end
69
+
70
+ c.mock_with(:rspec) do |m|
71
+ m.syntax = :expect
72
+ end
73
+
74
+ c.before(:each) do
75
+ allow(Commander::UI).to receive(:enable_paging)
76
+ end
77
+ end
@@ -1,11 +1,12 @@
1
1
  require 'spec_helper'
2
2
 
3
3
  describe Commander::UI do
4
+ include Commander::Methods
4
5
 
5
6
  describe ".replace_tokens" do
6
7
  it "should replace tokens within a string, with hash values" do
7
8
  result = Commander::UI.replace_tokens 'Welcome :name, enjoy your :object'.freeze, :name => 'TJ', :object => 'cookie'
8
- result.should eq('Welcome TJ, enjoy your cookie')
9
+ expect(result).to eq('Welcome TJ, enjoy your cookie')
9
10
  end
10
11
  end
11
12
 
@@ -17,13 +18,13 @@ describe Commander::UI do
17
18
  rescue
18
19
  exception = true
19
20
  end
20
- exception.should_not be_true
21
+ expect(exception).not_to be_true
21
22
  end
22
23
  end
23
24
 
24
25
  describe ".available_editor" do
25
26
  it "should not fail on available editors with shell arguments" do
26
- Commander::UI.available_editor('sh -c').should eq('sh -c')
27
+ expect(Commander::UI.available_editor('sh -c')).to eq('sh -c')
27
28
  end
28
29
  end
29
30
 
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.1.6
4
+ version: 4.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - TJ Holowaychuk
@@ -9,62 +9,62 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2014-02-11 00:00:00.000000000 Z
12
+ date: 2014-04-30 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: highline
16
16
  requirement: !ruby/object:Gem::Requirement
17
17
  requirements:
18
- - - ~>
18
+ - - "~>"
19
19
  - !ruby/object:Gem::Version
20
20
  version: 1.6.11
21
21
  type: :runtime
22
22
  prerelease: false
23
23
  version_requirements: !ruby/object:Gem::Requirement
24
24
  requirements:
25
- - - ~>
25
+ - - "~>"
26
26
  - !ruby/object:Gem::Version
27
27
  version: 1.6.11
28
28
  - !ruby/object:Gem::Dependency
29
29
  name: rspec
30
30
  requirement: !ruby/object:Gem::Requirement
31
31
  requirements:
32
- - - ~>
32
+ - - "~>"
33
33
  - !ruby/object:Gem::Version
34
- version: '2'
34
+ version: '2.14'
35
35
  type: :development
36
36
  prerelease: false
37
37
  version_requirements: !ruby/object:Gem::Requirement
38
38
  requirements:
39
- - - ~>
39
+ - - "~>"
40
40
  - !ruby/object:Gem::Version
41
- version: '2'
41
+ version: '2.14'
42
42
  - !ruby/object:Gem::Dependency
43
43
  name: rake
44
44
  requirement: !ruby/object:Gem::Requirement
45
45
  requirements:
46
- - - '>='
46
+ - - ">="
47
47
  - !ruby/object:Gem::Version
48
48
  version: '0'
49
49
  type: :development
50
50
  prerelease: false
51
51
  version_requirements: !ruby/object:Gem::Requirement
52
52
  requirements:
53
- - - '>='
53
+ - - ">="
54
54
  - !ruby/object:Gem::Version
55
55
  version: '0'
56
56
  - !ruby/object:Gem::Dependency
57
57
  name: simplecov
58
58
  requirement: !ruby/object:Gem::Requirement
59
59
  requirements:
60
- - - '>='
60
+ - - ">="
61
61
  - !ruby/object:Gem::Version
62
62
  version: '0'
63
63
  type: :development
64
64
  prerelease: false
65
65
  version_requirements: !ruby/object:Gem::Requirement
66
66
  requirements:
67
- - - '>='
67
+ - - ">="
68
68
  - !ruby/object:Gem::Version
69
69
  version: '0'
70
70
  description: The complete solution for Ruby command-line executables. Commander bridges
@@ -77,8 +77,8 @@ executables:
77
77
  extensions: []
78
78
  extra_rdoc_files: []
79
79
  files:
80
- - .gitignore
81
- - .travis.yml
80
+ - ".gitignore"
81
+ - ".travis.yml"
82
82
  - DEVELOPMENT
83
83
  - Gemfile
84
84
  - History.rdoc
@@ -91,6 +91,7 @@ files:
91
91
  - lib/commander.rb
92
92
  - lib/commander/blank.rb
93
93
  - lib/commander/command.rb
94
+ - lib/commander/configure.rb
94
95
  - lib/commander/core_ext.rb
95
96
  - lib/commander/core_ext/array.rb
96
97
  - lib/commander/core_ext/object.rb
@@ -104,14 +105,17 @@ files:
104
105
  - lib/commander/help_formatters/terminal_compact/command_help.erb
105
106
  - lib/commander/help_formatters/terminal_compact/help.erb
106
107
  - lib/commander/import.rb
108
+ - lib/commander/methods.rb
107
109
  - lib/commander/platform.rb
108
110
  - lib/commander/runner.rb
109
111
  - lib/commander/user_interaction.rb
110
112
  - lib/commander/version.rb
111
113
  - spec/command_spec.rb
114
+ - spec/configure_spec.rb
112
115
  - spec/core_ext/array_spec.rb
113
116
  - spec/core_ext/object_spec.rb
114
117
  - spec/help_formatters/terminal_spec.rb
118
+ - spec/methods_spec.rb
115
119
  - spec/runner_spec.rb
116
120
  - spec/spec_helper.rb
117
121
  - spec/ui_spec.rb
@@ -125,25 +129,27 @@ require_paths:
125
129
  - lib
126
130
  required_ruby_version: !ruby/object:Gem::Requirement
127
131
  requirements:
128
- - - '>='
132
+ - - ">="
129
133
  - !ruby/object:Gem::Version
130
134
  version: '0'
131
135
  required_rubygems_version: !ruby/object:Gem::Requirement
132
136
  requirements:
133
- - - '>='
137
+ - - ">="
134
138
  - !ruby/object:Gem::Version
135
139
  version: '0'
136
140
  requirements: []
137
141
  rubyforge_project: commander
138
- rubygems_version: 2.2.1
142
+ rubygems_version: 2.2.2
139
143
  signing_key:
140
144
  specification_version: 4
141
145
  summary: The complete solution for Ruby command-line executables
142
146
  test_files:
143
147
  - spec/command_spec.rb
148
+ - spec/configure_spec.rb
144
149
  - spec/core_ext/array_spec.rb
145
150
  - spec/core_ext/object_spec.rb
146
151
  - spec/help_formatters/terminal_spec.rb
152
+ - spec/methods_spec.rb
147
153
  - spec/runner_spec.rb
148
154
  - spec/spec_helper.rb
149
155
  - spec/ui_spec.rb