On Nov 24, 2004, at 6:28 PM, Brian Schröäer wrote: > So I took some time and refactored my solution. It now has a modular > and extendible structure (at least I hope so). It should be possible > to easily write non-gtk ui's and extend the reporting capabilities. Brian, I'll kill ya! I just finished the summary about 15 minutes ago. <laughs> Seriously, thanks for the update. I'm looking through it and it looks great. Just don't be too mad at me if the summary covers the original solution. :D Since we're talking... I want to avoid embarrassing myself in the summary again by claiming to know your code better than you, so I'll embarrass myself in this thread with all of Ruby Talk looking on. See the question in the comment below: def object_browser(classtree = ClassTreeNode.new(Kernel)) ObjectSpace.each_object do | x | classnode = classtree # <- This line truly isn't needed, right??? x.class.ancestors.reverse[1..-1].inject(classtree){ | classnode, klass | classnode.add_class(klass) }.add_object(x) end classtree end Tell me I'm right this time, even if you need to lie to me. It's good for my ego. > I hope i do not "get charged per email" ;), and nobody will hate me > because I put code into the public domain without the capabilities and > spare time to support it ;). No, now you're in trouble for not properly respecting my schedule. You just can't win, really. :D James Edward Gray II