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