Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to add RDoc documentation for a method defined using class_eval?

I am using class_eval to define a bunch of repetitive methods more concisely, something like this:

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

I would like all the resulting methods to be included in the RDoc documentation. Is there an RDoc directive which "manually" adds a method to the list of methods for the class? I can't find one.

like image 751
Alex D Avatar asked Aug 13 '12 02:08

Alex D


1 Answers

See the sections on Metaprogrammed Methods and Hidden methods and attributes in the RDoc documentation for RDoc::Parser::Ruby.

In your case, you would do something like:

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

##
# :method: chunky_poodle
# This is a really gruesome method. Ewww!

And so on.

like image 187
Jörg W Mittag Avatar answered Oct 26 '22 05:10

Jörg W Mittag