Make relative symlinks in Pathname#install_symlink

Closes Homebrew/homebrew#27672.
This commit is contained in:
Jack Nagel 2014-03-18 19:03:25 -05:00
parent 4353f4fc97
commit aa7ed10968
2 changed files with 5 additions and 7 deletions

View File

@ -79,14 +79,10 @@ class Pathname
end
end
def install_symlink_p src, new_basename = nil
if new_basename.nil?
dst = self+File.basename(src)
else
dst = self+File.basename(new_basename)
end
def install_symlink_p src, new_basename=src
dst = join File.basename(new_basename)
mkpath
FileUtils.ln_s src.to_s, dst.to_s
FileUtils.ln_s Pathname(src).relative_path_from(dst.parent), dst
end
protected :install_symlink_p

View File

@ -194,6 +194,8 @@ class PathnameExtensionTests < Test::Unit::TestCase
assert((@dst+'bin').directory?)
assert((@dst+'bin/a.txt').exist?)
assert((@dst+'bin/b.txt').exist?)
assert((@dst+'bin').readlink.relative?)
end
end