Class: Bundler::Resolver::Base

Inherits:
Object
  • Object
show all
Defined in:
lib/bundler/resolver/base.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#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
# File 'lib/bundler/resolver/base.rb', line 10

def initialize(source_requirements, dependencies, base, platforms, options)
  @source_requirements = source_requirements

  @base = base

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

  dependencies.each do |dep|
    name = dep.name

    @packages[name] = Package.new(name, dep.gem_platforms(platforms), **options.merge(:dependency => dep))
  end
end

Instance Attribute Details

#packagesObject (readonly)

Returns the value of attribute packages.



8
9
10
# File 'lib/bundler/resolver/base.rb', line 8

def packages
  @packages
end

#source_requirementsObject (readonly)

Returns the value of attribute source_requirements.



8
9
10
# File 'lib/bundler/resolver/base.rb', line 8

def source_requirements
  @source_requirements
end

Instance Method Details

#[](name) ⇒ Object



26
27
28
# File 'lib/bundler/resolver/base.rb', line 26

def [](name)
  @base[name]
end

#base_requirementsObject



40
41
42
# File 'lib/bundler/resolver/base.rb', line 40

def base_requirements
  @base_requirements ||= build_base_requirements
end

#delete(specs) ⇒ Object



30
31
32
33
34
# File 'lib/bundler/resolver/base.rb', line 30

def delete(specs)
  specs.each do |spec|
    @base.delete(spec)
  end
end

#get_package(name) ⇒ Object



36
37
38
# File 'lib/bundler/resolver/base.rb', line 36

def get_package(name)
  @packages[name]
end

#include_prereleases(names) ⇒ Object



52
53
54
55
56
# File 'lib/bundler/resolver/base.rb', line 52

def include_prereleases(names)
  names.each do |name|
    get_package(name).consider_prereleases!
  end
end

#unlock_names(names) ⇒ Object



44
45
46
47
48
49
50
# File 'lib/bundler/resolver/base.rb', line 44

def unlock_names(names)
  names.each do |name|
    @base.delete_by_name(name)

    @base_requirements.delete(name)
  end
end