1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00

* 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
This commit is contained in:
drbrain 2012-12-12 05:16:53 +00:00
parent f92db3dd73
commit 182ce60f75
6 changed files with 54 additions and 4 deletions

View file

@ -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> Wed Dec 12 13:40:52 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
* vm_insnhelper.c (vm_getivar): no uninitialized instance variables * vm_insnhelper.c (vm_getivar): no uninitialized instance variables

View file

@ -184,7 +184,7 @@ class RDoc::ClassModule < RDoc::Context
# Appends +comment+ to the current comment, but separated by a rule. Works # Appends +comment+ to the current comment, but separated by a rule. Works
# more like <tt>+=</tt>. # more like <tt>+=</tt>.
def comment= comment def comment= comment # :nodoc:
comment = case comment comment = case comment
when RDoc::Comment then when RDoc::Comment then
comment.normalize comment.normalize
@ -216,6 +216,14 @@ class RDoc::ClassModule < RDoc::Context
document_self || method_list.any?{ |m| m.document_self } document_self || method_list.any?{ |m| m.document_self }
end 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 # Iterates the ancestors of this class or module for which an
# RDoc::ClassModule exists. # RDoc::ClassModule exists.

View file

@ -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 %> if table.length > 1 then %>
<div id="table-of-contents"> <div id="table-of-contents">
<nav class="section"> <nav class="section">

View file

@ -30,7 +30,7 @@
<li class="<%= klass.type %>"> <li class="<%= klass.type %>">
<a href="<%= klass.path %>"><%= klass.full_name %></a> <a href="<%= klass.path %>"><%= klass.full_name %></a>
<% table = [] <% 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 table.concat klass.section_contents
unless table.empty? then %> unless table.empty? then %>

View file

@ -95,6 +95,28 @@ class TestRDocClassModule < XrefTestCase
refute @c1.document_self_or_methods refute @c1.document_self_or_methods
end 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 def test_each_ancestor
assert_equal [@parent], @child.each_ancestor.to_a assert_equal [@parent], @child.each_ancestor.to_a
end end

View file

@ -708,7 +708,7 @@ class TestRDocStore < XrefTestCase
document = @RM::Document.new inner document = @RM::Document.new inner
assert_equal document, s.load_class('Object').comment assert_equal document, s.load_class('Object').comment_location
end end
# This is a functional test # This is a functional test