@@ -163,8 +163,7 @@ def highest_remote_name_tuple(spec) # :nodoc:
163163 spec_tuples = fetch_remote_gems spec
164164
165165 highest_remote_gem = spec_tuples . max
166-
167- highest_remote_gem ||= [ Gem ::NameTuple . null ]
166+ return unless highest_remote_gem
168167
169168 highest_remote_gem . first
170169 end
@@ -209,30 +208,22 @@ def rubygems_target_version
209208 version = options [ :system ]
210209 update_latest = version == true
211210
212- if update_latest
213- version = Gem ::Version . new Gem ::VERSION
214- requirement = Gem ::Requirement . new ">= #{ Gem ::VERSION } "
215- else
211+ unless update_latest
216212 version = Gem ::Version . new version
217213 requirement = Gem ::Requirement . new version
214+
215+ return version , requirement
218216 end
219217
218+ version = Gem ::Version . new Gem ::VERSION
219+ requirement = Gem ::Requirement . new ">= #{ Gem ::VERSION } "
220+
220221 rubygems_update = Gem ::Specification . new
221222 rubygems_update . name = 'rubygems-update'
222223 rubygems_update . version = version
223224
224- hig = {
225- 'rubygems-update' => rubygems_update ,
226- }
227-
228- gems_to_update = which_to_update hig , options [ :args ] , :system
229- up_ver = gems_to_update . first . version
230-
231- target = if update_latest
232- up_ver
233- else
234- version
235- end
225+ highest_remote_tup = highest_remote_name_tuple ( rubygems_update )
226+ target = highest_remote_tup ? highest_remote_tup . version : version
236227
237228 return target , requirement
238229 end
@@ -303,20 +294,17 @@ def update_rubygems_arguments # :nodoc:
303294 args
304295 end
305296
306- def which_to_update ( highest_installed_gems , gem_names , system = false )
297+ def which_to_update ( highest_installed_gems , gem_names )
307298 result = [ ]
308299
309300 highest_installed_gems . each do |l_name , l_spec |
310301 next if not gem_names . empty? and
311302 gem_names . none? { |name | name == l_spec . name }
312303
313304 highest_remote_tup = highest_remote_name_tuple l_spec
314- highest_remote_ver = highest_remote_tup . version
315- highest_installed_ver = l_spec . version
305+ next unless highest_remote_tup
316306
317- if system or ( highest_installed_ver < highest_remote_ver )
318- result << Gem ::NameTuple . new ( l_spec . name , [ highest_installed_ver , highest_remote_ver ] . max , highest_remote_tup . platform )
319- end
307+ result << highest_remote_tup
320308 end
321309
322310 result
0 commit comments