class RDoc::Parser::Simple

解析非源代码文件。我们基本上将整个文件视为一个大型注释。

公共类方法

new(top_level, file_name, content, options, stats) 点击以切换源代码

准备解析一个纯文本文件

调用父类方法 RDoc::Parser::new
# File rdoc/parser/simple.rb, line 17
def initialize(top_level, file_name, content, options, stats)
  super

  preprocess = RDoc::Markup::PreProcess.new @file_name, @options.rdoc_include

  @content = preprocess.handle @content, @top_level
end

公共实例方法

remove_coding_comment(text) 点击以切换源代码

text 中删除编码魔术注释

# File rdoc/parser/simple.rb, line 41
def remove_coding_comment text
  text.sub(/\A# .*coding[=:].*$/, '')
end
remove_private_comment(comment) 点击以切换源代码

删除私有注释。

RDoc::Comment#remove_private 不同,此实现仅查找行首的两个短横线。三个或更多短横线被视为规则并被忽略。

# File rdoc/parser/simple.rb, line 52
def remove_private_comment comment
  # Workaround for gsub encoding for Ruby 1.9.2 and earlier
  empty = ''
  empty = RDoc::Encoding.change_encoding empty, comment.encoding

  comment = comment.gsub(%r%^--\n.*?^\+\+\n?%m, empty)
  comment.sub(%r%^--\n.*%m, empty)
end
scan() 点击以切换源代码

提取文件内容并将其作为注释附加到 TopLevel

# File rdoc/parser/simple.rb, line 28
def scan
  comment = remove_coding_comment @content
  comment = remove_private_comment comment

  comment = RDoc::Comment.new comment, @top_level

  @top_level.comment = comment
  @top_level
end