aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authordrbrain <drbrain@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2012-12-12 05:16:53 +0000
committerdrbrain <drbrain@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2012-12-12 05:16:53 +0000
commit182ce60f7552ec62b1d97fbc3e701f9405b12291 (patch)
treebfac61fbc39bfc823dc8fb0ea6c6f0ffff384a91
parentf92db3dd73328b9743a91654453e51cdef19ea4c (diff)
downloadruby-182ce60f7552ec62b1d97fbc3e701f9405b12291.tar.gz
* lib/rdoc/class_module.rb: Added RDoc::ClassModule#documented? which
checks comment_location. Hide RDoc::ClassModule#comment=. * test/rdoc/test_rdoc_class_module.rb: Test for above. * lib/rdoc/generator/template/darkfish/_sidebar_table_of_contents.rhtml: Fix display of the table of contents in the sidebar. * lib/rdoc/generator/template/darkfish/table_of_contents.rhtml: Use #comment_location when displaying classes or modules. * test/rdoc/test_rdoc_store.rb: Use comment_location. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38338 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r--ChangeLog14
-rw-r--r--lib/rdoc/class_module.rb10
-rw-r--r--lib/rdoc/generator/template/darkfish/_sidebar_table_of_contents.rhtml8
-rw-r--r--lib/rdoc/generator/template/darkfish/table_of_contents.rhtml2
-rw-r--r--test/rdoc/test_rdoc_class_module.rb22
-rw-r--r--test/rdoc/test_rdoc_store.rb2
6 files changed, 54 insertions, 4 deletions
diff --git a/ChangeLog b/ChangeLog
index 59fe229816..37c91a662b 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,17 @@
+Wed Dec 12 14:16:35 2012 Eric Hodel <drbrain@segment7.net>
+
+ * lib/rdoc/class_module.rb: Added RDoc::ClassModule#documented? which
+ checks comment_location. Hide RDoc::ClassModule#comment=.
+ * test/rdoc/test_rdoc_class_module.rb: Test for above.
+
+ * lib/rdoc/generator/template/darkfish/_sidebar_table_of_contents.rhtml:
+ Fix display of the table of contents in the sidebar.
+
+ * lib/rdoc/generator/template/darkfish/table_of_contents.rhtml:
+ Use #comment_location when displaying classes or modules.
+
+ * test/rdoc/test_rdoc_store.rb: Use comment_location.
+
Wed Dec 12 13:40:52 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
* vm_insnhelper.c (vm_getivar): no uninitialized instance variables
diff --git a/lib/rdoc/class_module.rb b/lib/rdoc/class_module.rb
index e2bb9de68d..a520503598 100644
--- a/lib/rdoc/class_module.rb
+++ b/lib/rdoc/class_module.rb
@@ -184,7 +184,7 @@ class RDoc::ClassModule < RDoc::Context
# Appends +comment+ to the current comment, but separated by a rule. Works
# more like <tt>+=</tt>.
- def comment= comment
+ def comment= comment # :nodoc:
comment = case comment
when RDoc::Comment then
comment.normalize
@@ -217,6 +217,14 @@ class RDoc::ClassModule < RDoc::Context
end
##
+ # Does this class or module have a comment with content or is
+ # #received_nodoc true?
+
+ def documented?
+ super or !@comment_location.empty?
+ end
+
+ ##
# Iterates the ancestors of this class or module for which an
# RDoc::ClassModule exists.
diff --git a/lib/rdoc/generator/template/darkfish/_sidebar_table_of_contents.rhtml b/lib/rdoc/generator/template/darkfish/_sidebar_table_of_contents.rhtml
index 225f811f0e..7842625840 100644
--- a/lib/rdoc/generator/template/darkfish/_sidebar_table_of_contents.rhtml
+++ b/lib/rdoc/generator/template/darkfish/_sidebar_table_of_contents.rhtml
@@ -1,4 +1,10 @@
-<% table = current.parse(current.comment).table_of_contents
+<% comment = if current.respond_to? :comment_location then
+ current.comment_location
+ else
+ current.comment
+ end
+ table = current.parse(comment).table_of_contents
+
if table.length > 1 then %>
<div id="table-of-contents">
<nav class="section">
diff --git a/lib/rdoc/generator/template/darkfish/table_of_contents.rhtml b/lib/rdoc/generator/template/darkfish/table_of_contents.rhtml
index 8f19085bb4..bebff40f6a 100644
--- a/lib/rdoc/generator/template/darkfish/table_of_contents.rhtml
+++ b/lib/rdoc/generator/template/darkfish/table_of_contents.rhtml
@@ -30,7 +30,7 @@
<li class="<%= klass.type %>">
<a href="<%= klass.path %>"><%= klass.full_name %></a>
<% table = []
- table.concat klass.parse(klass.comment).table_of_contents
+ table.concat klass.parse(klass.comment_location).table_of_contents
table.concat klass.section_contents
unless table.empty? then %>
diff --git a/test/rdoc/test_rdoc_class_module.rb b/test/rdoc/test_rdoc_class_module.rb
index a6aa1e9472..e5d855b2cd 100644
--- a/test/rdoc/test_rdoc_class_module.rb
+++ b/test/rdoc/test_rdoc_class_module.rb
@@ -95,6 +95,28 @@ class TestRDocClassModule < XrefTestCase
refute @c1.document_self_or_methods
end
+ def test_documented_eh
+ cm = RDoc::ClassModule.new 'C'
+
+ refute cm.documented?
+
+ cm.add_comment 'hi', @top_level
+
+ assert cm.documented?
+
+ cm.comment.replace ''
+
+ assert cm.documented?
+
+ cm.comment_location.clear
+
+ refute cm.documented?
+
+ cm.document_self = nil # notify :nodoc:
+
+ assert cm.documented?
+ end
+
def test_each_ancestor
assert_equal [@parent], @child.each_ancestor.to_a
end
diff --git a/test/rdoc/test_rdoc_store.rb b/test/rdoc/test_rdoc_store.rb
index 1bf42bc92c..a5a5adec7b 100644
--- a/test/rdoc/test_rdoc_store.rb
+++ b/test/rdoc/test_rdoc_store.rb
@@ -708,7 +708,7 @@ class TestRDocStore < XrefTestCase
document = @RM::Document.new inner
- assert_equal document, s.load_class('Object').comment
+ assert_equal document, s.load_class('Object').comment_location
end
# This is a functional test