rdoc icon indicating copy to clipboard operation
rdoc copied to clipboard

Support for Java classes in JRuby

Open headius opened this issue 9 months ago • 0 comments

I was recently reminded of a patch I threw together 15 years ago to support documenting Java classes with ri in JRuby. Today I found that patch:

https://gist.github.com/headius/276803

This is a very loose concept based on rdoc from 2010, but the logic should still work today. When the --java or -j flag is passed, instead of using the usual stores for docs, we use runtime reflection to load the class and method(s) in question. The compiled code available at runtime does not have text documentation, but we can still display the method names and argument types, which would be a big help for JRuby users.

As this is very specific to JRuby, I wanted to ask how we might get an updated version of this patch integrated. I could not see a good way to do a JRuby-specific plugin, but I have not dug very deep.

It could also simply be added as a feature that is only available when running on JRuby.

An example of the output:

~/projects/jruby ➔ ri -j java.lang.Object
------------------------------------------------ Class: java.lang.Object
     (no description...)
------------------------------------------------------------------------


Instance methods:
-----------------
     equals, getClass, hashCode, notify, notifyAll, toString, wait

~~/projects/jruby ➔ ri -j java.lang.String.split
------------------------------------------------- java.lang.String#split
     split(java.lang.String,int) => java.lang.String[]
     split(java.lang.String) => java.lang.String[]
------------------------------------------------------------------------
     (no description...)

headius avatar Mar 23 '25 19:03 headius