aboutsummaryrefslogtreecommitdiffstats
path: root/Library/Homebrew/keg.rb
diff options
context:
space:
mode:
authorJack Nagel2014-04-21 09:40:24 -0500
committerJack Nagel2014-04-21 12:43:06 -0500
commit190fbf732347439de10484474e8aa0bb0d9b5df6 (patch)
tree2a3f2d11c5df73725b519f3397b7f16d91cff781 /Library/Homebrew/keg.rb
parent69a0d7cafd236e548c4dd3c5e95cffc7f5ed9321 (diff)
downloadhomebrew-190fbf732347439de10484474e8aa0bb0d9b5df6.tar.bz2
Raise AlreadyLinkedError when a keg is already linked
Diffstat (limited to 'Library/Homebrew/keg.rb')
-rw-r--r--Library/Homebrew/keg.rb11
1 files changed, 10 insertions, 1 deletions
diff --git a/Library/Homebrew/keg.rb b/Library/Homebrew/keg.rb
index 80408f73d..333b66ee4 100644
--- a/Library/Homebrew/keg.rb
+++ b/Library/Homebrew/keg.rb
@@ -4,6 +4,15 @@ require "formula_lock"
require "ostruct"
class Keg < Pathname
+ class AlreadyLinkedError < RuntimeError
+ def initialize(keg)
+ super <<-EOS.undent
+ Cannot link #{keg.fname}
+ Another version is already linked: #{keg.linked_keg_record.resolved_path}
+ EOS
+ end
+ end
+
class LinkError < RuntimeError
attr_reader :keg, :src, :dst
@@ -169,7 +178,7 @@ class Keg < Pathname
end
def link mode=OpenStruct.new
- raise "Cannot link #{fname}\nAnother version is already linked: #{linked_keg_record.resolved_path}" if linked_keg_record.directory?
+ raise AlreadyLinkedError.new(self) if linked_keg_record.directory?
ObserverPathnameExtension.reset_counts!