summaryrefslogtreecommitdiff
path: root/lib/rubygems/source.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/rubygems/source.rb')
-rw-r--r--lib/rubygems/source.rb36
1 files changed, 8 insertions, 28 deletions
diff --git a/lib/rubygems/source.rb b/lib/rubygems/source.rb
index f0e2a597b9..96d57870e2 100644
--- a/lib/rubygems/source.rb
+++ b/lib/rubygems/source.rb
@@ -25,23 +25,14 @@ class Gem::Source
end
def <=>(other)
- case other
- when Gem::Source::Installed,
- Gem::Source::Local,
- Gem::Source::SpecificFile then
- -1
- when Gem::Source then
- if !@uri
- return 0 unless other.uri
- return 1
- end
+ if !@uri
+ return 0 unless other.uri
+ return -1
+ end
- return -1 if !other.uri
+ return 1 if !other.uri
- @uri.to_s <=> other.uri.to_s
- else
- nil
- end
+ @uri.to_s <=> other.uri.to_s
end
include Comparable
@@ -67,7 +58,8 @@ class Gem::Source
def cache_dir(uri)
# Correct for windows paths
escaped_path = uri.path.sub(/^\/([a-z]):\//i, '/\\1-/')
- File.join Gem.spec_cache_dir, "#{uri.host}%#{uri.port}", File.dirname(escaped_path)
+ root = File.join Gem.user_home, '.gem', 'specs'
+ File.join root, "#{uri.host}%#{uri.port}", File.dirname(escaped_path)
end
def update_cache?
@@ -149,16 +141,4 @@ class Gem::Source
fetcher = Gem::RemoteFetcher.fetcher
fetcher.download spec, @uri.to_s, dir
end
-
- def pretty_print q # :nodoc:
- q.group 2, '[Remote:', ']' do
- q.breakable
- q.text @uri.to_s
- end
- end
-
end
-
-require 'rubygems/source/installed'
-require 'rubygems/source/specific_file'
-require 'rubygems/source/local'