Skip to content

Commit

Permalink
[rubygems/rubygems] Extract SpecSet#version_for
Browse files Browse the repository at this point in the history
  • Loading branch information
deivid-rodriguez authored and hsbt committed Jan 14, 2025
1 parent a0e2ed2 commit ae75c88
Show file tree
Hide file tree
Showing 3 changed files with 6 additions and 2 deletions.
2 changes: 1 addition & 1 deletion lib/bundler/definition.rb
Original file line number Diff line number Diff line change
Expand Up @@ -1108,7 +1108,7 @@ def additional_base_requirements_to_force_updates(resolution_packages)
return resolution_packages if @explicit_unlocks.empty?
full_update = dup_for_full_unlock.resolve
@explicit_unlocks.each do |name|
version = full_update[name].first&.version
version = full_update.version_for(name)
resolution_packages.base_requirements[name] = Gem::Requirement.new("= #{version}") if version
end
resolution_packages
Expand Down
2 changes: 1 addition & 1 deletion lib/bundler/resolver/package.rb
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ class Package
def initialize(name, platforms, locked_specs:, unlock:, prerelease: false, prefer_local: false, dependency: nil)
@name = name
@platforms = platforms
@locked_version = locked_specs[name].first&.version
@locked_version = locked_specs.version_for(name)
@unlock = unlock
@dependency = dependency || Dependency.new(name, @locked_version)
@top_level = !dependency.nil?
Expand Down
4 changes: 4 additions & 0 deletions lib/bundler/spec_set.rb
Original file line number Diff line number Diff line change
Expand Up @@ -169,6 +169,10 @@ def delete_by_name(name)
reset!
end

def version_for(name)
self[name].first&.version
end

def what_required(spec)
unless req = find {|s| s.runtime_dependencies.any? {|d| d.name == spec.name } }
return [spec]
Expand Down

0 comments on commit ae75c88

Please sign in to comment.