change_log 1.0.3 → 1.0.4
Sign up to get free protection for your applications and to get access to all the features.
- data/README.textile +1 -1
- data/lib/change_log/has_change_log.rb +20 -7
- data/lib/change_log/version.rb +1 -1
- metadata +1 -1
data/README.textile
CHANGED
@@ -6,7 +6,7 @@ You can choose to skip the column which you do not want to keep change logs.
|
|
6
6
|
For example: 'updated_at', 'created_at' and 'password' etc.
|
7
7
|
|
8
8
|
* Note:
|
9
|
-
Change Log version 1.0.
|
9
|
+
Change Log version 1.0.4 is temporarily locked down to Rails 2.3.x and mysql database only.
|
10
10
|
Another version with fully support to Rails 3.x and multiple databases
|
11
11
|
will be available soon in another branch on github.
|
12
12
|
|
@@ -56,12 +56,19 @@ module ChangeLog
|
|
56
56
|
unless self.ignore.include?(key.to_sym)
|
57
57
|
field_type = ChangeLogs.get_field_type(self.class.table_name,key)
|
58
58
|
value = value.gsub("'", %q(\\\')) unless value.blank? || !value.is_a?(String)
|
59
|
-
|
59
|
+
user = ChangeLog.whodidit
|
60
|
+
if user.blank?
|
61
|
+
user = 'Unkown'
|
62
|
+
else
|
63
|
+
user = ChangeLog.whodidit.is_a?(String) ? ChangeLog.whodidit : ChangeLog.whodidit.id
|
64
|
+
end
|
65
|
+
time = Time.now.strftime("%Y-%m-%d %T")
|
66
|
+
column_values << '(' + ["'INSERT'", self.id, "'#{self.class.table_name}'", "'#{user}'", "'#{field_type}'", "'#{key}'", "'#{value}'",1, "'#{time}'" ].join(',') + ')'
|
60
67
|
end
|
61
68
|
end
|
62
|
-
column_names = ['action','record_id','table_name','user','field_type','attribute_name','new_value','version']
|
69
|
+
column_names = ['action','record_id','table_name','user','field_type','attribute_name','new_value','version','created_at']
|
63
70
|
insert_statement = "INSERT INTO `#{ChangeLogs.table_name}` (`#{column_names.join('`, `')}`) VALUES " + column_values.join( ',' ) + ";"
|
64
|
-
|
71
|
+
ChangeLogs.connection.execute( insert_statement )
|
65
72
|
end
|
66
73
|
|
67
74
|
# NOTE::This version's change_log is temporarily locked down to Rails 2.3.x
|
@@ -81,13 +88,19 @@ module ChangeLog
|
|
81
88
|
field_type = ChangeLogs.get_field_type(self.class.table_name,attribute_name)
|
82
89
|
value[0] = value[0].gsub("'", %q(\\\')) unless value[0].blank? || !value[0].is_a?(String)
|
83
90
|
value[1] = value[1].gsub("'", %q(\\\')) unless value[1].blank? || !value[1].is_a?(String)
|
84
|
-
|
85
|
-
|
91
|
+
user = ChangeLog.whodidit
|
92
|
+
if user.blank?
|
93
|
+
user = 'Unkown'
|
94
|
+
else
|
95
|
+
user = ChangeLog.whodidit.is_a?(String) ? ChangeLog.whodidit : ChangeLog.whodidit.id
|
96
|
+
end
|
97
|
+
time = Time.now.strftime("%Y-%m-%d %T")
|
98
|
+
column_values << '(' + ["'UPDATE'", self.id, "'#{self.class.table_name}'", "'#{user}'","'#{field_type}'", "'#{attribute_name}'", "'#{value[0]}'","'#{value[1]}'",ChangeLogs.get_version_number(self.id,self.class.table_name),"'#{time}'"].join(',') + ')'
|
86
99
|
end
|
87
100
|
end
|
88
|
-
column_names = ['action','record_id','table_name','user','field_type','attribute_name','old_value','new_value','version']
|
101
|
+
column_names = ['action','record_id','table_name','user','field_type','attribute_name','old_value','new_value','version','created_at']
|
89
102
|
insert_statement = "INSERT INTO `#{ChangeLogs.table_name}` (`#{column_names.join('`, `')}`) VALUES " + column_values.join( ',' ) + ";"
|
90
|
-
|
103
|
+
ChangeLogs.connection.execute( insert_statement )
|
91
104
|
end
|
92
105
|
|
93
106
|
def record_destroy
|
data/lib/change_log/version.rb
CHANGED