ri, rdoc, gems, and rails

L

listrecv

One great new feature of rubygems 0.9 is that we now have ri for
installed gems as well.

That's super!

I'm not getting this for rails, even though I have the gems installed.
Why is this, and how can I add rails' to ri?
 
E

Eric Hodel

One great new feature of rubygems 0.9 is that we now have ri for
installed gems as well.

That's super!

I'm not getting this for rails, even though I have the gems installed.
Why is this, and how can I add rails' to ri?

You need to use gemri (comes with rubygems) if you are on Ruby 1.8.4
or older.
 
L

listrecv

Eric said:
You need to use gemri (comes with rubygems) if you are on Ruby 1.8.4
or older.

C:\>gemri -c | grep -i acti
Abbrev, ActionWebService, Archive, Archive::Tar, ArgumentError,
Net::SSH::UserAuth::Methods::KeyboardInteractive,

No rails.
 
L

listrecv

I'm finding that I get gemdocs even with ri, but not for all packages.

I get them for Rails' plugins, for instance, but not for rails proper.
Does anyone know how I can control which ones appear?

Also, a problem is when a plugin or monkeypatch adds things to a class
- they know appear in the class's ri, even when that extension is only
part of a particular lib. Is there a way to shut this off?
 
E

Eric Hodel

C:\>gemri -c | grep -i acti
Abbrev, ActionWebService, Archive, Archive::Tar, ArgumentError,
Net::SSH::UserAuth::Methods::KeyboardInteractive,

No rails.

ActionWebService is part of Rails.

You probably need to build the rest of the ri information.

gem rdoc --no-rdoc --ri gemname

for each part of Rails.
 
E

Eric Hodel

I'm finding that I get gemdocs even with ri, but not for all packages.

You will need to generate the ri for packages built before 0.9.0.
These packages never built their ri documentation.
I get them for Rails' plugins, for instance, but not for rails proper.
Does anyone know how I can control which ones appear?

gem rdoc --no-rdoc --ri gemname

will add them. If you want to remove them permanently you can delete
them out of the gem's doc dir. If you want to suppress them install
ruby from CVS and use the new flags to ri, --system, --site, --gems,
and --home.
Also, a problem is when a plugin or monkeypatch adds things to a class
- they know appear in the class's ri, even when that extension is only
part of a particular lib. Is there a way to shut this off?

A CVS ruby has ri options for this. I also have a half-updated gemri
that will allow you to show ri only for a gem. I'll finish it and
add it to rubygems sometime after 1.8.5p2 because it depends on
features that don't exist yet.
 
L

listrecv

Thank you, Eric, for the great info. I followed your directions and
they worked beautifully.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
474,262
Messages
2,571,048
Members
48,769
Latest member
Clifft

Latest Threads

Top