# File rdoc/ri/ri_options.rb, line 219 def initialize @use_stdout = !STDOUT.tty? @width = 72 @formatter = RI::TextFormatter.for("plain") @list_classes = false @list_names = false # By default all paths are used. If any of these are true, only those # directories are used. @use_system = false @use_site = false @use_home = false @use_gems = false @doc_dirs = [] end
Return an instance of the displayer (the thing that actually writes the information). This allows us to load in new displayer classes at runtime (for example to help with IDE integration)
# File rdoc/ri/ri_options.rb, line 307 def displayer ::RiDisplay.new(self) end
Parse command line options.
# File rdoc/ri/ri_options.rb, line 237 def parse(args) old_argv = ARGV.dup ARGV.replace(args) begin go = GetoptLong.new(*OptionList.options) go.quiet = true go.each do |opt, arg| case opt when "--help" then OptionList.usage when "--version" then show_version when "--list-names" then @list_names = true when "--no-pager" then @use_stdout = true when "--classes" then @list_classes = true when "--system" then @use_system = true when "--site" then @use_site = true when "--home" then @use_home = true when "--gems" then @use_gems = true when "--doc-dir" if File.directory?(arg) @doc_dirs << arg else $stderr.puts "Invalid directory: #{arg}" exit 1 end when "--format" @formatter = RI::TextFormatter.for(arg) unless @formatter $stderr.print "Invalid formatter (should be one of " $stderr.puts RI::TextFormatter.list + ")" exit 1 end when "--width" begin @width = Integer(arg) rescue $stderr.puts "Invalid width: '#{arg}'" exit 1 end end end rescue GetoptLong::InvalidOption, GetoptLong::MissingArgument => error OptionList.error(error.message) end end
Return the selected documentation directories.
# File rdoc/ri/ri_options.rb, line 294 def path RI::Paths.path(@use_system, @use_site, @use_home, @use_gems, *@doc_dirs) end