19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
|
# File 'lib/log_table.rb', line 19
def self.sql_func(status, model_name, column_names, table_name, options)
col_names = column_names
db_columns = [STATUS_COLUMN_NAME] + col_names.map { |col_name|
col_name == 'id' ? "#{model_name.underscore}_id" : "#{col_name}"
}
db_columns_str = db_columns.join(', ')
values = (["\"#{status}\""] + col_names.map { |col| "NEW.#{col}" }).join(', ')
log_table_name = options[:table_name] || "#{table_name}_log"
sql = "INSERT INTO #{log_table_name}(#{db_columns_str}) VALUES (#{values})"
sql
end
|