From 3b0f952ec810c08eac01ce2377dfbb252026760b Mon Sep 17 00:00:00 2001 From: aycabta Date: Fri, 25 Jan 2019 23:58:30 +0900 Subject: [ruby/rdoc] Support nesting text page URL RDoc::Servlet#documentation_page replaces "/" in URL with "::" for class or module but it's also used for the replaced name on text pages. This causes a bug when text pages are in nesting directory. This commit fixes #615. https://github.com/ruby/rdoc/commit/d73b915b1e --- lib/rdoc/servlet.rb | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'lib/rdoc') diff --git a/lib/rdoc/servlet.rb b/lib/rdoc/servlet.rb index 79550fe63b..72e6e90193 100644 --- a/lib/rdoc/servlet.rb +++ b/lib/rdoc/servlet.rb @@ -145,12 +145,15 @@ class RDoc::Servlet < WEBrick::HTTPServlet::AbstractServlet # +generator+ is used to create the page. def documentation_page store, generator, path, req, res - name = path.sub(/.html$/, '').gsub '/', '::' + text_name = path.sub /.html$/, '' + name = text_name.gsub '/', '::' if klass = store.find_class_or_module(name) then res.body = generator.generate_class klass elsif page = store.find_text_page(name.sub(/_([^_]*)$/, '.\1')) then res.body = generator.generate_page page + elsif page = store.find_text_page(text_name.sub(/_([^_]*)$/, '.\1')) then + res.body = generator.generate_page page else not_found generator, req, res end -- cgit v1.2.3