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 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.2 is temporarily locked down to Rails 2.3.x and mysql database only.
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
- column_values << '(' + ["'INSERT'", self.id, "'#{self.class.table_name}'", "'#{ChangeLog.whodidit}'", "'#{field_type}'", "'#{key}'", "'#{value}'",1].join(',') + ')'
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
- ActiveRecord::Base.connection.execute( insert_statement )
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
- column_values << '(' + ["'UPDATE'", self.id, "'#{self.class.table_name}'", "'#{ChangeLog.whodidit}'","'#{field_type}'", "'#{attribute_name}'", "'#{value[0]}'","'#{value[1]}'",ChangeLogs.get_version_number(self.id,self.class.table_name)].join(',') + ')'
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
- ActiveRecord::Base.connection.execute( insert_statement )
103
+ ChangeLogs.connection.execute( insert_statement )
91
104
  end
92
105
 
93
106
  def record_destroy
@@ -1,3 +1,3 @@
1
1
  module ChangeLog
2
- VERSION = "1.0.3"
2
+ VERSION = "1.0.4"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: change_log
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.3
4
+ version: 1.0.4
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors: