#p is to #inspect as #pp is to?

I have this as a lone method, but it seems to me there should already
be a way to do this with the 'pp' lib. (If not perhaps we could add
it?)

require 'pp'
require 'stringio'

module Kernel

  # Returns a pretty-printed string of the object. Requires libraries
+pp+ and
  # +stringio+ from the Ruby standard library.

···

#
  # The following code pretty-prints an object (much like +p+ plain-
prints an
  # object):
  #
  # pp object
  #
  # The following code captures the pretty-printing in +str+ instead
of
  # sending it to +STDOUT+.
  #
  # str = object.pp_s
  #
  # CREDIT Noah Gibbs
  # CREDIT Gavin Sinclair

  def pp_s
    pps = StringIO.new
    PP.pp(self, pps)
    pps.string
  end

end