itsme213 wrote:

> I was just playing with the recent "command" utility. It has a single class.
> 
> class PhoneBook < Cmd ..... end
> 
> When I install this as a gem, and execute a breakpoint to inspect the
> current PhoneBook in irb, and look at "self", I get all kinds of stuff that
> is has not been declared anywhere in PhoneBook, as far as I can tell.

What happens when you do 'p PhoneBook.new'?

>>self.class
> 
> #=> PhoneBook
> 
>>self
> 
> #=>

Something important is missing here.

> .... all kinds of stuff about gems as part of "self", many pages long.
>       @rubyforge_project=nil,
>       @rubygems_version="0.8.10",

I wonder why this is intended. Usually .inspect does not indentation.

> I am guessing this is gems-related. But of course I could be doing something
> really very dumb. Could someone shed some light? Is it from breakpoint/irb?

I've not heard anything about such behavior being caused by the 
breakpointing library and have personally not seen anything similar 
happening with IRB or breakpoints. I suspect it might be related to 
RubyGems or the PhoneBook, but I can't say for sure.

> Also, what method does irb call to display an object? I tried defining to_s
> and inspect on PHoneBook but it had no effect.

IRB uses .inspect in most cases, but can be configured to use .to_s 
instead. The breakpoint library does not change this, but there was 
discussion about exposing IRB's --noinspect option to the 
breakpoint_client options.