aboutsummaryrefslogtreecommitdiffstats
path: root/Library/Homebrew
diff options
context:
space:
mode:
Diffstat (limited to 'Library/Homebrew')
-rw-r--r--Library/Homebrew/download_strategy.rb7
-rw-r--r--Library/Homebrew/exceptions.rb11
2 files changed, 11 insertions, 7 deletions
diff --git a/Library/Homebrew/download_strategy.rb b/Library/Homebrew/download_strategy.rb
index f474b03a6..55097a92a 100644
--- a/Library/Homebrew/download_strategy.rb
+++ b/Library/Homebrew/download_strategy.rb
@@ -184,12 +184,7 @@ class CurlDownloadStrategy < AbstractDownloadStrategy
had_incomplete_download = false
retry
else
- if @url =~ %r[^file://]
- msg = "File does not exist: #{@url.sub(%r[^file://], "")}"
- else
- msg = "Download failed: #{@url}"
- end
- raise CurlDownloadStrategyError, msg
+ raise CurlDownloadStrategyError.new(@url)
end
end
ignore_interrupts { temporary_path.rename(cached_location) }
diff --git a/Library/Homebrew/exceptions.rb b/Library/Homebrew/exceptions.rb
index a6a3380bb..66d5c33d2 100644
--- a/Library/Homebrew/exceptions.rb
+++ b/Library/Homebrew/exceptions.rb
@@ -208,7 +208,16 @@ class DownloadError < RuntimeError
end
# raised in CurlDownloadStrategy.fetch
-class CurlDownloadStrategyError < RuntimeError; end
+class CurlDownloadStrategyError < RuntimeError
+ def initialize(url)
+ case url
+ when %r[^file://(.+)]
+ super "File does not exist: #{$1}"
+ else
+ super "Download failed: #{url}"
+ end
+ end
+end
# raised by safe_system in utils.rb
class ErrorDuringExecution < RuntimeError