def self.extended(mod)
unless @lob_callback_added
ActiveRecord::Base.class_eval do
def after_save_with_oracle_lob
self.class.columns.select { |c| c.sql_type =~ /LOB\(|LOB$/i }.each do |c|
value = self[c.name]
value = value.to_yaml if unserializable_attribute?(c.name, c)
next if value.nil? || (value == '')
connection.write_large_object(c.type == :binary, c.name, self.class.table_name, self.class.primary_key, quote_value(id), value)
end
end
end
ActiveRecord::Base.after_save :after_save_with_oracle_lob
@lob_callback_added = true
end
end