aboutsummaryrefslogtreecommitdiffstats
path: root/Library/Homebrew/resource.rb
diff options
context:
space:
mode:
authorJack Nagel2014-12-14 13:32:50 -0500
committerJack Nagel2014-12-14 13:32:55 -0500
commit028ee18b851497f8aede55004bcdcc5c16f087cc (patch)
tree839d4f80b7309ae8b351add9a6744b046c7f4faa /Library/Homebrew/resource.rb
parent31818c5e7fbb6ffc2fc2cfd06edcef655ba15913 (diff)
downloadhomebrew-028ee18b851497f8aede55004bcdcc5c16f087cc.tar.bz2
Skip temporary directory when target directory is known
Diffstat (limited to 'Library/Homebrew/resource.rb')
-rw-r--r--Library/Homebrew/resource.rb12
1 files changed, 6 insertions, 6 deletions
diff --git a/Library/Homebrew/resource.rb b/Library/Homebrew/resource.rb
index 573a7bcb1..218b75625 100644
--- a/Library/Homebrew/resource.rb
+++ b/Library/Homebrew/resource.rb
@@ -85,13 +85,13 @@ class Resource
# If block is given, yield to that block
# A target or a block must be given, but not both
def unpack(target=nil)
- mktemp(download_name) do
- downloader.stage
- if block_given?
+ if target
+ mkdir_p(target)
+ chdir(target) { downloader.stage }
+ elsif block_given?
+ mktemp(download_name) do
+ downloader.stage
yield self
- elsif target
- target = Pathname.new(target) unless target.is_a? Pathname
- target.install Dir['*']
end
end
end