def self.eval_og_insert(klass)
props = props_for_insert(klass)
values = props.collect { |p| write_prop(p) }
sql = "INSERT INTO #{table(klass)} (#{props.collect {|p| p.name}.join(',')}) VALUES (#{values.join(',')})"
if klass.instance_methods.include?("og_pre_insert")
pre_cb = "og_pre_insert(conn);"
else
pre_cb = ""
end
if klass.instance_methods.include?("og_post_insert")
post_cb = "og_post_insert(conn);"
else
post_cb = ""
end
if klass.instance_methods.include?("og_pre_insert_update")
pre_cb << "og_pre_insert_update(conn);"
end
if klass.instance_methods.include?("og_post_insert_update")
post_cb << "og_post_insert_update(conn);"
end
klass.class_eval %{
def og_insert(conn)
#{insert_code(klass, sql, pre_cb, post_cb)}
end
}
end