1class Gem::Source::SpecificFile < Gem::Source
2  def initialize(file)
3    @uri = nil
4    @path = ::File.expand_path(file)
5
6    @package = Gem::Package.new @path
7    @spec = @package.spec
8    @name = @spec.name_tuple
9  end
10
11  attr_reader :spec
12
13  def load_specs(*a)
14    [@name]
15  end
16
17  def fetch_spec(name)
18    return @spec if name == @name
19    raise Gem::Exception, "Unable to find '#{name}'"
20    @spec
21  end
22
23  def download(spec, dir=nil)
24    return @path if spec == @spec
25    raise Gem::Exception, "Unable to download '#{spec.full_name}'"
26  end
27
28end
29