From c7e3c092e1169398eb399efd92401c3bb6fd31b6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?David=20Rodr=C3=ADguez?= Date: Fri, 23 Jul 2021 23:06:29 +0200 Subject: [PATCH] Small refactor by DRYing up some logic --- bundler/lib/bundler/definition.rb | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/bundler/lib/bundler/definition.rb b/bundler/lib/bundler/definition.rb index 81cd94eb5f89..06f73dd1bd96 100644 --- a/bundler/lib/bundler/definition.rb +++ b/bundler/lib/bundler/definition.rb @@ -190,7 +190,7 @@ def resolve_remotely! # # @return [Bundler::SpecSet] def specs - @specs ||= add_bundler_to(resolve.materialize(requested_dependencies)) + @specs ||= materialize(requested_dependencies) rescue GemNotFound => e # Handle yanked gem gem_name, gem_version = extract_gem_info(e) locked_gem = @locked_specs[gem_name].last @@ -246,7 +246,7 @@ def current_dependencies def specs_for(groups) groups = requested_groups if groups.empty? deps = dependencies_for(groups) - add_bundler_to(resolve.materialize(expand_dependencies(deps))) + materialize(expand_dependencies(deps)) end def dependencies_for(groups) @@ -496,7 +496,9 @@ def unlocking? private - def add_bundler_to(specs) + def materialize(dependencies) + specs = resolve.materialize(dependencies) + unless specs["bundler"].any? bundler = sources.metadata_source.specs.search(Gem::Dependency.new("bundler", VERSION)).last specs["bundler"] = bundler