boson 1.2.1 → 1.2.2

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,3 +1,7 @@
1
+ == 1.2.2
2
+ * Fix required arg command failing hard with no args
3
+ * Fix bug with Command#option_command? not being available to plugins
4
+
1
5
  == 1.2.1
2
6
  * Fix only option being invalid and not deleted
3
7
  * Fix handling option parse errors in Runner
@@ -104,6 +104,11 @@ module Boson
104
104
  }.join(' ')
105
105
  end
106
106
  alias_method :usage, :basic_usage
107
+
108
+ # Indicates if an OptionCommand
109
+ def option_command?
110
+ options || @option_command
111
+ end
107
112
  end
108
113
  include API
109
114
 
@@ -121,11 +126,6 @@ module Boson
121
126
  @option_parser ||= OptionParser.new(@options || {})
122
127
  end
123
128
 
124
- # Indicates if an OptionCommand
125
- def option_command?
126
- options || @option_command
127
- end
128
-
129
129
  # until @config is consistent in index + actual loading
130
130
  def config
131
131
  @config ||= {}
@@ -144,8 +144,8 @@ module Boson
144
144
  # Determines if incorrect # of args given i.e. too little or too much
145
145
  def incorrect_arg_size?(args)
146
146
  return false if has_splat_args?
147
- required_arg_size = args.take_while {|e| e[1].nil? }.size
148
- args.size < required_arg_size || args.size > arg_size
147
+ required_arg_size = @args.take_while {|e| e[1].nil? }.size
148
+ args.size < required_arg_size || args.size > required_arg_size
149
149
  end
150
150
 
151
151
  # Number of arguments
@@ -1,3 +1,3 @@
1
1
  module Boson
2
- VERSION = '1.2.1'
2
+ VERSION = '1.2.2'
3
3
  end
@@ -240,6 +240,13 @@ STR
240
240
  my_command('blarg').should == ''
241
241
  end
242
242
 
243
+ it 'prints error message for command missing required args' do
244
+ MyRunner.expects(:abort).with <<-STR.chomp
245
+ my_command: 'mini' was called incorrectly.
246
+ Usage: mini ME
247
+ STR
248
+ my_command('mini').should == ''
249
+ end
243
250
  it "allows no method error in command" do
244
251
  assert_error(NoMethodError) { my_command('boom') }
245
252
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: boson
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.1
4
+ version: 1.2.2
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-03-30 00:00:00.000000000 Z
12
+ date: 2012-04-06 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: mocha
16
- requirement: !ruby/object:Gem::Requirement
16
+ requirement: &70276150893880 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ~>
@@ -21,15 +21,10 @@ dependencies:
21
21
  version: 0.10.4
22
22
  type: :development
23
23
  prerelease: false
24
- version_requirements: !ruby/object:Gem::Requirement
25
- none: false
26
- requirements:
27
- - - ~>
28
- - !ruby/object:Gem::Version
29
- version: 0.10.4
24
+ version_requirements: *70276150893880
30
25
  - !ruby/object:Gem::Dependency
31
26
  name: bacon
32
- requirement: !ruby/object:Gem::Requirement
27
+ requirement: &70276150893300 !ruby/object:Gem::Requirement
33
28
  none: false
34
29
  requirements:
35
30
  - - ! '>='
@@ -37,15 +32,10 @@ dependencies:
37
32
  version: 1.1.0
38
33
  type: :development
39
34
  prerelease: false
40
- version_requirements: !ruby/object:Gem::Requirement
41
- none: false
42
- requirements:
43
- - - ! '>='
44
- - !ruby/object:Gem::Version
45
- version: 1.1.0
35
+ version_requirements: *70276150893300
46
36
  - !ruby/object:Gem::Dependency
47
37
  name: mocha-on-bacon
48
- requirement: !ruby/object:Gem::Requirement
38
+ requirement: &70276150892780 !ruby/object:Gem::Requirement
49
39
  none: false
50
40
  requirements:
51
41
  - - ! '>='
@@ -53,15 +43,10 @@ dependencies:
53
43
  version: '0'
54
44
  type: :development
55
45
  prerelease: false
56
- version_requirements: !ruby/object:Gem::Requirement
57
- none: false
58
- requirements:
59
- - - ! '>='
60
- - !ruby/object:Gem::Version
61
- version: '0'
46
+ version_requirements: *70276150892780
62
47
  - !ruby/object:Gem::Dependency
63
48
  name: bacon-bits
64
- requirement: !ruby/object:Gem::Requirement
49
+ requirement: &70276150892060 !ruby/object:Gem::Requirement
65
50
  none: false
66
51
  requirements:
67
52
  - - ! '>='
@@ -69,15 +54,10 @@ dependencies:
69
54
  version: '0'
70
55
  type: :development
71
56
  prerelease: false
72
- version_requirements: !ruby/object:Gem::Requirement
73
- none: false
74
- requirements:
75
- - - ! '>='
76
- - !ruby/object:Gem::Version
77
- version: '0'
57
+ version_requirements: *70276150892060
78
58
  - !ruby/object:Gem::Dependency
79
59
  name: bahia
80
- requirement: !ruby/object:Gem::Requirement
60
+ requirement: &70276150891360 !ruby/object:Gem::Requirement
81
61
  none: false
82
62
  requirements:
83
63
  - - ! '>='
@@ -85,12 +65,7 @@ dependencies:
85
65
  version: 0.5.0
86
66
  type: :development
87
67
  prerelease: false
88
- version_requirements: !ruby/object:Gem::Requirement
89
- none: false
90
- requirements:
91
- - - ! '>='
92
- - !ruby/object:Gem::Version
93
- version: 0.5.0
68
+ version_requirements: *70276150891360
94
69
  description: Boson is a modular command/task framework. Thanks to its rich set of
95
70
  plugins, it differentiates itself from rake and thor by being usable from irb and
96
71
  the commandline, having optional automated views generated by hirb and allowing
@@ -165,7 +140,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
165
140
  version: 1.3.6
166
141
  requirements: []
167
142
  rubyforge_project:
168
- rubygems_version: 1.8.19
143
+ rubygems_version: 1.8.11
169
144
  signing_key:
170
145
  specification_version: 3
171
146
  summary: A command/task framework similar to rake and thor that opens your ruby universe