[lnkForumImage]
TotalShareware - Download Free Software

Confronta i prezzi di migliaia di prodotti.
Asp Forum
 Home | Login | Register | Search 


 

Forums >

comp.lang.ruby

RDoc and SWIG

Gennady

5/23/2005 6:17:00 PM

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.



4 Answers

Sam Roberts

5/23/2005 11:52:00 PM

0

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




Gennady

5/24/2005 2:37:00 AM

0


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

> 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.

>
>
>



Lothar Scholz

5/25/2005 2:03:00 PM

0

Hello Gennady,

GB> Hi, rubyists

GB> 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.ru...
CTO Scriptolutions Ruby, PHP, Python IDE 's




Gennady

5/25/2005 2:13:00 PM

0

Lothar Scholz wrote:
> Hello Gennady,
>
> GB> Hi, rubyists
>
> GB> 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.