From: ara.t.howard@... Date: 2007-01-05T06:23:11+09:00 Subject: Re: Little Things On Fri, 5 Jan 2007, Chris Carter wrote: > I have been following this whole dicussion, and I think it is time to > put my two cents in, and summarize it. > > We started not liking how #send would call private methods. and we > need it to not call them, but wait we need soemthing so we can call > those private methds. The most commonly suggested method: #send! But > #send still causes namespace issues. The ultimate solution!...lots of > underscores. We hate those too, hrm. Lets add a new super > class/module/object/thing to the mix, called a Pervasive. When we > need something not unique to a class we call it with Pervasive.method > obj. Wait, then we do Pervasive.new(Foo, :args) every time, and we do > Pervasive.class obj a lot too. This is super ugly, probably breaks > encapsulation, etc... The solution, give the classes those methods, > and make them overriable, and also allow access to the object through > the Pervasive. Problem here though, when writing a library we won't > know that someone overrode a method somewhere else in the chain, so we > are stuck using the Pervasive a lot anyway. Why this isn't a problem > now you might ask? Because we don't have the Pervasive, so people are > less willing to override those methods. We still won't have a good > looking #send that calls private methds. Well, we will, but it needs > a name. I am willing to write up the RCR on this one. bingo! -a -- in the practice of tolerance, one's enemy is the best teacher. - the dalai lama