track_changes 1.0.0 → 1.0.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,5 +1,5 @@
1
1
  ---
2
2
  :major: 1
3
3
  :minor: 0
4
- :patch: 0
4
+ :patch: 1
5
5
  :build:
@@ -8,7 +8,7 @@ module TrackChanges
8
8
  end
9
9
 
10
10
  def track_changes_save_audit
11
- return unless self.id
11
+ return unless self.id && !@__model_changes.empty?
12
12
 
13
13
  user = current_user || TrackChanges::Configuration::get_default_user
14
14
  Audit.create_changes(self, @__model_changes, current_user)
@@ -1,84 +1,84 @@
1
- PATH
2
- remote: C:/Users/Matt/Code/track_changes
3
- specs:
4
- track_changes (1.0.0.pre3)
5
-
6
- GEM
7
- remote: http://rubygems.org/
8
- specs:
9
- abstract (1.0.0)
10
- actionmailer (3.0.0.rc)
11
- actionpack (= 3.0.0.rc)
12
- mail (~> 2.2.5)
13
- actionpack (3.0.0.rc)
14
- activemodel (= 3.0.0.rc)
15
- activesupport (= 3.0.0.rc)
16
- builder (~> 2.1.2)
17
- erubis (~> 2.6.6)
18
- i18n (~> 0.4.1)
19
- rack (~> 1.2.1)
20
- rack-mount (~> 0.6.9)
21
- rack-test (~> 0.5.4)
22
- tzinfo (~> 0.3.22)
23
- activemodel (3.0.0.rc)
24
- activesupport (= 3.0.0.rc)
25
- builder (~> 2.1.2)
26
- i18n (~> 0.4.1)
27
- activerecord (3.0.0.rc)
28
- activemodel (= 3.0.0.rc)
29
- activesupport (= 3.0.0.rc)
30
- arel (~> 0.4.0)
31
- tzinfo (~> 0.3.22)
32
- activerecord-jdbc-adapter (0.9.7-java)
33
- activerecord-jdbcsqlite3-adapter (0.9.7-java)
34
- activerecord-jdbc-adapter (= 0.9.7)
35
- jdbc-sqlite3 (>= 3.6.3.054)
36
- activeresource (3.0.0.rc)
37
- activemodel (= 3.0.0.rc)
38
- activesupport (= 3.0.0.rc)
39
- activesupport (3.0.0.rc)
40
- arel (0.4.0)
41
- activesupport (>= 3.0.0.beta)
42
- builder (2.1.2)
43
- erubis (2.6.6)
44
- abstract (>= 1.0.0)
45
- i18n (0.4.1)
46
- jdbc-sqlite3 (3.6.3.054)
47
- mail (2.2.5)
48
- activesupport (>= 2.3.6)
49
- mime-types
50
- treetop (>= 1.4.5)
51
- mime-types (1.16)
52
- polyglot (0.3.1)
53
- rack (1.2.1)
54
- rack-mount (0.6.11)
55
- rack (>= 1.0.0)
56
- rack-test (0.5.4)
57
- rack (>= 1.0)
58
- rails (3.0.0.rc)
59
- actionmailer (= 3.0.0.rc)
60
- actionpack (= 3.0.0.rc)
61
- activerecord (= 3.0.0.rc)
62
- activeresource (= 3.0.0.rc)
63
- activesupport (= 3.0.0.rc)
64
- bundler (>= 1.0.0.rc.1)
65
- railties (= 3.0.0.rc)
66
- railties (3.0.0.rc)
67
- actionpack (= 3.0.0.rc)
68
- activesupport (= 3.0.0.rc)
69
- rake (>= 0.8.3)
70
- thor (~> 0.14.0)
71
- rake (0.8.7)
72
- thor (0.14.0)
73
- treetop (1.4.8)
74
- polyglot (>= 0.3.1)
75
- tzinfo (0.3.23)
76
-
77
- PLATFORMS
78
- java
79
-
80
- DEPENDENCIES
81
- activerecord-jdbc-adapter
82
- activerecord-jdbcsqlite3-adapter
83
- rails (~> 3.0.0)
84
- track_changes!
1
+ PATH
2
+ remote: C:/Users/Matt/Code/track_changes
3
+ specs:
4
+ track_changes (1.0.0)
5
+
6
+ GEM
7
+ remote: http://rubygems.org/
8
+ specs:
9
+ abstract (1.0.0)
10
+ actionmailer (3.0.0)
11
+ actionpack (= 3.0.0)
12
+ mail (~> 2.2.5)
13
+ actionpack (3.0.0)
14
+ activemodel (= 3.0.0)
15
+ activesupport (= 3.0.0)
16
+ builder (~> 2.1.2)
17
+ erubis (~> 2.6.6)
18
+ i18n (~> 0.4.1)
19
+ rack (~> 1.2.1)
20
+ rack-mount (~> 0.6.12)
21
+ rack-test (~> 0.5.4)
22
+ tzinfo (~> 0.3.23)
23
+ activemodel (3.0.0)
24
+ activesupport (= 3.0.0)
25
+ builder (~> 2.1.2)
26
+ i18n (~> 0.4.1)
27
+ activerecord (3.0.0)
28
+ activemodel (= 3.0.0)
29
+ activesupport (= 3.0.0)
30
+ arel (~> 1.0.0)
31
+ tzinfo (~> 0.3.23)
32
+ activerecord-jdbc-adapter (0.9.7-java)
33
+ activerecord-jdbcsqlite3-adapter (0.9.7-java)
34
+ activerecord-jdbc-adapter (= 0.9.7)
35
+ jdbc-sqlite3 (>= 3.6.3.054)
36
+ activeresource (3.0.0)
37
+ activemodel (= 3.0.0)
38
+ activesupport (= 3.0.0)
39
+ activesupport (3.0.0)
40
+ arel (1.0.1)
41
+ activesupport (~> 3.0.0)
42
+ builder (2.1.2)
43
+ erubis (2.6.6)
44
+ abstract (>= 1.0.0)
45
+ i18n (0.4.1)
46
+ jdbc-sqlite3 (3.6.3.054)
47
+ mail (2.2.6.1)
48
+ activesupport (>= 2.3.6)
49
+ mime-types
50
+ treetop (>= 1.4.5)
51
+ mime-types (1.16)
52
+ polyglot (0.3.1)
53
+ rack (1.2.1)
54
+ rack-mount (0.6.13)
55
+ rack (>= 1.0.0)
56
+ rack-test (0.5.4)
57
+ rack (>= 1.0)
58
+ rails (3.0.0)
59
+ actionmailer (= 3.0.0)
60
+ actionpack (= 3.0.0)
61
+ activerecord (= 3.0.0)
62
+ activeresource (= 3.0.0)
63
+ activesupport (= 3.0.0)
64
+ bundler (~> 1.0.0)
65
+ railties (= 3.0.0)
66
+ railties (3.0.0)
67
+ actionpack (= 3.0.0)
68
+ activesupport (= 3.0.0)
69
+ rake (>= 0.8.4)
70
+ thor (~> 0.14.0)
71
+ rake (0.8.7)
72
+ thor (0.14.0)
73
+ treetop (1.4.8)
74
+ polyglot (>= 0.3.1)
75
+ tzinfo (0.3.23)
76
+
77
+ PLATFORMS
78
+ java
79
+
80
+ DEPENDENCIES
81
+ activerecord-jdbc-adapter
82
+ activerecord-jdbcsqlite3-adapter
83
+ rails (~> 3.0.0)
84
+ track_changes!
@@ -4983,3 +4983,430 @@ title:
4983
4983
  SQL (0.0ms) SELECT SEQ FROM SQLITE_SEQUENCE WHERE NAME = 'posts'
4984
4984
  SQL (0.0ms) SELECT COUNT(*) AS count_id FROM audits
4985
4985
  Audit Load (1.0ms) SELECT audits.* FROM audits
4986
+ SQL (2.0ms)  SELECT name
4987
+ FROM sqlite_master
4988
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
4989
+ 
4990
+ SQL (11.0ms) DROP TABLE audits
4991
+ SQL (13.0ms) CREATE TABLE audits (id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, audited_id integer(0) NOT NULL, audited_type VARCHAR(255) NOT NULL, user_id integer(0), change_set text NOT NULL, created_at DATETIME NOT NULL) 
4992
+ SQL (1.0ms) SELECT name
4993
+ FROM sqlite_master
4994
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
4995
+ SQL (15.0ms) DROP TABLE posts
4996
+ SQL (8.0ms) CREATE TABLE posts (id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, title VARCHAR(255), body text)
4997
+ SQL (1.0ms)  SELECT name
4998
+ FROM sqlite_master
4999
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
5000
+ 
5001
+ SQL (7.0ms) DROP TABLE users
5002
+ SQL (4.0ms) CREATE TABLE users (id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, name VARCHAR(255)) 
5003
+ SQL (0.0ms) SELECT name
5004
+ FROM sqlite_master
5005
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
5006
+ SQL (0.0ms) SELECT version FROM schema_migrations
5007
+ SQL (0.0ms) SELECT name
5008
+ FROM sqlite_master
5009
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
5010
+ SQL (5.0ms) DROP TABLE audits
5011
+ SQL (5.0ms) CREATE TABLE audits (id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, audited_id integer(0) NOT NULL, audited_type VARCHAR(255) NOT NULL, user_id integer(0), change_set text NOT NULL, created_at DATETIME NOT NULL)
5012
+ SQL (0.0ms)  SELECT name
5013
+ FROM sqlite_master
5014
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
5015
+ 
5016
+ SQL (6.0ms) DROP TABLE posts
5017
+ SQL (6.0ms) CREATE TABLE posts (id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, title VARCHAR(255), body text) 
5018
+ SQL (1.0ms) SELECT name
5019
+ FROM sqlite_master
5020
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
5021
+ SQL (5.0ms) DROP TABLE users
5022
+ SQL (6.0ms) CREATE TABLE users (id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, name VARCHAR(255))
5023
+ SQL (1.0ms)  SELECT name
5024
+ FROM sqlite_master
5025
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
5026
+ 
5027
+ SQL (1.0ms) SELECT version FROM schema_migrations
5028
+ SQL (0.0ms)  SELECT name
5029
+ FROM sqlite_master
5030
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
5031
+ 
5032
+ SQL (1.0ms) INSERT INTO posts (body, title) VALUES ('Hello World', 'Hello')
5033
+ SQL (0.0ms) SELECT SEQ FROM SQLITE_SEQUENCE WHERE NAME = 'posts'
5034
+ Processing by PostsController#update as HTML
5035
+ Parameters: {"post"=>{"title"=>"Changed"}, "id"=>"1"}
5036
+ get_user
5037
+ User Load (0.0ms) SELECT users.* FROM users WHERE (users.id IS NULL) LIMIT 1
5038
+ get_post
5039
+ Post Load (0.0ms) SELECT posts.* FROM posts WHERE (posts.id = 1) LIMIT 1
5040
+ current_user
5041
+ SQL (0.0ms) UPDATE posts SET title = 'Changed' WHERE (posts.id = 1)
5042
+ SQL (0.0ms) INSERT INTO audits (audited_id, audited_type, change_set, created_at, user_id) VALUES (1, 'Post', '--- !map:ActiveSupport::HashWithIndifferentAccess
5043
+ title:
5044
+ - Hello
5045
+ - Changed
5046
+ ', '2010-09-02 19:01:29', NULL)
5047
+ SQL (0.0ms) SELECT SEQ FROM SQLITE_SEQUENCE WHERE NAME = 'audits'
5048
+ Redirected to http://test.host/posts
5049
+ Completed 302 Found in 190ms
5050
+ Post Load (1.0ms) SELECT posts.* FROM posts WHERE (posts.id = 1) LIMIT 1
5051
+ SQL (0.0ms) SELECT COUNT(*) AS count_id FROM audits WHERE (audits.audited_id = 1 AND audits.audited_type = 'Post')
5052
+ Audit Load (0.0ms) SELECT audits.* FROM audits WHERE (audits.audited_id = 1 AND audits.audited_type = 'Post') ORDER BY audits.created_at DESC, audits.id DESC LIMIT 1
5053
+ SQL (1.0ms) INSERT INTO posts (body, title) VALUES ('Hello World', 'Hello')
5054
+ SQL (0.0ms) SELECT SEQ FROM SQLITE_SEQUENCE WHERE NAME = 'posts'
5055
+ SQL (0.0ms) DELETE FROM users
5056
+ Processing by PostsController#update as HTML
5057
+ Parameters: {"post"=>{"title"=>"Changed User Test"}, "id"=>"1", "user_id"=>nil}
5058
+ get_user
5059
+ User Load (0.0ms) SELECT users.* FROM users WHERE (users.id IS NULL) LIMIT 1
5060
+ get_post
5061
+ Post Load (0.0ms) SELECT posts.* FROM posts WHERE (posts.id = 1) LIMIT 1
5062
+ current_user
5063
+ SQL (0.0ms) UPDATE posts SET title = 'Changed User Test' WHERE (posts.id = 1)
5064
+ SQL (1.0ms) INSERT INTO audits (audited_id, audited_type, change_set, created_at, user_id) VALUES (1, 'Post', '--- !map:ActiveSupport::HashWithIndifferentAccess
5065
+ title:
5066
+ - Hello
5067
+ - Changed User Test
5068
+ ', '2010-09-02 19:01:29', NULL)
5069
+ SQL (0.0ms) SELECT SEQ FROM SQLITE_SEQUENCE WHERE NAME = 'audits'
5070
+ Redirected to http://test.host/posts
5071
+ Completed 302 Found in 57ms
5072
+ Post Load (0.0ms) SELECT posts.* FROM posts WHERE (posts.id = 1) LIMIT 1
5073
+ Audit Load (0.0ms) SELECT audits.* FROM audits WHERE (audits.audited_id = 1 AND audits.audited_type = 'Post') ORDER BY audits.created_at DESC, audits.id DESC LIMIT 1
5074
+ SQL (2.0ms) INSERT INTO posts (body, title) VALUES ('Hello World', 'Hello')
5075
+ SQL (0.0ms) SELECT SEQ FROM SQLITE_SEQUENCE WHERE NAME = 'posts'
5076
+ SQL (0.0ms) DELETE FROM users
5077
+ SQL (0.0ms) INSERT INTO users (name) VALUES ('ControllerTest')
5078
+ SQL (0.0ms) SELECT SEQ FROM SQLITE_SEQUENCE WHERE NAME = 'users'
5079
+ SQL (0.0ms) INSERT INTO users (name) VALUES ('Someone Else')
5080
+ SQL (0.0ms) SELECT SEQ FROM SQLITE_SEQUENCE WHERE NAME = 'users'
5081
+ Processing by PostsController#update as HTML
5082
+ Parameters: {"post"=>{"title"=>"Changed User Test"}, "user_id"=>1, "id"=>"1"}
5083
+ get_user
5084
+ User Load (1.0ms) SELECT users.* FROM users WHERE (users.id = 1) LIMIT 1
5085
+ get_post
5086
+ Post Load (0.0ms) SELECT posts.* FROM posts WHERE (posts.id = 1) LIMIT 1
5087
+ current_user
5088
+ SQL (0.0ms) UPDATE posts SET title = 'Changed User Test' WHERE (posts.id = 1)
5089
+ SQL (1.0ms) INSERT INTO audits (audited_id, audited_type, change_set, created_at, user_id) VALUES (1, 'Post', '--- !map:ActiveSupport::HashWithIndifferentAccess
5090
+ title:
5091
+ - Hello
5092
+ - Changed User Test
5093
+ ', '2010-09-02 19:01:29', 1)
5094
+ SQL (1.0ms) SELECT SEQ FROM SQLITE_SEQUENCE WHERE NAME = 'audits'
5095
+ Redirected to http://test.host/posts
5096
+ Completed 302 Found in 65ms
5097
+ Post Load (0.0ms) SELECT posts.* FROM posts WHERE (posts.id = 1) LIMIT 1
5098
+ Audit Load (0.0ms) SELECT audits.* FROM audits WHERE (audits.audited_id = 1 AND audits.audited_type = 'Post') ORDER BY audits.created_at DESC, audits.id DESC LIMIT 1
5099
+ Audit Load (3.0ms) SELECT audits.* FROM audits
5100
+ Post Load (0.0ms) SELECT posts.* FROM posts
5101
+ User Load (1.0ms) SELECT users.* FROM users
5102
+ Audit Load (0.0ms) SELECT audits.* FROM audits WHERE (audits.audited_id = NULL AND audits.audited_type = 'Post')
5103
+ SQL (1.0ms) INSERT INTO users (name) VALUES ('John Public')
5104
+ SQL (0.0ms) SELECT SEQ FROM SQLITE_SEQUENCE WHERE NAME = 'users'
5105
+ SQL (1.0ms) INSERT INTO posts (body, title) VALUES ('Hello, world!', 'Test Post')
5106
+ SQL (0.0ms) SELECT SEQ FROM SQLITE_SEQUENCE WHERE NAME = 'posts'
5107
+ SQL (1.0ms) UPDATE posts SET title = 'Title Changed' WHERE (posts.id = 1)
5108
+ SQL (1.0ms) INSERT INTO audits (audited_id, audited_type, change_set, created_at, user_id) VALUES (1, 'Post', '--- !map:ActiveSupport::HashWithIndifferentAccess
5109
+ title:
5110
+ - Test Post
5111
+ - Title Changed
5112
+ ', '2010-09-02 19:01:29', NULL)
5113
+ SQL (0.0ms) SELECT SEQ FROM SQLITE_SEQUENCE WHERE NAME = 'audits'
5114
+ Audit Load (0.0ms) SELECT audits.* FROM audits WHERE (audits.audited_id = 1 AND audits.audited_type = 'Post') ORDER BY audits.created_at DESC, audits.id DESC LIMIT 1
5115
+ SQL (0.0ms) SELECT COUNT(*) AS count_id FROM audits WHERE (audits.audited_id = 1 AND audits.audited_type = 'Post')
5116
+ SQL (1.0ms) SELECT COUNT(*) AS count_id FROM audits
5117
+ SQL (1.0ms) INSERT INTO users (name) VALUES ('John Public')
5118
+ SQL (0.0ms) SELECT SEQ FROM SQLITE_SEQUENCE WHERE NAME = 'users'
5119
+ SQL (1.0ms) INSERT INTO posts (body, title) VALUES ('Hello, world!', 'Test Post')
5120
+ SQL (0.0ms) SELECT SEQ FROM SQLITE_SEQUENCE WHERE NAME = 'posts'
5121
+ SQL (0.0ms) SELECT COUNT(*) AS count_id FROM audits
5122
+ Audit Load (0.0ms) SELECT audits.* FROM audits
5123
+ SQL (1.0ms)  SELECT name
5124
+ FROM sqlite_master
5125
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
5126
+ 
5127
+ SQL (10.0ms) DROP TABLE audits
5128
+ SQL (6.0ms) CREATE TABLE audits (id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, audited_id integer(0) NOT NULL, audited_type VARCHAR(255) NOT NULL, user_id integer(0), change_set text NOT NULL, created_at DATETIME NOT NULL) 
5129
+ SQL (0.0ms) SELECT name
5130
+ FROM sqlite_master
5131
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
5132
+ SQL (4.0ms) DROP TABLE posts
5133
+ SQL (106.0ms) CREATE TABLE posts (id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, title VARCHAR(255), body text)
5134
+ SQL (0.0ms)  SELECT name
5135
+ FROM sqlite_master
5136
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
5137
+ 
5138
+ SQL (5.0ms) DROP TABLE users
5139
+ SQL (5.0ms) CREATE TABLE users (id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, name VARCHAR(255)) 
5140
+ SQL (1.0ms) SELECT name
5141
+ FROM sqlite_master
5142
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
5143
+ SQL (0.0ms) SELECT version FROM schema_migrations
5144
+ SQL (1.0ms) SELECT name
5145
+ FROM sqlite_master
5146
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
5147
+ SQL (4.0ms) DROP TABLE audits
5148
+ SQL (4.0ms) CREATE TABLE audits (id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, audited_id integer(0) NOT NULL, audited_type VARCHAR(255) NOT NULL, user_id integer(0), change_set text NOT NULL, created_at DATETIME NOT NULL)
5149
+ SQL (1.0ms)  SELECT name
5150
+ FROM sqlite_master
5151
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
5152
+ 
5153
+ SQL (4.0ms) DROP TABLE posts
5154
+ SQL (4.0ms) CREATE TABLE posts (id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, title VARCHAR(255), body text) 
5155
+ SQL (1.0ms) SELECT name
5156
+ FROM sqlite_master
5157
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
5158
+ SQL (5.0ms) DROP TABLE users
5159
+ SQL (4.0ms) CREATE TABLE users (id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, name VARCHAR(255))
5160
+ SQL (0.0ms)  SELECT name
5161
+ FROM sqlite_master
5162
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
5163
+ 
5164
+ SQL (0.0ms) SELECT version FROM schema_migrations
5165
+ SQL (0.0ms)  SELECT name
5166
+ FROM sqlite_master
5167
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
5168
+ 
5169
+ SQL (1.0ms) INSERT INTO posts (body, title) VALUES ('Hello World', 'Hello')
5170
+ SQL (0.0ms) SELECT SEQ FROM SQLITE_SEQUENCE WHERE NAME = 'posts'
5171
+ Processing by PostsController#update as HTML
5172
+ Parameters: {"post"=>{"title"=>"Changed"}, "id"=>"1"}
5173
+ get_user
5174
+ User Load (0.0ms) SELECT users.* FROM users WHERE (users.id IS NULL) LIMIT 1
5175
+ get_post
5176
+ Post Load (0.0ms) SELECT posts.* FROM posts WHERE (posts.id = 1) LIMIT 1
5177
+ current_user
5178
+ SQL (0.0ms) UPDATE posts SET title = 'Changed' WHERE (posts.id = 1)
5179
+ SQL (1.0ms) INSERT INTO audits (audited_id, audited_type, change_set, created_at, user_id) VALUES (1, 'Post', '--- !map:ActiveSupport::HashWithIndifferentAccess
5180
+ title:
5181
+ - Hello
5182
+ - Changed
5183
+ ', '2010-09-15 17:29:44', NULL)
5184
+ SQL (1.0ms) SELECT SEQ FROM SQLITE_SEQUENCE WHERE NAME = 'audits'
5185
+ Redirected to http://test.host/posts
5186
+ Completed 302 Found in 158ms
5187
+ Post Load (0.0ms) SELECT posts.* FROM posts WHERE (posts.id = 1) LIMIT 1
5188
+ SQL (1.0ms) SELECT COUNT(*) AS count_id FROM (SELECT 1 FROM audits WHERE (audits.audited_id = 1 AND audits.audited_type = 'Post')) AS subquery
5189
+ Audit Load (0.0ms) SELECT audits.* FROM audits WHERE (audits.audited_id = 1 AND audits.audited_type = 'Post') ORDER BY audits.created_at DESC, audits.id DESC LIMIT 1
5190
+ SQL (0.0ms) INSERT INTO posts (body, title) VALUES ('Hello World', 'Hello')
5191
+ SQL (1.0ms) SELECT SEQ FROM SQLITE_SEQUENCE WHERE NAME = 'posts'
5192
+ SQL (0.0ms) DELETE FROM users
5193
+ Processing by PostsController#update as HTML
5194
+ Parameters: {"post"=>{"title"=>"Changed User Test"}, "id"=>"1", "user_id"=>nil}
5195
+ get_user
5196
+ User Load (0.0ms) SELECT users.* FROM users WHERE (users.id IS NULL) LIMIT 1
5197
+ get_post
5198
+ Post Load (0.0ms) SELECT posts.* FROM posts WHERE (posts.id = 1) LIMIT 1
5199
+ current_user
5200
+ SQL (0.0ms) UPDATE posts SET title = 'Changed User Test' WHERE (posts.id = 1)
5201
+ SQL (0.0ms) INSERT INTO audits (audited_id, audited_type, change_set, created_at, user_id) VALUES (1, 'Post', '--- !map:ActiveSupport::HashWithIndifferentAccess
5202
+ title:
5203
+ - Hello
5204
+ - Changed User Test
5205
+ ', '2010-09-15 17:29:44', NULL)
5206
+ SQL (0.0ms) SELECT SEQ FROM SQLITE_SEQUENCE WHERE NAME = 'audits'
5207
+ Redirected to http://test.host/posts
5208
+ Completed 302 Found in 47ms
5209
+ Post Load (0.0ms) SELECT posts.* FROM posts WHERE (posts.id = 1) LIMIT 1
5210
+ Audit Load (1.0ms) SELECT audits.* FROM audits WHERE (audits.audited_id = 1 AND audits.audited_type = 'Post') ORDER BY audits.created_at DESC, audits.id DESC LIMIT 1
5211
+ SQL (2.0ms) INSERT INTO posts (body, title) VALUES ('Hello World', 'Hello')
5212
+ SQL (1.0ms) SELECT SEQ FROM SQLITE_SEQUENCE WHERE NAME = 'posts'
5213
+ SQL (0.0ms) DELETE FROM users
5214
+ SQL (0.0ms) INSERT INTO users (name) VALUES ('ControllerTest')
5215
+ SQL (0.0ms) SELECT SEQ FROM SQLITE_SEQUENCE WHERE NAME = 'users'
5216
+ SQL (0.0ms) INSERT INTO users (name) VALUES ('Someone Else')
5217
+ SQL (0.0ms) SELECT SEQ FROM SQLITE_SEQUENCE WHERE NAME = 'users'
5218
+ Processing by PostsController#update as HTML
5219
+ Parameters: {"post"=>{"title"=>"Changed User Test"}, "user_id"=>1, "id"=>"1"}
5220
+ get_user
5221
+ User Load (0.0ms) SELECT users.* FROM users WHERE (users.id = 1) LIMIT 1
5222
+ get_post
5223
+ Post Load (0.0ms) SELECT posts.* FROM posts WHERE (posts.id = 1) LIMIT 1
5224
+ current_user
5225
+ SQL (0.0ms) UPDATE posts SET title = 'Changed User Test' WHERE (posts.id = 1)
5226
+ SQL (0.0ms) INSERT INTO audits (audited_id, audited_type, change_set, created_at, user_id) VALUES (1, 'Post', '--- !map:ActiveSupport::HashWithIndifferentAccess
5227
+ title:
5228
+ - Hello
5229
+ - Changed User Test
5230
+ ', '2010-09-15 17:29:44', 1)
5231
+ SQL (0.0ms) SELECT SEQ FROM SQLITE_SEQUENCE WHERE NAME = 'audits'
5232
+ Redirected to http://test.host/posts
5233
+ Completed 302 Found in 36ms
5234
+ Post Load (1.0ms) SELECT posts.* FROM posts WHERE (posts.id = 1) LIMIT 1
5235
+ Audit Load (0.0ms) SELECT audits.* FROM audits WHERE (audits.audited_id = 1 AND audits.audited_type = 'Post') ORDER BY audits.created_at DESC, audits.id DESC LIMIT 1
5236
+ Audit Load (3.0ms) SELECT audits.* FROM audits
5237
+ Post Load (0.0ms) SELECT posts.* FROM posts
5238
+ User Load (0.0ms) SELECT users.* FROM users
5239
+ Audit Load (0.0ms) SELECT audits.* FROM audits WHERE (audits.audited_id = NULL AND audits.audited_type = 'Post')
5240
+ SQL (1.0ms) INSERT INTO users (name) VALUES ('John Public')
5241
+ SQL (0.0ms) SELECT SEQ FROM SQLITE_SEQUENCE WHERE NAME = 'users'
5242
+ SQL (0.0ms) INSERT INTO posts (body, title) VALUES ('Hello, world!', 'Test Post')
5243
+ SQL (0.0ms) SELECT SEQ FROM SQLITE_SEQUENCE WHERE NAME = 'posts'
5244
+ SQL (0.0ms) UPDATE posts SET title = 'Title Changed' WHERE (posts.id = 1)
5245
+ SQL (1.0ms) INSERT INTO audits (audited_id, audited_type, change_set, created_at, user_id) VALUES (1, 'Post', '--- !map:ActiveSupport::HashWithIndifferentAccess
5246
+ title:
5247
+ - Test Post
5248
+ - Title Changed
5249
+ ', '2010-09-15 17:29:44', NULL)
5250
+ SQL (0.0ms) SELECT SEQ FROM SQLITE_SEQUENCE WHERE NAME = 'audits'
5251
+ Audit Load (0.0ms) SELECT audits.* FROM audits WHERE (audits.audited_id = 1 AND audits.audited_type = 'Post') ORDER BY audits.created_at DESC, audits.id DESC LIMIT 1
5252
+ SQL (1.0ms) SELECT COUNT(*) AS count_id FROM (SELECT 1 FROM audits WHERE (audits.audited_id = 1 AND audits.audited_type = 'Post')) AS subquery
5253
+ SQL (0.0ms) SELECT COUNT(*) AS count_id FROM audits
5254
+ SQL (1.0ms) INSERT INTO users (name) VALUES ('John Public')
5255
+ SQL (1.0ms) SELECT SEQ FROM SQLITE_SEQUENCE WHERE NAME = 'users'
5256
+ SQL (1.0ms) INSERT INTO posts (body, title) VALUES ('Hello, world!', 'Test Post')
5257
+ SQL (0.0ms) SELECT SEQ FROM SQLITE_SEQUENCE WHERE NAME = 'posts'
5258
+ SQL (1.0ms) SELECT COUNT(*) AS count_id FROM audits
5259
+ Audit Load (0.0ms) SELECT audits.* FROM audits
5260
+ SQL (0.0ms) SELECT COUNT(*) AS count_id FROM audits
5261
+ SQL (1.0ms) INSERT INTO users (name) VALUES ('John Public')
5262
+ SQL (1.0ms) SELECT SEQ FROM SQLITE_SEQUENCE WHERE NAME = 'users'
5263
+ SQL (1.0ms) INSERT INTO posts (body, title) VALUES ('Hello, world!', 'Test Post')
5264
+ SQL (0.0ms) SELECT SEQ FROM SQLITE_SEQUENCE WHERE NAME = 'posts'
5265
+ SQL (2.0ms) INSERT INTO audits (audited_id, audited_type, change_set, created_at, user_id) VALUES (3, 'Post', '--- !map:ActiveSupport::HashWithIndifferentAccess {}
5266
+
5267
+ ', '2010-09-15 17:29:44', NULL)
5268
+ SQL (0.0ms) SELECT SEQ FROM SQLITE_SEQUENCE WHERE NAME = 'audits'
5269
+ SQL (0.0ms) SELECT COUNT(*) AS count_id FROM audits
5270
+ SQL (1.0ms)  SELECT name
5271
+ FROM sqlite_master
5272
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
5273
+ 
5274
+ SQL (5.0ms) DROP TABLE audits
5275
+ SQL (4.0ms) CREATE TABLE audits (id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, audited_id integer(0) NOT NULL, audited_type VARCHAR(255) NOT NULL, user_id integer(0), change_set text NOT NULL, created_at DATETIME NOT NULL) 
5276
+ SQL (1.0ms) SELECT name
5277
+ FROM sqlite_master
5278
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
5279
+ SQL (5.0ms) DROP TABLE posts
5280
+ SQL (4.0ms) CREATE TABLE posts (id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, title VARCHAR(255), body text)
5281
+ SQL (0.0ms)  SELECT name
5282
+ FROM sqlite_master
5283
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
5284
+ 
5285
+ SQL (6.0ms) DROP TABLE users
5286
+ SQL (5.0ms) CREATE TABLE users (id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, name VARCHAR(255)) 
5287
+ SQL (1.0ms) SELECT name
5288
+ FROM sqlite_master
5289
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
5290
+ SQL (0.0ms) SELECT version FROM schema_migrations
5291
+ SQL (0.0ms) SELECT name
5292
+ FROM sqlite_master
5293
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
5294
+ SQL (5.0ms) DROP TABLE audits
5295
+ SQL (4.0ms) CREATE TABLE audits (id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, audited_id integer(0) NOT NULL, audited_type VARCHAR(255) NOT NULL, user_id integer(0), change_set text NOT NULL, created_at DATETIME NOT NULL)
5296
+ SQL (0.0ms)  SELECT name
5297
+ FROM sqlite_master
5298
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
5299
+ 
5300
+ SQL (4.0ms) DROP TABLE posts
5301
+ SQL (4.0ms) CREATE TABLE posts (id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, title VARCHAR(255), body text) 
5302
+ SQL (0.0ms) SELECT name
5303
+ FROM sqlite_master
5304
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
5305
+ SQL (4.0ms) DROP TABLE users
5306
+ SQL (5.0ms) CREATE TABLE users (id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, name VARCHAR(255))
5307
+ SQL (0.0ms)  SELECT name
5308
+ FROM sqlite_master
5309
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
5310
+ 
5311
+ SQL (0.0ms) SELECT version FROM schema_migrations
5312
+ SQL (1.0ms)  SELECT name
5313
+ FROM sqlite_master
5314
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
5315
+ 
5316
+ SQL (1.0ms) INSERT INTO posts (body, title) VALUES ('Hello World', 'Hello')
5317
+ SQL (0.0ms) SELECT SEQ FROM SQLITE_SEQUENCE WHERE NAME = 'posts'
5318
+ Processing by PostsController#update as HTML
5319
+ Parameters: {"post"=>{"title"=>"Changed"}, "id"=>"1"}
5320
+ get_user
5321
+ User Load (0.0ms) SELECT users.* FROM users WHERE (users.id IS NULL) LIMIT 1
5322
+ get_post
5323
+ Post Load (0.0ms) SELECT posts.* FROM posts WHERE (posts.id = 1) LIMIT 1
5324
+ current_user
5325
+ SQL (0.0ms) UPDATE posts SET title = 'Changed' WHERE (posts.id = 1)
5326
+ SQL (0.0ms) INSERT INTO audits (audited_id, audited_type, change_set, created_at, user_id) VALUES (1, 'Post', '--- !map:ActiveSupport::HashWithIndifferentAccess
5327
+ title:
5328
+ - Hello
5329
+ - Changed
5330
+ ', '2010-09-15 17:30:08', NULL)
5331
+ SQL (1.0ms) SELECT SEQ FROM SQLITE_SEQUENCE WHERE NAME = 'audits'
5332
+ Redirected to http://test.host/posts
5333
+ Completed 302 Found in 118ms
5334
+ Post Load (0.0ms) SELECT posts.* FROM posts WHERE (posts.id = 1) LIMIT 1
5335
+ SQL (0.0ms) SELECT COUNT(*) AS count_id FROM (SELECT 1 FROM audits WHERE (audits.audited_id = 1 AND audits.audited_type = 'Post')) AS subquery
5336
+ Audit Load (0.0ms) SELECT audits.* FROM audits WHERE (audits.audited_id = 1 AND audits.audited_type = 'Post') ORDER BY audits.created_at DESC, audits.id DESC LIMIT 1
5337
+ SQL (1.0ms) INSERT INTO posts (body, title) VALUES ('Hello World', 'Hello')
5338
+ SQL (0.0ms) SELECT SEQ FROM SQLITE_SEQUENCE WHERE NAME = 'posts'
5339
+ SQL (0.0ms) DELETE FROM users
5340
+ Processing by PostsController#update as HTML
5341
+ Parameters: {"post"=>{"title"=>"Changed User Test"}, "id"=>"1", "user_id"=>nil}
5342
+ get_user
5343
+ User Load (0.0ms) SELECT users.* FROM users WHERE (users.id IS NULL) LIMIT 1
5344
+ get_post
5345
+ Post Load (0.0ms) SELECT posts.* FROM posts WHERE (posts.id = 1) LIMIT 1
5346
+ current_user
5347
+ SQL (0.0ms) UPDATE posts SET title = 'Changed User Test' WHERE (posts.id = 1)
5348
+ SQL (1.0ms) INSERT INTO audits (audited_id, audited_type, change_set, created_at, user_id) VALUES (1, 'Post', '--- !map:ActiveSupport::HashWithIndifferentAccess
5349
+ title:
5350
+ - Hello
5351
+ - Changed User Test
5352
+ ', '2010-09-15 17:30:08', NULL)
5353
+ SQL (0.0ms) SELECT SEQ FROM SQLITE_SEQUENCE WHERE NAME = 'audits'
5354
+ Redirected to http://test.host/posts
5355
+ Completed 302 Found in 39ms
5356
+ Post Load (0.0ms) SELECT posts.* FROM posts WHERE (posts.id = 1) LIMIT 1
5357
+ Audit Load (0.0ms) SELECT audits.* FROM audits WHERE (audits.audited_id = 1 AND audits.audited_type = 'Post') ORDER BY audits.created_at DESC, audits.id DESC LIMIT 1
5358
+ SQL (1.0ms) INSERT INTO posts (body, title) VALUES ('Hello World', 'Hello')
5359
+ SQL (0.0ms) SELECT SEQ FROM SQLITE_SEQUENCE WHERE NAME = 'posts'
5360
+ SQL (0.0ms) DELETE FROM users
5361
+ SQL (0.0ms) INSERT INTO users (name) VALUES ('ControllerTest')
5362
+ SQL (0.0ms) SELECT SEQ FROM SQLITE_SEQUENCE WHERE NAME = 'users'
5363
+ SQL (0.0ms) INSERT INTO users (name) VALUES ('Someone Else')
5364
+ SQL (0.0ms) SELECT SEQ FROM SQLITE_SEQUENCE WHERE NAME = 'users'
5365
+ Processing by PostsController#update as HTML
5366
+ Parameters: {"post"=>{"title"=>"Changed User Test"}, "user_id"=>1, "id"=>"1"}
5367
+ get_user
5368
+ User Load (0.0ms) SELECT users.* FROM users WHERE (users.id = 1) LIMIT 1
5369
+ get_post
5370
+ Post Load (0.0ms) SELECT posts.* FROM posts WHERE (posts.id = 1) LIMIT 1
5371
+ current_user
5372
+ SQL (0.0ms) UPDATE posts SET title = 'Changed User Test' WHERE (posts.id = 1)
5373
+ SQL (0.0ms) INSERT INTO audits (audited_id, audited_type, change_set, created_at, user_id) VALUES (1, 'Post', '--- !map:ActiveSupport::HashWithIndifferentAccess
5374
+ title:
5375
+ - Hello
5376
+ - Changed User Test
5377
+ ', '2010-09-15 17:30:09', 1)
5378
+ SQL (0.0ms) SELECT SEQ FROM SQLITE_SEQUENCE WHERE NAME = 'audits'
5379
+ Redirected to http://test.host/posts
5380
+ Completed 302 Found in 43ms
5381
+ Post Load (0.0ms) SELECT posts.* FROM posts WHERE (posts.id = 1) LIMIT 1
5382
+ Audit Load (0.0ms) SELECT audits.* FROM audits WHERE (audits.audited_id = 1 AND audits.audited_type = 'Post') ORDER BY audits.created_at DESC, audits.id DESC LIMIT 1
5383
+ Audit Load (2.0ms) SELECT audits.* FROM audits
5384
+ Post Load (0.0ms) SELECT posts.* FROM posts
5385
+ User Load (0.0ms) SELECT users.* FROM users
5386
+ Audit Load (1.0ms) SELECT audits.* FROM audits WHERE (audits.audited_id = NULL AND audits.audited_type = 'Post')
5387
+ SQL (1.0ms) INSERT INTO users (name) VALUES ('John Public')
5388
+ SQL (0.0ms) SELECT SEQ FROM SQLITE_SEQUENCE WHERE NAME = 'users'
5389
+ SQL (0.0ms) INSERT INTO posts (body, title) VALUES ('Hello, world!', 'Test Post')
5390
+ SQL (0.0ms) SELECT SEQ FROM SQLITE_SEQUENCE WHERE NAME = 'posts'
5391
+ SQL (1.0ms) UPDATE posts SET title = 'Title Changed' WHERE (posts.id = 1)
5392
+ SQL (0.0ms) INSERT INTO audits (audited_id, audited_type, change_set, created_at, user_id) VALUES (1, 'Post', '--- !map:ActiveSupport::HashWithIndifferentAccess
5393
+ title:
5394
+ - Test Post
5395
+ - Title Changed
5396
+ ', '2010-09-15 17:30:09', NULL)
5397
+ SQL (0.0ms) SELECT SEQ FROM SQLITE_SEQUENCE WHERE NAME = 'audits'
5398
+ Audit Load (0.0ms) SELECT audits.* FROM audits WHERE (audits.audited_id = 1 AND audits.audited_type = 'Post') ORDER BY audits.created_at DESC, audits.id DESC LIMIT 1
5399
+ SQL (0.0ms) SELECT COUNT(*) AS count_id FROM (SELECT 1 FROM audits WHERE (audits.audited_id = 1 AND audits.audited_type = 'Post')) AS subquery
5400
+ SQL (0.0ms) SELECT COUNT(*) AS count_id FROM audits
5401
+ SQL (1.0ms) INSERT INTO users (name) VALUES ('John Public')
5402
+ SQL (0.0ms) SELECT SEQ FROM SQLITE_SEQUENCE WHERE NAME = 'users'
5403
+ SQL (0.0ms) INSERT INTO posts (body, title) VALUES ('Hello, world!', 'Test Post')
5404
+ SQL (0.0ms) SELECT SEQ FROM SQLITE_SEQUENCE WHERE NAME = 'posts'
5405
+ SQL (1.0ms) SELECT COUNT(*) AS count_id FROM audits
5406
+ Audit Load (0.0ms) SELECT audits.* FROM audits
5407
+ SQL (0.0ms) SELECT COUNT(*) AS count_id FROM audits
5408
+ SQL (1.0ms) INSERT INTO users (name) VALUES ('John Public')
5409
+ SQL (1.0ms) SELECT SEQ FROM SQLITE_SEQUENCE WHERE NAME = 'users'
5410
+ SQL (1.0ms) INSERT INTO posts (body, title) VALUES ('Hello, world!', 'Test Post')
5411
+ SQL (0.0ms) SELECT SEQ FROM SQLITE_SEQUENCE WHERE NAME = 'posts'
5412
+ SQL (1.0ms) SELECT COUNT(*) AS count_id FROM audits
@@ -39,4 +39,13 @@ class TrackChangesTest < Test::Unit::TestCase
39
39
 
40
40
  assert_equal old_count, Audit.count, Audit.all.map {|a| a.change_set.inspect }.join(" ")
41
41
  end
42
+
43
+ def test_should_not_save_empty_change_set
44
+ old_count = Audit.count
45
+ user = User.create!(:name => "John Public")
46
+ post = Post.create!(:title => "Test Post", :body => "Hello, world!")
47
+
48
+ post.update_attributes(:title => "Test Post") # Same title
49
+ assert_equal old_count, Audit.count
50
+ end
42
51
  end
metadata CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
5
5
  segments:
6
6
  - 1
7
7
  - 0
8
- - 0
9
- version: 1.0.0
8
+ - 1
9
+ version: 1.0.1
10
10
  platform: ruby
11
11
  authors:
12
12
  - Matt Haley
@@ -14,7 +14,7 @@ autorequire:
14
14
  bindir: bin
15
15
  cert_chain: []
16
16
 
17
- date: 2010-09-02 00:00:00 -07:00
17
+ date: 2010-09-15 00:00:00 -07:00
18
18
  default_executable:
19
19
  dependencies:
20
20
  - !ruby/object:Gem::Dependency
@@ -23,14 +23,13 @@ dependencies:
23
23
  requirement: &id001 !ruby/object:Gem::Requirement
24
24
  none: false
25
25
  requirements:
26
- - - "="
26
+ - - ~>
27
27
  - !ruby/object:Gem::Version
28
28
  segments:
29
29
  - 3
30
30
  - 0
31
31
  - 0
32
- - rc
33
- version: 3.0.0.rc
32
+ version: 3.0.0
34
33
  type: :development
35
34
  version_requirements: *id001
36
35
  - !ruby/object:Gem::Dependency