aboutsummaryrefslogtreecommitdiffstats
path: root/lib/rubygems/source/specific_file.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/rubygems/source/specific_file.rb')
-rw-r--r--lib/rubygems/source/specific_file.rb17
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