# class IRB::ExtendCommand::ShowDoc

### Public Class Methods

transform_args(args) click to toggle source

    # File lib/irb/cmd/show_doc.rb, line 9
    def transform_args(args)
      # Return a string literal as is for backward compatibility
      if args.empty? || string_literal?(args)
        args
      else # Otherwise, consider the input as a String for convenience
        args.strip.dump
      end
    end

### Public Instance Methods

execute(*names) click to toggle source

    # File lib/irb/cmd/show_doc.rb, line 22
    def execute(*names)
      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 names.empty?
        Ri.interactive
      else
        names.each do |name|
          begin
            Ri.display_name(name.to_s)
          rescue RDoc::RI::Error
            puts $!.message
          end
        end
      end

      nil
    rescue LoadError, SystemExit
      warn "Can't display document because `rdoc` is not installed."
    end