>>>>> "M" == Michael Witrant <mike / lepton.fr> writes: M> module Foo module Intern def bar; puts "Foo.bar"; end end M> def bar; puts "Foo#bar"; end M> def Foo.append_features(mod) M> super M> mod.extend Foo_class_methods mod.extend Intern M> end M> end M> class A M> include Foo M> end M> A.bar #=> Foo.bar M> A.new.bar #=> Foo#bar Guy Decoux