From 45011d08e13878ba7593cc4aa3d112d689b9b95e Mon Sep 17 00:00:00 2001 From: drbrain Date: Wed, 28 Nov 2012 07:41:19 +0000 Subject: * lib/rdoc/servlet.rb: Add support for serving documentation from a subdirectory. * lib/rdoc/generator/darkfish.rb: ditto * test/rdoc/test_rdoc_servlet.rb: Test for above * test/rdoc/test_rdoc_servlet.rb: ditto git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37927 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- lib/rdoc/generator/darkfish.rb | 7 ++----- lib/rdoc/servlet.rb | 12 ++++++++---- 2 files changed, 10 insertions(+), 9 deletions(-) (limited to 'lib/rdoc') diff --git a/lib/rdoc/generator/darkfish.rb b/lib/rdoc/generator/darkfish.rb index bd0f617d84..b69d14855a 100644 --- a/lib/rdoc/generator/darkfish.rb +++ b/lib/rdoc/generator/darkfish.rb @@ -467,7 +467,7 @@ class RDoc::Generator::Darkfish render_template template_file do |io| binding end rescue => e error = RDoc::Error.new \ - "error generating servlet_root: #{e.message} (#{e.class})" + "error generating servlet_not_found: #{e.message} (#{e.class})" error.set_backtrace e.backtrace raise error @@ -484,13 +484,10 @@ class RDoc::Generator::Darkfish debug_msg 'Rendering the servlet root page...' - rel_prefix = rel_prefix = '' + rel_prefix = asset_rel_prefix = '.' search_index_rel_prefix = rel_prefix search_index_rel_prefix += @asset_rel_path if @file_output - # suppress 1.9.3 warning - asset_rel_prefix = asset_rel_prefix = '' - @title = 'Local RDoc Documentation' render_template template_file do |io| binding end diff --git a/lib/rdoc/servlet.rb b/lib/rdoc/servlet.rb index a4aafeb252..d308288029 100644 --- a/lib/rdoc/servlet.rb +++ b/lib/rdoc/servlet.rb @@ -17,11 +17,13 @@ class RDoc::Servlet < WEBrick::HTTPServlet::AbstractServlet new server, stores, @cache, *options end - def initialize server, stores, cache + def initialize server, stores, cache, mount_path = nil super server - @stores = stores - @cache = cache + @cache = cache + @mount_path = mount_path + @stores = stores + @options = RDoc::Options.new @options.op_dir = '.' @@ -59,6 +61,8 @@ class RDoc::Servlet < WEBrick::HTTPServlet::AbstractServlet end def do_GET req, res + req.path.sub!(/^#{Regexp.escape @mount_path}/o, '') if @mount_path + case req.path when '/' then root req, res @@ -128,7 +132,7 @@ class RDoc::Servlet < WEBrick::HTTPServlet::AbstractServlet Error - #{ERB::Util.html_escape e.class} - +

Error

-- cgit v1.2.3