From: Daniel Schierbeck Date: 2005-11-24T03:42:25+09:00 Subject: Re: pattern: auto-running module init code This is a working implementation: class Class alias_method :__new__, :new def new(*args, &block) obj = __new__(*args, &block) included_modules.each do |mod| if mod.respond_to? :initialized mod.initialized(obj, *args, &block) end end return obj end end # Testing module A def self.initialized(obj, *args) puts "Module A" end end module B def self.initialized(obj, *args) puts "Module B" end end module C; end class Klass include A, B, C def initialize puts "Klass" end end Klass.new Cheers, Daniel