Class RDoc::Context::Section
In: code_objects.rb
doc-tmp/rdoc/code_objects.rb
Parent: Object

Contents

Methods

new   new   set_comment   set_comment  

Public Class methods

[Source]

     # File code_objects.rb, line 124
124:       def initialize(title, comment)
125:         @title = title
126:         @@sequence.succ!
127:         @sequence = @@sequence.dup
128:         @comment = nil
129:         set_comment(comment)
130:       end

The title

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
  # ---------------------

Public Class methods

[Source]

     # File doc-tmp/rdoc/code_objects.rb, line 124
124:       def initialize(title, comment)
125:         @title = title
126:         @@sequence.succ!
127:         @sequence = @@sequence.dup
128:         @comment = nil
129:         set_comment(comment)
130:       end

Public Instance methods

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
  # ---------------------

[Source]

     # File code_objects.rb, line 144
144:       def set_comment(comment)
145:         return unless comment
146: 
147:         if comment =~ /^.*?:section:.*$/
148:           start = $`
149:           rest = $'
150:           if start.empty?
151:             @comment = rest
152:           else
153:             @comment = rest.sub(/#{start.chomp}\Z/, '')
154:           end
155:         else
156:           @comment = comment
157:         end
158:         @comment = nil if @comment.empty?
159:       end

The title

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
  # ---------------------

Public Instance methods

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
  # ---------------------

[Source]

     # File doc-tmp/rdoc/code_objects.rb, line 144
144:       def set_comment(comment)
145:         return unless comment
146: 
147:         if comment =~ /^.*?:section:.*$/
148:           start = $`
149:           rest = $'
150:           if start.empty?
151:             @comment = rest
152:           else
153:             @comment = rest.sub(/#{start.chomp}\Z/, '')
154:           end
155:         else
156:           @comment = comment
157:         end
158:         @comment = nil if @comment.empty?
159:       end