track_changes 1.0.0 → 1.0.1

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.
@@ -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