# File lib/more/facets/preinitialize.rb, line 90 def new(*args, &blk) o = allocate #if respond_to?(:default_instance_variables) # default_instance_variables.each{|k,v| o.instance_variable_set( "@#{k.to_s.gsub(/\W$/,'')}",v )} #end a = ancestors until a.empty? m = a.pop #if m.private_instance_methods.include?('preinitialize') or m.public_instance_methods.include?('preinitialize') if m.method_defined?('preinitialize') or m.private_method_defined?('preinitialize') im = instance_method('preinitialize') im.arity == 0 ? im.bind(o).call : im.bind(o).call(*args, &blk) end end o.__send__(:initialize, *args, &blk) if o.object_class.private_method_defined?(:initialize) o end