aboutsummaryrefslogtreecommitdiffstats
path: root/Library
diff options
context:
space:
mode:
authorMax Howell2009-10-26 18:16:42 +0000
committerMax Howell2009-11-07 18:22:33 +0000
commit1b066d77bfc301d8f91ee3655d8b9c0a0f758bef (patch)
treee7db49996adb39c7988f042eba3823d4f851d18f /Library
parent39b392dfb41807260b449bd7c36d5314ba8f2888 (diff)
downloadhomebrew-1b066d77bfc301d8f91ee3655d8b9c0a0f758bef.tar.bz2
Better errors if missing keg or formula arguments
Diffstat (limited to 'Library')
-rw-r--r--Library/Homebrew/extend/ARGV.rb10
-rwxr-xr-xLibrary/Homebrew/test/unittest.rb7
2 files changed, 9 insertions, 8 deletions
diff --git a/Library/Homebrew/extend/ARGV.rb b/Library/Homebrew/extend/ARGV.rb
index e7585edbc..50ad56334 100644
--- a/Library/Homebrew/extend/ARGV.rb
+++ b/Library/Homebrew/extend/ARGV.rb
@@ -21,6 +21,10 @@
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#
+class UsageError <RuntimeError; end
+class FormulaUnspecifiedError <UsageError; end
+class KegUnspecifiedError <UsageError; end
+
module HomebrewArgvExtension
def named
@named ||= reject{|arg| arg[0..0] == '-'}
@@ -31,7 +35,7 @@ module HomebrewArgvExtension
def formulae
require 'formula'
@formulae ||= downcased_unique_named.collect {|name| Formula.factory name}
- raise UsageError if @formulae.empty?
+ raise FormulaUnspecifiedError if @formulae.empty?
@formulae
end
def kegs
@@ -42,7 +46,7 @@ module HomebrewArgvExtension
raise "#{name} has multiple installed versions" if d.children.length > 1
Keg.new d.children[0]
end
- raise UsageError if @kegs.empty?
+ raise KegUnspecifiedError if @kegs.empty?
@kegs
end
@@ -113,5 +117,3 @@ To visit the Homebrew homepage type:
@downcased_unique_named ||= named.collect{|arg| arg.downcase}.uniq
end
end
-
-class UsageError <RuntimeError; end
diff --git a/Library/Homebrew/test/unittest.rb b/Library/Homebrew/test/unittest.rb
index edd420df3..bfa84bfd9 100755
--- a/Library/Homebrew/test/unittest.rb
+++ b/Library/Homebrew/test/unittest.rb
@@ -407,10 +407,9 @@ class BeerTasting <Test::Unit::TestCase
end
def test_ARGV
- assert_raises(UsageError) { ARGV.named }
- assert_raises(UsageError) { ARGV.formulae }
- assert_raises(UsageError) { ARGV.kegs }
- assert ARGV.named_empty?
+ assert_raises(FormulaUnspecifiedError) { ARGV.formulae }
+ assert_raises(KegUnspecifiedError) { ARGV.kegs }
+ assert ARGV.named.empty?
(HOMEBREW_CELLAR+'mxcl'+'10.0').mkpath