From: Tanaka Akira Date: 2006-03-28T02:22:46+09:00 Subject: Re: PATCH: A subclassable Pathname In article <92f5f81d0603270903g2fb02244i6a395be708dfffa3@mail.gmail.com>, "Evan Phoenix" writes: > Quite right on the .glob and .getwd. I guess the tests don't test hit > those methods, I'll add some quick tests for those. Also, why is it > not so simple when a Pathname is an argument? > > For instance, the code for join tests that each argument is a Pathname > (which will come up as true for subclasses). The it simply uses > self.class.new to create the return value. The class of an argument may be different from self.class.new. For example, if P inherits Pathname, Pathname.new("...") + P.new("...") returns an instance of Pathname. Is it useful? intuitive? ... Note that Array has a similar issue too. % ruby -ve ' class A1 < Array; end class A2 < Array; end p((A1.new + A2.new).class) ' ruby 1.9.0 (2006-03-04) [i686-linux] Array -- Tanaka Akira