class ActiveRecord::Base def self.incorporates(association_id, options = {}) has_one(association_id) id = association_id.to_s klass = id.camelize.constantize obj = klass.new obj.attributes.each do |att| send :define_method, "#{att}=" do |value| assoc = send("#{association_id.to_s}") unless assoc assoc = klass.new send("#{association_id.to_s}=",assoc) end assoc.send "#{att}=", value end send :define_method, "#{att}" do assoc = send("#{association_id.to_s}") unless assoc assoc = klass.new send("#{association_id.to_s}=",assoc) end return assoc.send "#{att}" end end end end