How to get documentation for a method in a Ruby gem?
As an alternative to using external sites, you can try ri
from the command line:
ri "can?"
When you install a gem, the ri documentation is (usually) installed as well. The ri
command line tool will search installed gem documentation for methods and constants matching your input and present them.
Since it runs locally, this can be a great resource when you don't have an internet connection handy!
The easiest way is to enter can?
into the search bar of the site you linked, which gives these two results:
CanCan::ControllerAdditions#can?
CanCan::Ability#can?
Not an answer, but just some tips I was told in another forum:
- Not every ruby gem method will be have documentation for every method, so don't expect to find documentation for every method for every gem
- Try finding the source code (e.g. github), and searching the particular repository for the method name with
def
prepended all in double quotes. That is:
Go to the github repository, then go to the search bar (top left), then search like so (and select "In this repository" when searching)
That will give these search results:
And we can see the method defined here:
Jörg's answer is correct, but I also wanted to show some alternate ways to find the source code for a method:
Use
show-source
from Pry gem:show-source CanCan::Ability#can?
of course, to do this you would need to know that the method is defined on
CanCan::Ability
. To find that information out you could use<my_record>.method(:own?).owner
.Use
source-location
in Ruby core:You can use
<record>.method(:own?).source_location
- this will tell you the file that the method is defined in as well as the line number, so you can open it up in text editor to inspect