method
which_to_update

v1_9_3_392 -
Show latest stable
-
0 notes -
Class: UpdateCommand
- 1_8_6_287
- 1_8_7_72
- 1_8_7_330
- 1_9_1_378
- 1_9_2_180
- 1_9_3_125 (0)
- 1_9_3_392 (0)
- 2_1_10 (0)
- 2_2_9 (0)
- 2_4_6 (0)
- 2_5_5 (0)
- 2_6_3 (0)
- What's this?
which_to_update(highest_installed_gems, gem_names, system = false)
public
Hide source
# File lib/rubygems/commands/update_command.rb, line 200 def which_to_update highest_installed_gems, gem_names, system = false result = [] highest_installed_gems.each do |l_name, l_spec| next if not gem_names.empty? and gem_names.all? { |name| /#{name}/ !~ l_spec.name } dependency = Gem::Dependency.new l_spec.name, "> #{l_spec.version}" fetcher = Gem::SpecFetcher.fetcher spec_tuples = fetcher.find_matching dependency matching_gems = spec_tuples.select do |(name, _, platform),| name == l_name and Gem::Platform.match platform end highest_remote_gem = matching_gems.sort_by do |(_, version),| version end.last highest_remote_gem ||= [[nil, Gem::Version.new(0), nil]] # "null" object highest_remote_ver = highest_remote_gem.first[1] if system or (l_spec.version < highest_remote_ver) then result << [l_spec.name, [l_spec.version, highest_remote_ver].max] end end result end