diff options
Diffstat (limited to 'Library/Homebrew')
-rw-r--r-- | Library/Homebrew/resource.rb | 12 |
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 |