method
process_args
v2_2_9 -
Show latest stable
-
0 notes -
Class: Driver
- 1_8_6_287
- 1_8_7_72
- 1_8_7_330
- 1_9_1_378 (0)
- 1_9_2_180 (38)
- 1_9_3_125 (0)
- 1_9_3_392 (0)
- 2_1_10 (0)
- 2_2_9 (0)
- 2_4_6
- 2_5_5
- 2_6_3
- What's this?
Related methods
- Class methods (5)
- default_options
- dump
- new
- process_args
- run
- Instance methods (70)
- add_also_in
- add_class
- add_extends
- add_extension_modules
- add_extension_modules_multiple
- add_extension_modules_single
- add_from
- add_includes
- add_method
- add_method_documentation
- add_method_list
- ancestors_of
- cache_file_for (<= v1_9_1_378)
- cache_file_path (<= v1_9_1_378)
- class_cache
- class_cache_file_path (<= v1_9_1_378)
- class_document
- class_document_comment
- class_document_constants
- classes
- classes_and_includes_and_ex...
- classes_and_includes_for (<= v1_9_3_392)
- complete
- complete_klass
- complete_method
- create_cache_for (<= v1_9_1_378)
- create_class_cache (<= v1_9_1_378)
- display
- display_class
- display_method
- display_name
- display_names
- display_page
- display_page_list
- expand_class
- expand_name
- filter_methods
- find_methods
- find_pager_jruby
- find_store
- formatter
- get_info_for (<= v1_9_1_378)
- in_path?
- interactive
- list_known_classes
- list_methods_matching
- load_cache_for (<= v1_9_1_378)
- load_method
- load_methods_matching
- lookup_ancestor (<= v1_9_1_378)
- lookup_method
- map_dirs (<= v1_9_1_378)
- method_document
- method_type
- name_regexp
- page
- paging?
- parse_name
- populate_class_cache (<= v1_9_1_378)
- read_yaml (<= v1_9_1_378)
- render_class
- render_method
- render_method_arguments
- render_method_comment
- render_method_superclass
- run
- select_methods (<= v1_9_1_378)
- setup_pager
- start_server
- write_cache (<= v1_9_1_378)
= private
= protected
process_args(argv)
public
Parses argv and returns a Hash of options
Show source
# File lib/rdoc/ri/driver.rb, line 110 def self.process_args argv options = default_options opts = OptionParser.new do |opt| opt.accept File do |file,| File.readable?(file) and not File.directory?(file) and file end opt.program_name = File.basename $0 opt.version = RDoc::VERSION opt.release = nil opt.summary_indent = ' ' * 4 opt.banner = Usage: #{opt.program_name} [options] [names...]Where name can be: Class | Module | Module::Class Class::method | Class#method | Class.method | method gem_name: | gem_name:README | gem_name:HistoryAll class names may be abbreviated to their minimum unambiguous form. If a nameis ambiguous, all valid options will be listed.A '.' matches either class or instance methods, while #methodmatches only instance and ::method matches only class methods.README and other files may be displayed by prefixing them with the gem namethey're contained in. If the gem name is followed by a ':' all files in thegem will be shown. The file name extension may be omitted where it isunambiguous.For example: #{opt.program_name} Fil #{opt.program_name} File #{opt.program_name} File.new #{opt.program_name} zip #{opt.program_name} rdoc:READMENote that shell quoting or escaping may be required for method names containingpunctuation: #{opt.program_name} 'Array.[]' #{opt.program_name} compact\\!To see the default directories ri will search, run: #{opt.program_name} --list-doc-dirsSpecifying the --system, --site, --home, --gems or --doc-dir options willlimit ri to searching only the specified directories.ri options may be set in the 'RI' environment variable.The ri pager can be set with the 'RI_PAGER' environment variable or the'PAGER' environment variable. opt.separator nil opt.separator "Options:" opt.separator nil opt.on("--[no-]interactive", "-i", "In interactive mode you can repeatedly", "look up methods with autocomplete.") do |interactive| options[:interactive] = interactive end opt.separator nil opt.on("--[no-]all", "-a", "Show all documentation for a class or", "module.") do |show_all| options[:show_all] = show_all end opt.separator nil opt.on("--[no-]list", "-l", "List classes ri knows about.") do |list| options[:list] = list end opt.separator nil opt.on("--[no-]pager", "Send output directly to stdout,", "rather than to a pager.") do |use_pager| options[:use_stdout] = !use_pager end opt.separator nil opt.on("-T", "Synonym for --no-pager") do options[:use_stdout] = true end opt.separator nil opt.on("--width=WIDTH", "-w", OptionParser::DecimalInteger, "Set the width of the output.") do |width| options[:width] = width end opt.separator nil opt.on("--server [PORT]", Integer, "Run RDoc server on the given port.", "The default port is 8214.") do |port| options[:server] = port || 8214 end opt.separator nil formatters = RDoc::Markup.constants.grep(/^To[A-Z][a-z]+$/).sort formatters = formatters.sort.map do |formatter| formatter.to_s.sub('To', '').downcase end formatters -= ]html label test] # remove useless output formats opt.on("--format=NAME", "-f", "Uses the selected formatter. The default", "formatter is bs for paged output and ansi", "otherwise. Valid formatters are:", formatters.join(' '), formatters) do |value| options[:formatter] = RDoc::Markup.const_get "To#{value.capitalize}" end opt.separator nil opt.separator "Data source options:" opt.separator nil opt.on("--[no-]list-doc-dirs", "List the directories from which ri will", "source documentation on stdout and exit.") do |list_doc_dirs| options[:list_doc_dirs] = list_doc_dirs end opt.separator nil opt.on("--doc-dir=DIRNAME", "-d", Array, "List of directories from which to source", "documentation in addition to the standard", "directories. May be repeated.") do |value| value.each do |dir| unless File.directory? dir then raise OptionParser::InvalidArgument, "#{dir} is not a directory" end options[:extra_doc_dirs] << File.expand_path(dir) end end opt.separator nil opt.on("--no-standard-docs", "Do not include documentation from", "the Ruby standard library, site_lib,", "installed gems, or ~/.rdoc.", "Use with --doc-dir") do options[:use_system] = false options[:use_site] = false options[:use_gems] = false options[:use_home] = false end opt.separator nil opt.on("--[no-]system", "Include documentation from Ruby's standard", "library. Defaults to true.") do |value| options[:use_system] = value end opt.separator nil opt.on("--[no-]site", "Include documentation from libraries", "installed in site_lib.", "Defaults to true.") do |value| options[:use_site] = value end opt.separator nil opt.on("--[no-]gems", "Include documentation from RubyGems.", "Defaults to true.") do |value| options[:use_gems] = value end opt.separator nil opt.on("--[no-]home", "Include documentation stored in ~/.rdoc.", "Defaults to true.") do |value| options[:use_home] = value end opt.separator nil opt.separator "Debug options:" opt.separator nil opt.on("--[no-]profile", "Run with the ruby profiler") do |value| options[:profile] = value end opt.separator nil opt.on("--dump=CACHE", File, "Dumps data from an ri cache or data file") do |value| options[:dump_path] = value end end argv = ENV['RI'].to_s.split.concat argv opts.parse! argv options[:names] = argv options[:use_stdout] ||= !$stdout.tty? options[:use_stdout] ||= options[:interactive] options[:width] ||= 72 options rescue OptionParser::InvalidArgument, OptionParser::InvalidOption => e puts opts puts puts e exit 1 end