9

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.

Alex D
  • 29,755
  • 7
  • 80
  • 126

1 Answers1

8

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.

Jörg W Mittag
  • 363,080
  • 75
  • 446
  • 653
  • Awesome, I knew there must be something like this, but I was looking in the wrong place. Thanks! +1 – Alex D Aug 13 '12 at 12:50