13 Ağustos 2007 Pazartesi

Create classes at runtime

#author: nicwilliams , http://drnicwilliams.com/2006/08/07/ann-dr-nics-magic-models/
#For example, if you want to create a new class at runtime, and assign it a superclass, try the following:
def create_class(class_name, superclass, &block)
klass = Class.new superclass, &block
Object.const_set class_name, klass
end
With this code, you can create a class as follows:

create_class('Person', ActiveRecord::Base) do
set_table_name :people

def fullname
"#{firstname} #{lastname}" # assuming the people table has firstname,lastname columns
end
end


0 Comments: