method
latest_specs
ruby latest stable - Class:
Gem::SourceIndex
Method deprecated or moved
This method is deprecated or moved on the latest stable version. The last existing version (v1_9_3_392) is shown here.
latest_specs(include_prerelease=false)public
# File lib/rubygems/source_index.rb, line 138
def latest_specs(include_prerelease=false)
result = Hash.new { |h,k| h[k] = [] }
latest = {}
sort.each do |_, spec|
name = spec.name
curr_ver = spec.version
prev_ver = latest.key?(name) ? latest[name].version : nil
next if !include_prerelease && curr_ver.prerelease?
next unless prev_ver.nil? or curr_ver >= prev_ver or
latest[name].platform != Gem::Platform::RUBY
if prev_ver.nil? or
(curr_ver > prev_ver and spec.platform == Gem::Platform::RUBY) then
result[name].clear
latest[name] = spec
end
if spec.platform != Gem::Platform::RUBY then
result[name].delete_if do |result_spec|
result_spec.platform == spec.platform
end
end
result[name] << spec
end
result.values.flatten
end Related methods
- Instance methods
- ==
- add_spec
- add_specs
- all_gems
- dump
- each
- find_name
- gem_signature
- index_signature
- latest_specs
- length
- load_gems_in
- outdated
- prerelease_gems
- prerelease_specs
- refresh!
- released_gems
- released_specs
- remove_spec
- search
- size
- specification
- Class methods
- from_gems_in
- from_installed_gems
- installed_spec_directories
- load_specification
- new