Method: Bundler::Resolver::Base#initialize

Defined in:
lib/bundler/resolver/base.rb

#initialize(source_requirements, dependencies, base, platforms, options) ⇒ Base

Returns a new instance of Base.


10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
# File 'lib/bundler/resolver/base.rb', line 10

def initialize(source_requirements, dependencies, base, platforms, options)
  @source_requirements = source_requirements
  @locked_specs = options[:locked_specs]

  @base = base

  @packages = Hash.new do |hash, name|
    hash[name] = Package.new(name, platforms, **options)
  end

  @requirements = dependencies.filter_map do |dep|
    dep_platforms = dep.gem_platforms(platforms)

    # Dependencies scoped to external platforms are ignored
    next if dep_platforms.empty?

    name = dep.name

    @packages[name] = Package.new(name, dep_platforms, **options.merge(dependency: dep))

    dep
  end
end