aboutsummaryrefslogtreecommitdiffstats
path: root/Library/Homebrew/cmd/fetch.rb
diff options
context:
space:
mode:
authorJack Nagel2013-01-11 18:03:51 -0600
committerJack Nagel2013-02-01 22:17:46 -0600
commit67d798e9052dd8e6cef8ef38d4e4852f37288f0e (patch)
tree3f1096cfe4319c144ea20c69b72fe0e3f50ccb48 /Library/Homebrew/cmd/fetch.rb
parentc166ce3f581bda226b8fde4852dcf5775255d713 (diff)
downloadbrew-67d798e9052dd8e6cef8ef38d4e4852f37288f0e.tar.bz2
Refactor fetch
Remove direct references to checksum types, access them through the Checksum::TYPES constant instead.
Diffstat (limited to 'Library/Homebrew/cmd/fetch.rb')
-rw-r--r--Library/Homebrew/cmd/fetch.rb32
1 files changed, 17 insertions, 15 deletions
diff --git a/Library/Homebrew/cmd/fetch.rb b/Library/Homebrew/cmd/fetch.rb
index a3b8c5252..dd33c5c33 100644
--- a/Library/Homebrew/cmd/fetch.rb
+++ b/Library/Homebrew/cmd/fetch.rb
@@ -19,24 +19,26 @@ module Homebrew extend self
end
puts "Fetching: #{bucket * ', '}" if bucket.size > 1
+ bucket.each { |f| fetch_formula(f) }
+ end
- bucket.each do |f|
- already_downloaded = f.cached_download.exist?
- f.cached_download.rmtree if already_downloaded and ARGV.force?
+ def already_fetched? f
+ f.cached_download.exist?
+ end
- the_tarball, _ = f.fetch
- next unless the_tarball.kind_of? Pathname
+ def fetch_formula f
+ f.cached_download.rmtree if already_fetched?(f) && ARGV.force?
+ tarball, _ = f.fetch
- puts "Downloaded to: #{the_tarball}" unless already_downloaded
- puts "SHA1: #{the_tarball.sha1}"
- puts "SHA256: #{the_tarball.sha2}"
+ # FIXME why are strategies returning different types?
+ return unless tarball.is_a? Pathname
- begin
- f.verify_download_integrity the_tarball
- rescue ChecksumMismatchError => e
- Homebrew.failed = true
- opoo "Formula reports different #{e.hash_type}: #{e.expected}"
- end
- end
+ puts "Downloaded to: #{tarball}" unless already_fetched?(f)
+ puts Checksum::TYPES.map { |t| "#{t.to_s.upcase}: #{tarball.send(t)}" }
+
+ f.verify_download_integrity(tarball)
+ rescue ChecksumMismatchError => e
+ Homebrew.failed = true
+ opoo "Formula reports different #{e.hash_type}: #{e.expected}"
end
end