diff options
author | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2009-12-08 07:19:09 +0000 |
---|---|---|
committer | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2009-12-08 07:19:09 +0000 |
commit | ed5d5c5829ccd91261b27438e2aa146f7aec755e (patch) | |
tree | dc11e68e4128f5d250d88f1ef70c8bd68ef1e166 /lib/rubygems/spec_fetcher.rb | |
parent | 6c0f2b097edabefd7ab8dfa1c36128de8febbe99 (diff) | |
download | ruby-ed5d5c5829ccd91261b27438e2aa146f7aec755e.tar.gz |
* lib/rubygems: update to 1.3.5.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26049 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'lib/rubygems/spec_fetcher.rb')
-rw-r--r-- | lib/rubygems/spec_fetcher.rb | 23 |
1 files changed, 15 insertions, 8 deletions
diff --git a/lib/rubygems/spec_fetcher.rb b/lib/rubygems/spec_fetcher.rb index f46c355413..a5f33183dd 100644 --- a/lib/rubygems/spec_fetcher.rb +++ b/lib/rubygems/spec_fetcher.rb @@ -22,7 +22,7 @@ class Gem::SpecFetcher attr_reader :latest_specs # :nodoc: ## - # Cache of all spces + # Cache of all released specs attr_reader :specs # :nodoc: @@ -61,8 +61,9 @@ class Gem::SpecFetcher ## # Fetch specs matching +dependency+. If +all+ is true, all matching - # versions are returned. If +matching_platform+ is false, all platforms are - # returned. If +prerelease+ is true, prerelease versions are included. + # (released) versions are returned. If +matching_platform+ is + # false, all platforms are returned. If +prerelease+ is true, + # prerelease versions are included. def fetch(dependency, all = false, matching_platform = true, prerelease = false) specs_and_sources = find_matching dependency, all, matching_platform, prerelease @@ -112,9 +113,9 @@ class Gem::SpecFetcher end ## - # Find spec names that match +dependency+. If +all+ is true, all matching - # versions are returned. If +matching_platform+ is false, gems for all - # platforms are returned. + # Find spec names that match +dependency+. If +all+ is true, all + # matching released versions are returned. If +matching_platform+ + # is false, gems for all platforms are returned. def find_matching(dependency, all = false, matching_platform = true, prerelease = false) found = {} @@ -161,7 +162,7 @@ class Gem::SpecFetcher ## # Returns a list of gems available for each source in Gem::sources. If - # +all+ is true, all versions are returned instead of only latest + # +all+ is true, all released versions are returned instead of only latest # versions. If +prerelease+ is true, include prerelease versions. def list(all = false, prerelease = false) @@ -183,7 +184,7 @@ class Gem::SpecFetcher cache = { :latest => @latest_specs, :prerelease => @prerelease_specs, :all => @specs }[type] - + Gem.sources.each do |source_uri| source_uri = URI.parse source_uri @@ -194,6 +195,12 @@ class Gem::SpecFetcher list[source_uri] = cache[source_uri] end + if type == :all + list.values.map do |gems| + gems.reject! { |g| g[1].prerelease? } + end + end + list end |