Attributes
| comment | [R] | |
| sequence | [R] | |
| title | [R] |
Public class methods
new
(title, comment)
[show source]
# File lib/rdoc/code_objects.rb, line 141 def initialize(title, comment) @title = title @@sequence.succ! @sequence = @@sequence.dup @comment = nil set_comment(comment) end
Public instance methods
==
(other)
[show source]
# File lib/rdoc/code_objects.rb, line 149 def ==(other) self.class === other and @sequence == other.sequence end
inspect
()
[show source]
# File lib/rdoc/code_objects.rb, line 153 def inspect "#<%s:0x%x %s %p>" % [ self.class, object_id, @sequence, title ] end
set_comment
(comment)
Set the comment for this section from the original comment block If the first line contains :section:, strip it and use the rest. Otherwise remove lines up to the line containing :section:, and look for those lines again at the end and remove them. This lets us write
# --------------------- # :SECTION: The title # The body # ---------------------
[show source]
# File lib/rdoc/code_objects.rb, line 171 def set_comment(comment) return unless comment if comment =~ /^#[ \t]*:section:.*\n/ start = $` rest = $' if start.empty? @comment = rest else @comment = rest.sub(/#{start.chomp}\Z/, '') end else @comment = comment end @comment = nil if @comment.empty? end