diff options
| author | Mike McQuaid | 2016-09-24 20:48:03 +0100 |
|---|---|---|
| committer | Mike McQuaid | 2016-09-24 20:48:03 +0100 |
| commit | e767fd3df9d179fca0445cc0bc0fdc061ad857d6 (patch) | |
| tree | 93e9db33313b36eebe7d7fb3aedf0f92cc2c3918 /Library/Homebrew/cask/lib/hbc/download.rb | |
| parent | 7fc241765e3654718235791c32e5638bf7f8e15a (diff) | |
| parent | 232078df57418004bb9bf7abef877e734fcf7005 (diff) | |
| download | brew-e767fd3df9d179fca0445cc0bc0fdc061ad857d6.tar.bz2 | |
Merge branch 'master' into mkdir_with_intermediates
Diffstat (limited to 'Library/Homebrew/cask/lib/hbc/download.rb')
| -rw-r--r-- | Library/Homebrew/cask/lib/hbc/download.rb | 78 |
1 files changed, 40 insertions, 38 deletions
diff --git a/Library/Homebrew/cask/lib/hbc/download.rb b/Library/Homebrew/cask/lib/hbc/download.rb index 18dd7fe44..4166fc74d 100644 --- a/Library/Homebrew/cask/lib/hbc/download.rb +++ b/Library/Homebrew/cask/lib/hbc/download.rb @@ -1,43 +1,45 @@ require "fileutils" require "hbc/verify" -class Hbc::Download - attr_reader :cask - - def initialize(cask, force: false) - @cask = cask - @force = force - end - - def perform - clear_cache - fetch - downloaded_path - end - - private - - attr_reader :force - attr_accessor :downloaded_path - - def downloader - @downloader ||= case cask.url.using - when :svn - Hbc::SubversionDownloadStrategy.new(cask) - when :post - Hbc::CurlPostDownloadStrategy.new(cask) - else - Hbc::CurlDownloadStrategy.new(cask) - end - end - - def clear_cache - downloader.clear_cache if force || cask.version.latest? - end - - def fetch - self.downloaded_path = downloader.fetch - rescue StandardError => e - raise Hbc::CaskError, "Download failed on Cask '#{cask}' with message: #{e}" +module Hbc + class Download + attr_reader :cask + + def initialize(cask, force: false) + @cask = cask + @force = force + end + + def perform + clear_cache + fetch + downloaded_path + end + + private + + attr_reader :force + attr_accessor :downloaded_path + + def downloader + @downloader ||= case cask.url.using + when :svn + SubversionDownloadStrategy.new(cask) + when :post + CurlPostDownloadStrategy.new(cask) + else + CurlDownloadStrategy.new(cask) + end + end + + def clear_cache + downloader.clear_cache if force || cask.version.latest? + end + + def fetch + self.downloaded_path = downloader.fetch + rescue StandardError => e + raise CaskError, "Download failed on Cask '#{cask}' with message: #{e}" + end end end |
