aboutsummaryrefslogtreecommitdiffstats
path: root/Library
diff options
context:
space:
mode:
authorJack Nagel2014-12-14 13:32:50 -0500
committerJack Nagel2014-12-14 13:32:55 -0500
commit5ca4dbfd25b61320da6ece04f815ab812031758c (patch)
treeff5e7dd1ec9e76734df51dbc1b52e8b47c1f981a /Library
parent612230a7051c5b16b8be55d559afe230b921e387 (diff)
downloadbrew-5ca4dbfd25b61320da6ece04f815ab812031758c.tar.bz2
Skip temporary directory when target directory is known
Diffstat (limited to 'Library')
-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