aboutsummaryrefslogtreecommitdiffstats
path: root/lib/rubygems/doc_manager.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/rubygems/doc_manager.rb')
-rw-r--r--lib/rubygems/doc_manager.rb21
1 files changed, 10 insertions, 11 deletions
diff --git a/lib/rubygems/doc_manager.rb b/lib/rubygems/doc_manager.rb
index 9cfa31a0a0..20c5281231 100644
--- a/lib/rubygems/doc_manager.rb
+++ b/lib/rubygems/doc_manager.rb
@@ -92,7 +92,7 @@ class Gem::DocManager
def initialize(spec, rdoc_args="")
require 'fileutils'
@spec = spec
- @doc_dir = File.join(spec.installation_path, "doc", spec.full_name)
+ @doc_dir = spec.doc_dir
@rdoc_args = rdoc_args.nil? ? [] : rdoc_args.split
end
@@ -224,25 +224,24 @@ class Gem::DocManager
# Remove RDoc and RI documentation
def uninstall_doc
- raise Gem::FilePermissionError.new(@spec.installation_path) unless
- File.writable? @spec.installation_path
+ base_dir = @spec.base_dir
+ raise Gem::FilePermissionError.new base_dir unless File.writable? base_dir
- original_name = [
+ # TODO: ok... that's twice... ugh
+ old_name = [
@spec.name, @spec.version, @spec.original_platform].join '-'
- doc_dir = File.join @spec.installation_path, 'doc', @spec.full_name
+ doc_dir = @spec.doc_dir
unless File.directory? doc_dir then
- doc_dir = File.join @spec.installation_path, 'doc', original_name
+ doc_dir = File.join File.dirname(doc_dir), old_name
end
- FileUtils.rm_rf doc_dir
-
- ri_dir = File.join @spec.installation_path, 'ri', @spec.full_name
-
+ ri_dir = @spec.ri_dir
unless File.directory? ri_dir then
- ri_dir = File.join @spec.installation_path, 'ri', original_name
+ ri_dir = File.join File.dirname(ri_dir), old_name
end
+ FileUtils.rm_rf doc_dir
FileUtils.rm_rf ri_dir
end