Sha256: 4dca8619e0001fd6415f402ea79de803edca05f50651c1934b9b1d49744757a7
Contents?: true
Size: 1.17 KB
Versions: 9
Compression:
Stored size: 1.17 KB
Contents
# frozen_string_literal: true module IRB module Command class ShowDoc < Base include RubyArgsExtractor category "Context" description "Look up documentation with RI." help_message <<~HELP_MESSAGE Usage: show_doc [name] When name is provided, IRB will look up the documentation for the given name. When no name is provided, a RI session will be started. Examples: show_doc show_doc Array show_doc Array#each HELP_MESSAGE def execute(arg) # Accept string literal for backward compatibility name = unwrap_string_literal(arg) require 'rdoc/ri/driver' unless ShowDoc.const_defined?(:Ri) opts = RDoc::RI::Driver.process_args([]) ShowDoc.const_set(:Ri, RDoc::RI::Driver.new(opts)) end if name.nil? Ri.interactive else begin Ri.display_name(name) rescue RDoc::RI::Error puts $!.message end end nil rescue LoadError, SystemExit warn "Can't display document because `rdoc` is not installed." end end end end
Version data entries
9 entries across 9 versions & 3 rubygems