change_log 1.0.3 → 1.0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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