# File lib/bundler/resolver.rb, line 77 def initialize(sources, source_requirements) @errors = {} @stack = [] @specs = Hash.new { |h,k| h[k] = [] } @by_gem = source_requirements @cache = {} @index = {} sources.each do |source| source.gems.each do |name, specs| # Hack to work with a regular Gem::SourceIndex specs = [specs] unless specs.is_a?(Array) specs.compact.each do |spec| next if @specs[spec.name].any? { |s| s.version == spec.version && s.platform == spec.platform } @specs[spec.name] << spec end end end end