summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSmit Shah <who828@gmail.com>2013-12-09 12:03:04 +0530
committerAndre Arko <andre@arko.net>2013-12-18 15:09:26 -0800
commit3b17d58d49079ab82730b39cabf5e7cae3c2c99c (patch)
tree776bf40a566ba26b008c9be1e68739ee4066b3db
parent0f9abc6e8654cf5b6547d1874fc6c6c5406f3b4d (diff)
downloadbundler-3b17d58d49079ab82730b39cabf5e7cae3c2c99c.tar.gz
Use each_with_object instead of reduce
-rw-r--r--lib/bundler/installer.rb6
1 files changed, 2 insertions, 4 deletions
diff --git a/lib/bundler/installer.rb b/lib/bundler/installer.rb
index f862bbd77d..000d45fc93 100644
--- a/lib/bundler/installer.rb
+++ b/lib/bundler/installer.rb
@@ -208,20 +208,18 @@ module Bundler
def check_rubygems_cache_dir
require 'digest'
cached_gems = Dir["#{Bundler.rubygems.gem_dir}/cache/*.gem"]
- sizes = cached_gems.reduce({}) do |h, f|
+ sizes = cached_gems.each_with_object({}) do |f, h|
size = File.size(f)
h[size] ||= []
h[size] << f
- h
end
gems_with_same_size = sizes.select { |i, ns| ns.size > 1}
- sha1_gems = gems_with_same_size.values.flatten.reduce({}) do |h, f|
+ sha1_gems = gems_with_same_size.values.flatten.each_with_object({}) do |f, h|
sha1 = Digest::SHA1.hexdigest(File.read(f))
h[sha1] ||= []
h[sha1] << f
- h
end
corrupted_gems = sha1_gems.select { |i, ns| ns.size > 1 }