Module: Tap::Support::TDoc::CodeObjectAccess

Included in:
RDoc::CodeObject
Defined in:
lib/tap/support/tdoc.rb

Overview

:nodoc:

Instance Method Summary collapse

Instance Method Details

#comment_sections(section_regexp = //, normalize_comments = false) ⇒ Object



185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
# File 'lib/tap/support/tdoc.rb', line 185

def comment_sections(section_regexp=//, normalize_comments=false)
  res = {}

  section = nil
  lines = []
  comment_lines = comment.split(/\r?\n/)
  comment_lines << nil
  comment_lines.each do |line|
    case line
    when nil, /^\s*#\s*=+(.*)/
      next_section = (line == nil ? nil : $1.to_s.strip)

      if section =~ section_regexp
        lines << "" unless normalize_comments
        res[section] = lines.join("\n") unless section == nil
      end

      section = next_section
      lines = []
    else
      if normalize_comments
        line =~ /^\s*#\s?(.*)/
        line = $1.to_s
      end

      lines << line
    end
  end

  res
end