ruby/irb

Provide easy way to open associated RDoc?

mperham opened this issue · 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?

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

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