The directories where ri data lives.
Iterates over each selected path yielding the directory and type.
Yielded types:
Where Ruby’s ri data is stored.  Yielded when system is true
Where ri for installed libraries are stored.  Yielded when
site is true.  Normally no ri data is stored here.
~/.rdoc.  Yielded when home is true.
ri data for an installed gem.  Yielded when gems is true.
ri data directory from the command line.  Yielded for each entry in
extra_dirs
# File lib/rdoc/ri/paths.rb, line 50
def self.each system, site, home, gems, *extra_dirs # :yields: directory, type
  extra_dirs.each do |dir|
    yield dir, :extra
  end
  yield SYSDIR,  :system if system
  yield SITEDIR, :site   if site
  yield HOMEDIR, :home   if home and HOMEDIR
  gemdirs.each do |dir|
    yield dir, :gem
  end if gems
  nil
end
						The latest installed gems’ ri directories
# File lib/rdoc/ri/paths.rb, line 69
def self.gemdirs
  return @gemdirs if @gemdirs
  require 'rubygems' unless defined?(Gem)
  # HACK dup'd from Gem.latest_partials and friends
  all_paths = []
  all_paths = Gem.path.map do |dir|
    Dir[File.join(dir, 'doc', '*', 'ri')]
  end.flatten
  ri_paths = {}
  all_paths.each do |dir|
    base = File.basename File.dirname(dir)
    if base =~ %r(.*)-((\d+\.)*\d+)/ then
      name, version = $1, $2
      ver = Gem::Version.new version
      if ri_paths[name].nil? or ver > ri_paths[name][0] then
        ri_paths[name] = [ver, dir]
      end
    end
  end
  @gemdirs = ri_paths.map { |k,v| v.last }.sort
rescue LoadError
  @gemdirs = []
end
						Returns existing directories from the selected documentation directories as an Array.
See also ::each
# File lib/rdoc/ri/paths.rb, line 105
def self.path(system, site, home, gems, *extra_dirs)
  path = raw_path system, site, home, gems, *extra_dirs
  path.select { |directory| File.directory? directory }
end
						Returns selected documentation directories including nonexistent directories.
See also ::each
# File lib/rdoc/ri/paths.rb, line 117
def self.raw_path(system, site, home, gems, *extra_dirs)
  path = []
  each(system, site, home, gems, *extra_dirs) do |dir, type|
    path << dir
  end
  path.compact
end
						| / | Search | 
|---|---|
| ? | Show this help |