Extended maintenance of Ruby 1.9.3 ended on February 23, 2015. Read more
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 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 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 =~ /(.*)-((\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 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 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
Commenting is here to help enhance the documentation. For example, code samples, or clarification of the documentation.
If you have questions about Ruby or the documentation, please post to one of the Ruby mailing lists. You will get better, faster, help that way.
If you wish to post a correction of the docs, please do so, but also file bug report so that it can be corrected for the next release. Thank you.
If you want to help improve the Ruby documentation, please visit Documenting-ruby.org.