module Utils::IRB::Shell

def ri(*patterns, doc: 'ri')

pattern.class.name as argument.
Start _ri_ for +pattern+. If +pattern+ is not string like, call it with
def ri(*patterns, doc: 'ri')
  patterns.empty? and
    receiver_unless_main(method(__method__)) do |pattern|
    return ri(pattern, doc: doc)
  end
  patterns.map! { |p|
    case
    when Module === p
      p.name
    when p.respond_to?(:to_str)
      p.to_str
    else
      p.class.name
    end
  }
  system "#{doc} #{patterns.map { |p| "'#{p}'" } * ' ' } | #$pager"
end