James Edward Gray II wrote: > On May 18, 2007, at 6:40 PM, Mario T. Lanza wrote: > >> This is gonna sound like a dumb question to you Ruby veterans, but: How >> do you dump pretty_print contents to a web page from within a Rails app? >> >> I've tried this and a few other things from a view: >> >> <h1>Session Info</h1> >> <% require 'pp' %> >> <%= pp(session) %> > > Change that last line to: > > <%= PP.pp(session, String.new) %> Using <%=h something %> is better in this case, as #<SomeClass:0x...> will be escaped (the angle brackets) during template processing. > pp() accepts a second argument to specify where to put the output. This > just defaults to $> ($stdout). If we specify a String, the output is > collected there instead: Only when specifying PP as receiver for 'pp'. irb(main):001:0> require "pp" => true irb(main):002:0> output = "" => "" irb(main):003:0> data = self.class.constants.select {|x| x.length < 5} => ["IRB", "ARGF", "ENV", "SLex", "IO", "Proc", "GC", "Hash", "TRUE", "File", "NIL", "PP", "Time", "Data", "Dir", "ARGV", "Math"] irb(main):004:0> pp(data, output) ["IRB", "ARGF", "ENV", "SLex", "IO", "Proc", "GC", "Hash", "TRUE", "File", "NIL", "PP", "Time", "Data", "Dir", "ARGV", "Math"] "" => nil irb(main):005:0> output => "" Well, good to see a working version, thanks James Edward. Stefan