aboutsummaryrefslogtreecommitdiffstats
path: root/Library/Homebrew/download_strategy.rb
diff options
context:
space:
mode:
Diffstat (limited to 'Library/Homebrew/download_strategy.rb')
-rw-r--r--Library/Homebrew/download_strategy.rb11
1 files changed, 7 insertions, 4 deletions
diff --git a/Library/Homebrew/download_strategy.rb b/Library/Homebrew/download_strategy.rb
index 01ff12a71..df903c3bc 100644
--- a/Library/Homebrew/download_strategy.rb
+++ b/Library/Homebrew/download_strategy.rb
@@ -761,12 +761,15 @@ end
class DownloadStrategyDetector
def self.detect(url, strategy=nil)
- if strategy.is_a? Class and strategy.ancestors.include? AbstractDownloadStrategy
- strategy
- elsif strategy.is_a? Symbol
+ if strategy.nil?
+ detect_from_url(url)
+ elsif Class === strategy && strategy < AbstractDownloadStrategy
+ strategy
+ elsif Symbol === strategy
detect_from_symbol(strategy)
else
- detect_from_url(url)
+ raise TypeError,
+ "Unknown download strategy specification #{strategy.inspect}"
end
end