summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authoraycabta <aycabta@gmail.com>2019-01-25 23:58:30 +0900
committerHiroshi SHIBATA <hsbt@ruby-lang.org>2019-07-26 17:29:17 +0800
commit3b0f952ec810c08eac01ce2377dfbb252026760b (patch)
tree4de6f87853b2ee290174f67ffce8f73e8251e7d1 /lib
parenta86d4eef4b4551a48a5329bb993c3c6c39a1b1f3 (diff)
[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
Diffstat (limited to 'lib')
-rw-r--r--lib/rdoc/servlet.rb5
1 files changed, 4 insertions, 1 deletions
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