Alex D
Alex D

Reputation: 30445

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.

Upvotes: 10

Views: 1116

Answers (1)

Jörg W Mittag
Jörg W Mittag

Reputation: 369468

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.

Upvotes: 9

Related Questions