summaryrefslogtreecommitdiff
path: root/jni/ruby/lib/rubygems/source/installed.rb
diff options
context:
space:
mode:
Diffstat (limited to 'jni/ruby/lib/rubygems/source/installed.rb')
-rw-r--r--jni/ruby/lib/rubygems/source/installed.rb40
1 files changed, 40 insertions, 0 deletions
diff --git a/jni/ruby/lib/rubygems/source/installed.rb b/jni/ruby/lib/rubygems/source/installed.rb
new file mode 100644
index 0000000..bd05c75
--- /dev/null
+++ b/jni/ruby/lib/rubygems/source/installed.rb
@@ -0,0 +1,40 @@
+##
+# Represents an installed gem. This is used for dependency resolution.
+
+class Gem::Source::Installed < Gem::Source
+
+ def initialize # :nodoc:
+ @uri = nil
+ end
+
+ ##
+ # Installed sources sort before all other sources
+
+ def <=> other
+ case other
+ when Gem::Source::Git,
+ Gem::Source::Lock,
+ Gem::Source::Vendor then
+ -1
+ when Gem::Source::Installed then
+ 0
+ when Gem::Source then
+ 1
+ else
+ nil
+ end
+ end
+
+ ##
+ # We don't need to download an installed gem
+
+ def download spec, path
+ nil
+ end
+
+ def pretty_print q # :nodoc:
+ q.text '[Installed]'
+ end
+
+end
+