lib/irb/command/show_doc.rb in irb-1.12.0 vs lib/irb/command/show_doc.rb in irb-1.13.0

- old
+ new

@@ -1,20 +1,11 @@ # frozen_string_literal: true module IRB module Command class ShowDoc < Base - class << self - 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 - end + include RubyArgsExtractor category "Context" description "Look up documentation with RI." help_message <<~HELP_MESSAGE @@ -29,26 +20,26 @@ show_doc Array show_doc Array#each HELP_MESSAGE - def execute(*names) + 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 names.empty? + if name.nil? Ri.interactive else - names.each do |name| - begin - Ri.display_name(name.to_s) - rescue RDoc::RI::Error - puts $!.message - end + begin + Ri.display_name(name) + rescue RDoc::RI::Error + puts $!.message end end nil rescue LoadError, SystemExit