Class Class
In: lib/more/facets/preinitialize.rb
lib/more/facets/module/class_extend.rb
Parent: Object

Methods

class_extend   new  

External Aliases

new -> postinitialize_new

Public Instance methods

For Class, class_extend is the same as class_eval. The alternative is to "undef_method :class_extend", but this seems uneccessarily limited.

[Source]

     # File lib/more/facets/module/class_extend.rb, line 118
118:   def class_extend(&blk)
119:     class_eval(&blk)
120:   end

[Source]

     # File lib/more/facets/preinitialize.rb, line 90
 90:   def new(*args, &blk)
 91:     o = allocate
 92: 
 93:     #if respond_to?(:default_instance_variables)
 94:     #  default_instance_variables.each{|k,v| o.instance_variable_set( "@#{k.to_s.gsub(/\W$/,'')}",v )}
 95:     #end
 96: 
 97:     a = ancestors
 98:     until a.empty?
 99:       m = a.pop
100:       #if m.private_instance_methods.include?('preinitialize') or m.public_instance_methods.include?('preinitialize')
101:       if m.method_defined?('preinitialize') or m.private_method_defined?('preinitialize')
102:         im = instance_method('preinitialize')
103:         im.arity == 0 ? im.bind(o).call : im.bind(o).call(*args, &blk)
104:       end
105:     end
106: 
107:     o.__send__(:initialize, *args, &blk) if o.object_class.private_method_defined?(:initialize)
108: 
109:     o
110:   end

[Validate]