From: ts Date: 2003-01-23T03:15:00+09:00 Subject: Re: extend (Re: a single class that supports multiple facets/interfaces) >>>>> "G" == Gavin Sinclair writes: G> Apparently, using "extend" merely hooks something up behind the G> scenes, rather than dumping a lot of information into the target G> module. Well, if you have module M end module N end class A include M extend N end internally (if you don't modify what do ruby by default) you'll have A ===> [M] ===> Object | | | | v v (A) ==> [N] ===> (Object) Where (A), (Object) are the singleton classes associated with A, Object [M], [N] are the proxy classes for M, N This is the same for a module (rather than class A) Guy Decoux