class Gem::Source::SpecificFile

def <=>(other)

def <=>(other)
  case other
  when Gem::Source::SpecificFile then
    return nil if @spec.name != other.spec.name
    @spec.version <=> other.spec.version
  else
    super
  end
end

def download(spec, dir = nil) # :nodoc:

:nodoc:
def download(spec, dir = nil) # :nodoc:
  return @path if spec == @spec
  raise Gem::Exception, "Unable to download '#{spec.full_name}'"
end

def fetch_spec(name) # :nodoc:

:nodoc:
def fetch_spec(name) # :nodoc:
  return @spec if name == @name
  raise Gem::Exception, "Unable to find '#{name}'"
end

def initialize(file)

def initialize(file)
  @uri = nil
  @path = ::File.expand_path(file)
  @package = Gem::Package.new @path
  @spec = @package.spec
  @name = @spec.name_tuple
end

def load_specs(*a) # :nodoc:

:nodoc:
def load_specs(*a) # :nodoc:
  [@name]
end

def pretty_print(q) # :nodoc:

:nodoc:
def pretty_print(q) # :nodoc:
  q.object_group(self) do
    q.group 2, "[SpecificFile:", "]" do
      q.breakable
      q.text @path
    end
  end
end