diff options
Diffstat (limited to 'lib/rubygems/source/specific_file.rb')
-rw-r--r-- | lib/rubygems/source/specific_file.rb | 17 |
1 files changed, 14 insertions, 3 deletions
diff --git a/lib/rubygems/source/specific_file.rb b/lib/rubygems/source/specific_file.rb index 8d328b38c2..a7b6c53542 100644 --- a/lib/rubygems/source/specific_file.rb +++ b/lib/rubygems/source/specific_file.rb @@ -1,4 +1,12 @@ +## +# A source representing a single .gem file. This is used for installation of +# local gems. + class Gem::Source::SpecificFile < Gem::Source + + ## + # Creates a new SpecificFile for the gem in +file+ + def initialize(file) @uri = nil @path = ::File.expand_path(file) @@ -8,19 +16,22 @@ class Gem::Source::SpecificFile < Gem::Source @name = @spec.name_tuple end + ## + # The Gem::Specification extracted from this .gem. + attr_reader :spec - def load_specs(*a) + def load_specs *a # :nodoc: [@name] end - def fetch_spec(name) + def fetch_spec name # :nodoc: return @spec if name == @name raise Gem::Exception, "Unable to find '#{name}'" @spec end - def download(spec, dir=nil) + def download spec, dir = nil # :nodoc: return @path if spec == @spec raise Gem::Exception, "Unable to download '#{spec.full_name}'" end |