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:
parent
f92db3dd73
commit
182ce60f75
6 changed files with 54 additions and 4 deletions
14
ChangeLog
14
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>
|
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
|
||||||
|
|
|
@ -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.
|
||||||
|
|
|
@ -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">
|
||||||
|
|
|
@ -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 %>
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue