@@ -173,12 +173,12 @@ def dup_with_replaced_sources(replacement_sources)
173173
174174 def map_sources ( replacement_sources )
175175 rubygems = @rubygems_sources . map do |source |
176- replace_rubygems_source ( replacement_sources , source ) || source
176+ replace_rubygems_source ( replacement_sources , source )
177177 end
178178
179179 git , plugin = [ @git_sources , @plugin_sources ] . map do |sources |
180180 sources . map do |source |
181- replacement_sources . find { | s | s == source } || source
181+ replace_source ( replacement_sources , source )
182182 end
183183 end
184184
@@ -190,19 +190,24 @@ def map_sources(replacement_sources)
190190 end
191191
192192 def global_replacement_source ( replacement_sources )
193- replacement_source = replace_rubygems_source ( replacement_sources , global_rubygems_source )
194- return global_rubygems_source unless replacement_source
195-
196- replacement_source . local!
197- replacement_source
193+ replace_rubygems_source ( replacement_sources , global_rubygems_source , &:local! )
198194 end
199195
200196 def replace_rubygems_source ( replacement_sources , gemfile_source )
197+ replace_source ( replacement_sources , gemfile_source ) do |replacement_source |
198+ # locked sources never include credentials so always prefer remotes from the gemfile
199+ replacement_source . remotes = gemfile_source . remotes
200+
201+ yield replacement_source if block_given?
202+ end
203+ end
204+
205+ def replace_source ( replacement_sources , gemfile_source )
201206 replacement_source = replacement_sources . find { |s | s == gemfile_source }
202- return unless replacement_source
207+ return gemfile_source unless replacement_source
208+
209+ yield replacement_source if block_given?
203210
204- # locked sources never include credentials so always prefer remotes from the gemfile
205- replacement_source . remotes = gemfile_source . remotes
206211 replacement_source
207212 end
208213
0 commit comments