summaryrefslogtreecommitdiff
path: root/lib/rubygems/source/installed.rb
blob: bd05c75af17f2f76838e564ae846de618a8065d2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
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