RDoc and SWIG

Hi, rubyists

I use SWIG to wrap C++ classes into Ruby. Is there any way to use RDoc comments in the original C++ classes to generate documentation for ruby API? From what I can see, RDoc looks for rb_define_class() and rb_define_method() to extract classes and methods to be documented, however those are generated by SWIG in the build phase.

RDoc understands "Document-class" and "Document-metnod" directives, however those seem to be taken into account only after a class or a method is extracted from rb_define_class()/rb_define_method().

Are there any directives (or any plans to add them) that would allow to directly specify that the RDoc comment is for a particular class or a particular class/instance method?

Thank you,
Gennady Bystritsky.

Quoting gfb@tonesoft.com, on Tue, May 24, 2005 at 03:17:01AM +0900:

Hi, rubyists

I use SWIG to wrap C++ classes into Ruby. Is there any way to use RDoc
comments in the original C++ classes to generate documentation for ruby
API? From what I can see, RDoc looks for rb_define_class() and
rb_define_method() to extract classes and methods to be documented,
however those are generated by SWIG in the build phase.

I would be surprised if this works, but you might get lucky.

If you don't get lucky, a DDJ article of a few months back described a
way of using doxygen with visual basic, that might apply to documenting
c++ with rdoc. Basically, run a script converting the C++ to something
that looks like ruby. It doesn't have to be ruby, you can remove all the
code inside methods, for example, but enough like ruby that rdoc will
process the file and generate API docs.

Sam

Hello Gennady,

Hi, rubyists

I use SWIG to wrap C++ classes into Ruby. Is there any way to use RDoc

When using SWIG and Ruby do the that FXRuby does. Generate a complete
stub set of ruby files only for the purpose of generating RDOC
documentation. This duplicates information but is still the best way.

···

--
Best regards, emailto: scholz at scriptolutions dot com
Lothar Scholz http://www.ruby-ide.com
CTO Scriptolutions Ruby, PHP, Python IDE 's

Quoting gfb@tonesoft.com, on Tue, May 24, 2005 at 03:17:01AM +0900:

Hi, rubyists

I use SWIG to wrap C++ classes into Ruby. Is there any way to use RDoc
comments in the original C++ classes to generate documentation for ruby
API? From what I can see, RDoc looks for rb_define_class() and
rb_define_method() to extract classes and methods to be documented,
however those are generated by SWIG in the build phase.

I would be surprised if this works, but you might get lucky.

If you don't get lucky, a DDJ article of a few months back described a
way of using doxygen with visual basic, that might apply to documenting
c++ with rdoc. Basically, run a script converting the C++ to something
that looks like ruby. It doesn't have to be ruby, you can remove all the
code inside methods, for example, but enough like ruby that rdoc will
process the file and generate API docs.

Sam

Interesting. However, it sounds like a lot of hassle. I took another approach, though. I need some pure Ruby methods in my wrapped classes anyways, so even for the methods implemented in C++, I add a pure Ruby method (honoring ruby name conventions, otherwise achieved by SWIG %rename directive), from where I simply delegate to my corresponding C++ methods, witch I make private. This gives me the opportunity to document the methods naturally, for the cost of extra redirection.

Thanks, Sam.
Gennady.

···

On May 23, 2005, at 16:52, Sam Roberts wrote:

Lothar Scholz wrote:

Hello Gennady,

> Hi, rubyists

> I use SWIG to wrap C++ classes into Ruby. Is there any way to use RDoc

When using SWIG and Ruby do the that FXRuby does. Generate a complete
stub set of ruby files only for the purpose of generating RDOC
documentation. This duplicates information but is still the best way.

That's, actually, what I ended up with, on my own ;-). Thanks.

Gennady.