如何为使用class_eval定义的方法添加RDoc文档?

Ale*_*x D 9 ruby metaprogramming rdoc

class_eval用来更简洁地定义一堆重复的方法,如下所示:

%w{greasy chunky bacon}.product(%w{flying sky poodle}).each do |a,b|
  class_eval "def #{a}_#{b}; do_something; end"
end
Run Code Online (Sandbox Code Playgroud)

我希望所有生成的方法都包含在RDoc文档中.是否有RDoc指令"手动"将方法添加到类的方法列表中?我找不到一个.

Jör*_*tag 7

参见章节Metaprogrammed方法隐藏方法和属性的RDoc文档RDoc::Parser::Ruby.

在你的情况下,你会做类似的事情:

##
# :method: greasy_flying
# Makes grease fly.

##
# :method: chunky_poodle
# This is a really gruesome method. Ewww!
Run Code Online (Sandbox Code Playgroud)

等等.