Class: Class

Inherits:
Object show all
Includes:
ORMSupport
Defined in:
lib/mega/orm_support.rb,
lib/mega/preinitialize.rb

Instance Method Summary collapse

Methods included from ORMSupport

#classify, #classname, default_key, default_key=, #keyname, #tablename

Instance Method Details

#new(*args, &blk) ⇒ Object



82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
# File 'lib/mega/preinitialize.rb', line 82

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')
      im = instance_method('preinitialize')
      im.arity == 0 ? im.bind(o).call : im.bind(o).call(*args, &blk)
    end
  end

  o.send(:initialize, *args, &blk)

  return o
end

#postinitialize_newObject



80
# File 'lib/mega/preinitialize.rb', line 80

alias :postinitialize_new :new