irb icon indicating copy to clipboard operation
irb copied to clipboard

Provide easy way to open associated RDoc?

Open mperham opened this issue 1 year ago • 2 comments

This issue is based on a Mastodon thread here:

https://ruby.social/@getajobmike/113047521307357054

Today it is really difficult to find the documentation for most Ruby methods. There are old sites like apidock.com which still rank high. Ruby's dynamic typing makes it difficult to find the root location for a method. Even a tool like ri fails:

> ri SecureRandom.base64
Nothing known about SecureRandom.base64

I'd like to see a way for the user to open a corelib or stdlib method's rdoc from irb, for example:

open SecureRandom.method(:base64).rdoc_url

and this could open:

https://docs.ruby-lang.org/en/master/Random/Formatter.html#method-i-base64

One issue I can envision: what about other classes/modules for 3rd party code?

You could use a simple heuristic based on the source location to determine if this is a core code or not, e.g. "/Users/mperham/.rubies/ruby-3.3.3/lib/ruby/3.3.0/random/formatter.rb". If core, you can direct to "docs.r-l.org/$lang/$ver/...", a gem might go to "docs.rubygems.org/$gemname/$gemver/...".

What do you think? How else can we improve RDoc accessibility?

mperham avatar Aug 29 '24 22:08 mperham

I think it's a great idea and I can make a prototype soon.

st0012 avatar Aug 29 '24 22:08 st0012

I think rubygems have an rdoc_url element in the gemspec. That could be another piece of the puzzle.

mperham avatar Aug 29 '24 23:08 mperham