Skip to content
Snippets Groups Projects
Commit 6b5e92ac authored by Jack Nagel's avatar Jack Nagel
Browse files

Raise AlreadyLinkedError when a keg is already linked

parent b2e8c4e7
No related branches found
No related tags found
No related merge requests found
......@@ -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!
......
......@@ -49,7 +49,7 @@ class LinkTests < Test::Unit::TestCase
def test_linking_fails_when_already_linked
@keg.link
assert_raise RuntimeError do
assert_raise Keg::AlreadyLinkedError do
shutup { @keg.link }
end
end
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment