Skip to content

Commit 788e46e

Browse files
Simplify SpecGroup creation
1 parent e60459d commit 788e46e

File tree

3 files changed

+11
-14
lines changed

3 files changed

+11
-14
lines changed

bundler/lib/bundler/resolver.rb

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -136,15 +136,15 @@ def search_for(dependency_proxy)
136136
current_specs[current_platform] = select_best_platform_match(specs, current_platform)
137137
end
138138

139-
spec_group_ruby = SpecGroup.create_for(specs_by_platform, [Gem::Platform::RUBY], Gem::Platform::RUBY)
140-
if spec_group_ruby
139+
if specs_by_platform[Gem::Platform::RUBY].any?
140+
spec_group_ruby = SpecGroup.create_for(specs_by_platform, [Gem::Platform::RUBY])
141141
spec_group_ruby.force_ruby_platform = dependency.force_ruby_platform
142142
groups << spec_group_ruby
143143
end
144144

145145
next groups if @resolving_only_for_ruby || dependency.force_ruby_platform
146146

147-
spec_group = SpecGroup.create_for(specs_by_platform, @platforms, platform)
147+
spec_group = SpecGroup.create_for(specs_by_platform, @platforms)
148148
groups << spec_group
149149

150150
groups

bundler/lib/bundler/resolver/spec_group.rb

Lines changed: 7 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -6,20 +6,17 @@ class SpecGroup
66
attr_accessor :name, :version, :source
77
attr_accessor :activated_platforms, :force_ruby_platform
88

9-
def self.create_for(specs, all_platforms, specific_platform)
10-
specific_platform_specs = specs[specific_platform]
11-
return unless specific_platform_specs.any?
12-
9+
def self.create_for(specs, all_platforms)
1310
platforms = all_platforms.select {|p| specs[p].any? }
1411

15-
new(specific_platform_specs.first, specs, platforms)
12+
new(specs, platforms)
1613
end
1714

18-
def initialize(exemplary_spec, specs, relevant_platforms)
19-
@exemplary_spec = exemplary_spec
20-
@name = exemplary_spec.name
21-
@version = exemplary_spec.version
22-
@source = exemplary_spec.source
15+
def initialize(specs, relevant_platforms)
16+
@exemplary_spec = specs[relevant_platforms.first].first
17+
@name = @exemplary_spec.name
18+
@version = @exemplary_spec.version
19+
@source = @exemplary_spec.source
2320

2421
@activated_platforms = relevant_platforms
2522
@dependencies = Hash.new do |dependencies, platforms|

bundler/spec/bundler/gem_version_promoter_spec.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ def keep_locked(options)
2828

2929
def build_spec_groups(name, versions)
3030
versions.map do |v|
31-
Bundler::Resolver::SpecGroup.create_for({ Gem::Platform::RUBY => build_spec(name, v) }, [Gem::Platform::RUBY], Gem::Platform::RUBY)
31+
Bundler::Resolver::SpecGroup.create_for({ Gem::Platform::RUBY => build_spec(name, v) }, [Gem::Platform::RUBY])
3232
end
3333
end
3434

0 commit comments

Comments
 (0)