aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJack Nagel2014-03-15 12:55:14 -0500
committerJack Nagel2014-03-15 12:55:14 -0500
commit55d8cd60eb5c90a0f080dd57871fd04056b7eb8c (patch)
treeda7108aa2b679b8dd2107c0fa8f761d088eadc17
parent380fc27e27ec685f2fefebcfab999ace1d8b7dfb (diff)
downloadhomebrew-55d8cd60eb5c90a0f080dd57871fd04056b7eb8c.tar.bz2
Use canonicalized name in NoSuchKegError message
cf. #22778.
-rw-r--r--Library/Homebrew/extend/ARGV.rb12
1 files changed, 7 insertions, 5 deletions
diff --git a/Library/Homebrew/extend/ARGV.rb b/Library/Homebrew/extend/ARGV.rb
index 73d6a414f..911d49f6b 100644
--- a/Library/Homebrew/extend/ARGV.rb
+++ b/Library/Homebrew/extend/ARGV.rb
@@ -19,15 +19,17 @@ module HomebrewArgvExtension
require 'formula'
@kegs ||= downcased_unique_named.collect do |name|
canonical_name = Formula.canonical_name(name)
- rack = HOMEBREW_CELLAR + if canonical_name.include? "/"
+
+ if canonical_name.include? "/"
# canonical_name returns a path if it was a formula installed via a
# URL. And we only want the name. FIXME that function is insane.
- Pathname.new(canonical_name).stem
+ rack = HOMEBREW_CELLAR/Pathname.new(canonical_name).stem
else
- canonical_name
+ rack = HOMEBREW_CELLAR/canonical_name
end
- dirs = rack.children.select{ |pn| pn.directory? } rescue []
- raise NoSuchKegError.new(name) if not rack.directory? or dirs.length == 0
+
+ dirs = rack.directory? ? rack.subdirs : []
+ raise NoSuchKegError.new(rack.basename.to_s) if not rack.directory? or dirs.empty?
linked_keg_ref = HOMEBREW_REPOSITORY/"Library/LinkedKegs"/name