summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSamuel Giddins <segiddins@segiddins.me>2016-09-30 19:30:09 -0500
committerSamuel Giddins <segiddins@segiddins.me>2017-04-14 19:25:34 -0500
commitbcd38141ca9714fc3434f6bc2d15fba16d38f5d9 (patch)
treee61010eebb6b04d93e0cdb1b06f1c0e3437717de
parentf898372166bfe8b77a647a6324dcc4b5e9e8e1c8 (diff)
downloadbundler-bcd38141ca9714fc3434f6bc2d15fba16d38f5d9.tar.gz
[SpecSet] Use a set for #for
-rw-r--r--lib/bundler/spec_set.rb7
1 files changed, 3 insertions, 4 deletions
diff --git a/lib/bundler/spec_set.rb b/lib/bundler/spec_set.rb
index bd962922ea..5fd6bd606f 100644
--- a/lib/bundler/spec_set.rb
+++ b/lib/bundler/spec_set.rb
@@ -1,6 +1,7 @@
# frozen_string_literal: true
require "tsort"
require "forwardable"
+require "set"
module Bundler
class SpecSet
@@ -15,16 +16,14 @@ module Bundler
end
def for(dependencies, skip = [], check = false, match_current_platform = false, raise_on_missing = true)
- handled = {}
+ handled = Set.new
deps = dependencies.dup
specs = []
skip += ["bundler"]
loop do
break unless dep = deps.shift
- next if handled[dep] || skip.include?(dep.name)
-
- handled[dep] = true
+ next if !handled.add?(dep) || skip.include?(dep.name)
if spec = spec_for_dependency(dep, match_current_platform)
specs << spec