From 0cc45884bbb42f4754c02f313b0567396fd2003d Mon Sep 17 00:00:00 2001 From: Max Howell Date: Sat, 24 Oct 2009 18:09:43 +0100 Subject: [PATCH] Fixes Homebrew/homebrew#106; Don't downcase ARGV.named --- Library/Homebrew/extend/ARGV.rb | 21 ++++++++++++++------- Library/Homebrew/test/unittest.rb | 18 +++++++++--------- 2 files changed, 23 insertions(+), 16 deletions(-) diff --git a/Library/Homebrew/extend/ARGV.rb b/Library/Homebrew/extend/ARGV.rb index b8ccbda530..62ac933f77 100644 --- a/Library/Homebrew/extend/ARGV.rb +++ b/Library/Homebrew/extend/ARGV.rb @@ -23,27 +23,31 @@ # module HomebrewArgvExtension def named - raise UsageError if _named.empty? - _named + raise UsageError if private_named.empty? + private_named end def named_empty? - _named.empty? + private_named.empty? end def options select {|arg| arg[0..0] == '-'} end def formulae require 'formula' - @formulae ||= named.collect {|name| Formula.factory name} + @formulae ||= downcased_unique_named.collect {|name| Formula.factory name} + raise UsageError if @formulae.empty? + @formulae end def kegs require 'keg' - @kegs ||= named.collect do |name| + @kegs ||= downcased_unique_named.collect do |name| d=HOMEBREW_CELLAR+name raise "#{name} is not installed" if not d.directory? or d.children.length == 0 raise "#{name} has multiple installed versions" if d.children.length > 1 Keg.new d.children[0] end + raise UsageError if @kegs.empty? + @kegs end # self documenting perhaps? @@ -108,8 +112,11 @@ To visit the Homebrew homepage type: end private - def _named - @named ||= reject{|arg| arg[0..0] == '-'}.collect{|arg| arg.downcase}.uniq + def private_named + @named ||= reject{|arg| arg[0..0] == '-'} + end + def downcased_unique_named + @downcased_unique_named ||= private_named.collect{|arg| arg.downcase}.uniq end end diff --git a/Library/Homebrew/test/unittest.rb b/Library/Homebrew/test/unittest.rb index 923080ea8a..edd420df35 100755 --- a/Library/Homebrew/test/unittest.rb +++ b/Library/Homebrew/test/unittest.rb @@ -135,12 +135,11 @@ end module ExtendArgvPlusYeast def reset - @named=nil - @formulae=nil - @kegs=nil - while ARGV.length > 0 - ARGV.shift - end + @named = nil + @downcased_unique_named = nil + @formulae = nil + @kegs = nil + ARGV.shift while ARGV.length > 0 end end ARGV.extend ExtendArgvPlusYeast @@ -398,12 +397,13 @@ class BeerTasting