diff options
| author | Jack Nagel | 2015-03-23 21:03:55 -0400 | 
|---|---|---|
| committer | Jack Nagel | 2015-03-24 21:03:45 -0400 | 
| commit | c2b8017e68068eca9589aa6020da800f0e668264 (patch) | |
| tree | 023d2fc15ab30fa1f25735a0e486cb92548faee6 | |
| parent | 0bc8c8c299a9130042d802b55ea932266aedc5fd (diff) | |
| download | homebrew-c2b8017e68068eca9589aa6020da800f0e668264.tar.bz2 | |
Always pass basename to install_p
Currently, when called with one argument, dst is set to self, i.e. the
directory into which the source file should be moved.
When called with a second argument (for renames), dst is the full path,
including the basename, to the moved file.
Instead, let's always pass the full path, which means we can remove the
branching logic around computing dst.
| -rw-r--r-- | Library/Homebrew/extend/pathname.rb | 15 | ||||
| -rw-r--r-- | Library/Homebrew/install_renamed.rb | 4 | 
2 files changed, 6 insertions, 13 deletions
| diff --git a/Library/Homebrew/extend/pathname.rb b/Library/Homebrew/extend/pathname.rb index 6f9f4d069..17b11eb87 100644 --- a/Library/Homebrew/extend/pathname.rb +++ b/Library/Homebrew/extend/pathname.rb @@ -21,28 +21,23 @@ class Pathname            opoo "tried to install empty array to #{self}"            return          end -        src.each {|s| install_p(s) } +        src.each { |s| install_p(s, File.basename(s)) }        when Hash          if src.empty?            opoo "tried to install empty hash to #{self}"            return          end -        src.each {|s, new_basename| install_p(s, new_basename) } +        src.each { |s, new_basename| install_p(s, new_basename) }        else -        install_p(src) +        install_p(src, File.basename(src))        end      end    end -  def install_p src, new_basename = nil +  def install_p(src, new_basename)      raise Errno::ENOENT, src.to_s unless File.symlink?(src) || File.exist?(src) -    if new_basename -      new_basename = File.basename(new_basename) # rationale: see Pathname.+ -      dst = self+new_basename -    else -      dst = self -    end +    dst = join(new_basename)      src = src.to_s      dst = dst.to_s diff --git a/Library/Homebrew/install_renamed.rb b/Library/Homebrew/install_renamed.rb index e88ecb8c5..f72fe1309 100644 --- a/Library/Homebrew/install_renamed.rb +++ b/Library/Homebrew/install_renamed.rb @@ -1,8 +1,6 @@  module InstallRenamed -  def install_p _, new_basename = nil +  def install_p(_, new_basename)      super do |src, dst| -      dst += "/#{File.basename(src)}" if File.directory? dst -        if File.directory? src          Pathname.new(dst).install Dir["#{src}/*"]          next | 
