From: "ara.t.howard" Date: 2007-05-22T07:02:42+09:00 Subject: double extend of object does anyone know if this can be relied upon? cfp:~ > cat a.rb class C def singleton_class &b sc = class << self; self end b ? sc.instance_eval(&b) : sc end def extend m ancestors = [singleton_class.ancestors, self.class.ancestors].flatten.uniq super(ancestors.index(m) ? m.dup : m) end end module A def foo() 'A' end end module B def foo() 'B' end end c = C.new c.extend A p c.foo c.extend B p c.foo c.extend A p c.foo cfp:~ > ruby a.rb "A" "B" "A" ?? -a -- we can deny everything, except that we have the possibility of being better. simply reflect on that. h.h. the 14th dalai lama