paper_trail 4.0.0 → 5.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (158) hide show
  1. checksums.yaml +4 -4
  2. data/.github/CONTRIBUTING.md +105 -0
  3. data/.github/ISSUE_TEMPLATE.md +13 -0
  4. data/.gitignore +2 -0
  5. data/.rubocop.yml +100 -0
  6. data/.rubocop_todo.yml +14 -0
  7. data/.travis.yml +11 -10
  8. data/Appraisals +37 -0
  9. data/CHANGELOG.md +173 -8
  10. data/Gemfile +1 -1
  11. data/README.md +641 -470
  12. data/Rakefile +19 -19
  13. data/doc/bug_report_template.rb +71 -0
  14. data/doc/warning_about_not_setting_whodunnit.md +32 -0
  15. data/gemfiles/ar3.gemfile +18 -0
  16. data/gemfiles/ar4.gemfile +7 -0
  17. data/gemfiles/ar5.gemfile +13 -0
  18. data/lib/generators/paper_trail/install_generator.rb +26 -18
  19. data/lib/generators/paper_trail/templates/add_object_changes_to_versions.rb +3 -1
  20. data/lib/generators/paper_trail/templates/add_transaction_id_column_to_versions.rb +2 -0
  21. data/lib/generators/paper_trail/templates/create_version_associations.rb +9 -4
  22. data/lib/generators/paper_trail/templates/create_versions.rb +53 -5
  23. data/lib/paper_trail/attribute_serializers/README.md +10 -0
  24. data/lib/paper_trail/attribute_serializers/cast_attribute_serializer.rb +58 -0
  25. data/lib/paper_trail/attribute_serializers/legacy_active_record_shim.rb +48 -0
  26. data/lib/paper_trail/attribute_serializers/object_attribute.rb +39 -0
  27. data/lib/paper_trail/attribute_serializers/object_changes_attribute.rb +42 -0
  28. data/lib/paper_trail/cleaner.rb +41 -18
  29. data/lib/paper_trail/config.rb +42 -26
  30. data/lib/paper_trail/frameworks/active_record/models/paper_trail/version.rb +5 -1
  31. data/lib/paper_trail/frameworks/active_record/models/paper_trail/version_association.rb +6 -2
  32. data/lib/paper_trail/frameworks/active_record.rb +2 -2
  33. data/lib/paper_trail/frameworks/cucumber.rb +1 -0
  34. data/lib/paper_trail/frameworks/rails/controller.rb +50 -14
  35. data/lib/paper_trail/frameworks/rails/engine.rb +6 -1
  36. data/lib/paper_trail/frameworks/rails.rb +2 -7
  37. data/lib/paper_trail/frameworks/rspec/helpers.rb +3 -1
  38. data/lib/paper_trail/frameworks/rspec.rb +5 -5
  39. data/lib/paper_trail/frameworks/sinatra.rb +8 -5
  40. data/lib/paper_trail/has_paper_trail.rb +381 -221
  41. data/lib/paper_trail/record_history.rb +57 -0
  42. data/lib/paper_trail/reifier.rb +450 -0
  43. data/lib/paper_trail/serializers/json.rb +7 -7
  44. data/lib/paper_trail/serializers/yaml.rb +31 -12
  45. data/lib/paper_trail/version_association_concern.rb +6 -2
  46. data/lib/paper_trail/version_concern.rb +200 -287
  47. data/lib/paper_trail/version_number.rb +6 -9
  48. data/lib/paper_trail.rb +169 -137
  49. data/paper_trail.gemspec +41 -43
  50. data/spec/generators/install_generator_spec.rb +24 -25
  51. data/spec/generators/paper_trail/templates/create_versions_spec.rb +51 -0
  52. data/spec/models/animal_spec.rb +23 -6
  53. data/spec/models/boolit_spec.rb +8 -8
  54. data/spec/models/callback_modifier_spec.rb +96 -0
  55. data/spec/models/car_spec.rb +13 -0
  56. data/spec/models/fluxor_spec.rb +3 -3
  57. data/spec/models/gadget_spec.rb +19 -19
  58. data/spec/models/joined_version_spec.rb +3 -3
  59. data/spec/models/json_version_spec.rb +50 -28
  60. data/spec/models/kitchen/banana_spec.rb +3 -3
  61. data/spec/models/not_on_update_spec.rb +7 -4
  62. data/spec/models/post_with_status_spec.rb +13 -3
  63. data/spec/models/skipper_spec.rb +40 -11
  64. data/spec/models/thing_spec.rb +4 -4
  65. data/spec/models/truck_spec.rb +5 -0
  66. data/spec/models/vehicle_spec.rb +5 -0
  67. data/spec/models/version_spec.rb +103 -59
  68. data/spec/models/widget_spec.rb +86 -55
  69. data/spec/modules/paper_trail_spec.rb +2 -2
  70. data/spec/modules/version_concern_spec.rb +11 -12
  71. data/spec/modules/version_number_spec.rb +3 -4
  72. data/spec/paper_trail/config_spec.rb +33 -0
  73. data/spec/paper_trail_spec.rb +16 -14
  74. data/spec/rails_helper.rb +10 -9
  75. data/spec/requests/articles_spec.rb +11 -7
  76. data/spec/spec_helper.rb +42 -17
  77. data/spec/support/alt_db_init.rb +8 -13
  78. data/test/custom_json_serializer.rb +3 -3
  79. data/test/dummy/Rakefile +2 -2
  80. data/test/dummy/app/controllers/application_controller.rb +21 -8
  81. data/test/dummy/app/controllers/articles_controller.rb +11 -8
  82. data/test/dummy/app/controllers/widgets_controller.rb +13 -12
  83. data/test/dummy/app/models/animal.rb +1 -1
  84. data/test/dummy/app/models/article.rb +19 -11
  85. data/test/dummy/app/models/authorship.rb +1 -1
  86. data/test/dummy/app/models/bar_habtm.rb +4 -0
  87. data/test/dummy/app/models/book.rb +4 -4
  88. data/test/dummy/app/models/boolit.rb +1 -1
  89. data/test/dummy/app/models/callback_modifier.rb +45 -0
  90. data/test/dummy/app/models/car.rb +3 -0
  91. data/test/dummy/app/models/chapter.rb +9 -0
  92. data/test/dummy/app/models/citation.rb +5 -0
  93. data/test/dummy/app/models/customer.rb +1 -1
  94. data/test/dummy/app/models/document.rb +2 -2
  95. data/test/dummy/app/models/editor.rb +1 -1
  96. data/test/dummy/app/models/foo_habtm.rb +5 -0
  97. data/test/dummy/app/models/fruit.rb +2 -2
  98. data/test/dummy/app/models/gadget.rb +1 -1
  99. data/test/dummy/app/models/kitchen/banana.rb +1 -1
  100. data/test/dummy/app/models/legacy_widget.rb +2 -2
  101. data/test/dummy/app/models/line_item.rb +1 -1
  102. data/test/dummy/app/models/not_on_update.rb +1 -1
  103. data/test/dummy/app/models/paragraph.rb +5 -0
  104. data/test/dummy/app/models/person.rb +6 -6
  105. data/test/dummy/app/models/post.rb +1 -1
  106. data/test/dummy/app/models/post_with_status.rb +1 -1
  107. data/test/dummy/app/models/quotation.rb +5 -0
  108. data/test/dummy/app/models/section.rb +6 -0
  109. data/test/dummy/app/models/skipper.rb +2 -2
  110. data/test/dummy/app/models/song.rb +13 -4
  111. data/test/dummy/app/models/thing.rb +2 -2
  112. data/test/dummy/app/models/translation.rb +2 -2
  113. data/test/dummy/app/models/truck.rb +4 -0
  114. data/test/dummy/app/models/vehicle.rb +4 -0
  115. data/test/dummy/app/models/whatchamajigger.rb +1 -1
  116. data/test/dummy/app/models/widget.rb +7 -6
  117. data/test/dummy/app/versions/joined_version.rb +4 -3
  118. data/test/dummy/app/versions/json_version.rb +1 -1
  119. data/test/dummy/app/versions/kitchen/banana_version.rb +1 -1
  120. data/test/dummy/app/versions/post_version.rb +2 -2
  121. data/test/dummy/config/application.rb +20 -9
  122. data/test/dummy/config/boot.rb +5 -5
  123. data/test/dummy/config/database.postgres.yml +1 -1
  124. data/test/dummy/config/environment.rb +1 -1
  125. data/test/dummy/config/environments/development.rb +4 -3
  126. data/test/dummy/config/environments/production.rb +3 -2
  127. data/test/dummy/config/environments/test.rb +15 -5
  128. data/test/dummy/config/initializers/backtrace_silencers.rb +4 -2
  129. data/test/dummy/config/initializers/paper_trail.rb +4 -3
  130. data/test/dummy/config/initializers/secret_token.rb +3 -1
  131. data/test/dummy/config/initializers/session_store.rb +1 -1
  132. data/test/dummy/config/routes.rb +2 -2
  133. data/test/dummy/config.ru +1 -1
  134. data/test/dummy/db/migrate/20110208155312_set_up_test_tables.rb +148 -68
  135. data/test/dummy/db/schema.rb +119 -31
  136. data/test/dummy/script/rails +6 -4
  137. data/test/functional/controller_test.rb +34 -35
  138. data/test/functional/enabled_for_controller_test.rb +6 -7
  139. data/test/functional/modular_sinatra_test.rb +43 -38
  140. data/test/functional/sinatra_test.rb +49 -40
  141. data/test/functional/thread_safety_test.rb +4 -6
  142. data/test/paper_trail_test.rb +15 -14
  143. data/test/test_helper.rb +78 -18
  144. data/test/time_travel_helper.rb +1 -15
  145. data/test/unit/associations_test.rb +1016 -0
  146. data/test/unit/cleaner_test.rb +66 -60
  147. data/test/unit/inheritance_column_test.rb +19 -19
  148. data/test/unit/model_test.rb +646 -1071
  149. data/test/unit/protected_attrs_test.rb +19 -14
  150. data/test/unit/serializer_test.rb +44 -43
  151. data/test/unit/serializers/json_test.rb +28 -21
  152. data/test/unit/serializers/mixin_json_test.rb +15 -14
  153. data/test/unit/serializers/mixin_yaml_test.rb +20 -16
  154. data/test/unit/serializers/yaml_test.rb +16 -14
  155. data/test/unit/timestamp_test.rb +10 -12
  156. data/test/unit/version_test.rb +88 -70
  157. metadata +166 -72
  158. data/gemfiles/3.0.gemfile +0 -52
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: paper_trail
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.0.0
4
+ version: 5.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Andy Stewart
@@ -9,265 +9,316 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2015-07-30 00:00:00.000000000 Z
12
+ date: 2016-05-20 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: activerecord
16
16
  requirement: !ruby/object:Gem::Requirement
17
17
  requirements:
18
- - - '>='
18
+ - - ">="
19
19
  - !ruby/object:Gem::Version
20
20
  version: '3.0'
21
- - - <
21
+ - - "<"
22
22
  - !ruby/object:Gem::Version
23
23
  version: '6.0'
24
24
  type: :runtime
25
25
  prerelease: false
26
26
  version_requirements: !ruby/object:Gem::Requirement
27
27
  requirements:
28
- - - '>='
28
+ - - ">="
29
29
  - !ruby/object:Gem::Version
30
30
  version: '3.0'
31
- - - <
31
+ - - "<"
32
32
  - !ruby/object:Gem::Version
33
33
  version: '6.0'
34
34
  - !ruby/object:Gem::Dependency
35
35
  name: activesupport
36
36
  requirement: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - '>='
38
+ - - ">="
39
39
  - !ruby/object:Gem::Version
40
40
  version: '3.0'
41
- - - <
41
+ - - "<"
42
42
  - !ruby/object:Gem::Version
43
43
  version: '6.0'
44
44
  type: :runtime
45
45
  prerelease: false
46
46
  version_requirements: !ruby/object:Gem::Requirement
47
47
  requirements:
48
- - - '>='
48
+ - - ">="
49
49
  - !ruby/object:Gem::Version
50
50
  version: '3.0'
51
- - - <
51
+ - - "<"
52
52
  - !ruby/object:Gem::Version
53
53
  version: '6.0'
54
54
  - !ruby/object:Gem::Dependency
55
55
  name: request_store
56
56
  requirement: !ruby/object:Gem::Requirement
57
57
  requirements:
58
- - - ~>
58
+ - - "~>"
59
59
  - !ruby/object:Gem::Version
60
60
  version: '1.1'
61
61
  type: :runtime
62
62
  prerelease: false
63
63
  version_requirements: !ruby/object:Gem::Requirement
64
64
  requirements:
65
- - - ~>
65
+ - - "~>"
66
66
  - !ruby/object:Gem::Version
67
67
  version: '1.1'
68
+ - !ruby/object:Gem::Dependency
69
+ name: appraisal
70
+ requirement: !ruby/object:Gem::Requirement
71
+ requirements:
72
+ - - "~>"
73
+ - !ruby/object:Gem::Version
74
+ version: '2.1'
75
+ type: :development
76
+ prerelease: false
77
+ version_requirements: !ruby/object:Gem::Requirement
78
+ requirements:
79
+ - - "~>"
80
+ - !ruby/object:Gem::Version
81
+ version: '2.1'
68
82
  - !ruby/object:Gem::Dependency
69
83
  name: rake
70
84
  requirement: !ruby/object:Gem::Requirement
71
85
  requirements:
72
- - - ~>
86
+ - - "~>"
73
87
  - !ruby/object:Gem::Version
74
- version: 10.1.1
88
+ version: 10.4.2
75
89
  type: :development
76
90
  prerelease: false
77
91
  version_requirements: !ruby/object:Gem::Requirement
78
92
  requirements:
79
- - - ~>
93
+ - - "~>"
80
94
  - !ruby/object:Gem::Version
81
- version: 10.1.1
95
+ version: 10.4.2
82
96
  - !ruby/object:Gem::Dependency
83
97
  name: shoulda
84
98
  requirement: !ruby/object:Gem::Requirement
85
99
  requirements:
86
- - - ~>
100
+ - - "~>"
87
101
  - !ruby/object:Gem::Version
88
- version: '3.5'
102
+ version: 3.5.0
89
103
  type: :development
90
104
  prerelease: false
91
105
  version_requirements: !ruby/object:Gem::Requirement
92
106
  requirements:
93
- - - ~>
107
+ - - "~>"
94
108
  - !ruby/object:Gem::Version
95
- version: '3.5'
109
+ version: 3.5.0
96
110
  - !ruby/object:Gem::Dependency
97
111
  name: ffaker
98
112
  requirement: !ruby/object:Gem::Requirement
99
113
  requirements:
100
- - - <=
114
+ - - "~>"
101
115
  - !ruby/object:Gem::Version
102
- version: 1.31.0
116
+ version: 2.1.0
103
117
  type: :development
104
118
  prerelease: false
105
119
  version_requirements: !ruby/object:Gem::Requirement
106
120
  requirements:
107
- - - <=
121
+ - - "~>"
108
122
  - !ruby/object:Gem::Version
109
- version: 1.31.0
123
+ version: 2.1.0
110
124
  - !ruby/object:Gem::Dependency
111
125
  name: railties
112
126
  requirement: !ruby/object:Gem::Requirement
113
127
  requirements:
114
- - - '>='
128
+ - - ">="
115
129
  - !ruby/object:Gem::Version
116
130
  version: '3.0'
117
- - - <
131
+ - - "<"
118
132
  - !ruby/object:Gem::Version
119
- version: '5.0'
133
+ version: '6.0'
120
134
  type: :development
121
135
  prerelease: false
122
136
  version_requirements: !ruby/object:Gem::Requirement
123
137
  requirements:
124
- - - '>='
138
+ - - ">="
125
139
  - !ruby/object:Gem::Version
126
140
  version: '3.0'
127
- - - <
141
+ - - "<"
128
142
  - !ruby/object:Gem::Version
129
- version: '5.0'
143
+ version: '6.0'
130
144
  - !ruby/object:Gem::Dependency
131
145
  name: sinatra
132
146
  requirement: !ruby/object:Gem::Requirement
133
147
  requirements:
134
- - - ~>
148
+ - - "~>"
135
149
  - !ruby/object:Gem::Version
136
- version: '1.0'
150
+ version: 1.4.6
137
151
  type: :development
138
152
  prerelease: false
139
153
  version_requirements: !ruby/object:Gem::Requirement
140
154
  requirements:
141
- - - ~>
155
+ - - "~>"
142
156
  - !ruby/object:Gem::Version
143
- version: '1.0'
157
+ version: 1.4.6
144
158
  - !ruby/object:Gem::Dependency
145
159
  name: rack-test
146
160
  requirement: !ruby/object:Gem::Requirement
147
161
  requirements:
148
- - - '>='
162
+ - - "~>"
149
163
  - !ruby/object:Gem::Version
150
- version: '0.6'
164
+ version: 0.6.3
151
165
  type: :development
152
166
  prerelease: false
153
167
  version_requirements: !ruby/object:Gem::Requirement
154
168
  requirements:
155
- - - '>='
169
+ - - "~>"
156
170
  - !ruby/object:Gem::Version
157
- version: '0.6'
171
+ version: 0.6.3
158
172
  - !ruby/object:Gem::Dependency
159
173
  name: rspec-rails
160
174
  requirement: !ruby/object:Gem::Requirement
161
175
  requirements:
162
- - - ~>
176
+ - - "~>"
163
177
  - !ruby/object:Gem::Version
164
- version: 3.1.0
178
+ version: 3.4.0
165
179
  type: :development
166
180
  prerelease: false
167
181
  version_requirements: !ruby/object:Gem::Requirement
168
182
  requirements:
169
- - - ~>
183
+ - - "~>"
170
184
  - !ruby/object:Gem::Version
171
- version: 3.1.0
185
+ version: 3.4.0
172
186
  - !ruby/object:Gem::Dependency
173
187
  name: generator_spec
174
188
  requirement: !ruby/object:Gem::Requirement
175
189
  requirements:
176
- - - '>='
190
+ - - "~>"
177
191
  - !ruby/object:Gem::Version
178
- version: '0'
192
+ version: 0.9.3
179
193
  type: :development
180
194
  prerelease: false
181
195
  version_requirements: !ruby/object:Gem::Requirement
182
196
  requirements:
183
- - - '>='
197
+ - - "~>"
184
198
  - !ruby/object:Gem::Version
185
- version: '0'
199
+ version: 0.9.3
186
200
  - !ruby/object:Gem::Dependency
187
201
  name: database_cleaner
188
202
  requirement: !ruby/object:Gem::Requirement
189
203
  requirements:
190
- - - ~>
204
+ - - "~>"
191
205
  - !ruby/object:Gem::Version
192
206
  version: '1.2'
193
207
  type: :development
194
208
  prerelease: false
195
209
  version_requirements: !ruby/object:Gem::Requirement
196
210
  requirements:
197
- - - ~>
211
+ - - "~>"
198
212
  - !ruby/object:Gem::Version
199
213
  version: '1.2'
214
+ - !ruby/object:Gem::Dependency
215
+ name: pry-nav
216
+ requirement: !ruby/object:Gem::Requirement
217
+ requirements:
218
+ - - "~>"
219
+ - !ruby/object:Gem::Version
220
+ version: 0.2.4
221
+ type: :development
222
+ prerelease: false
223
+ version_requirements: !ruby/object:Gem::Requirement
224
+ requirements:
225
+ - - "~>"
226
+ - !ruby/object:Gem::Version
227
+ version: 0.2.4
228
+ - !ruby/object:Gem::Dependency
229
+ name: rubocop
230
+ requirement: !ruby/object:Gem::Requirement
231
+ requirements:
232
+ - - "~>"
233
+ - !ruby/object:Gem::Version
234
+ version: 0.40.0
235
+ type: :development
236
+ prerelease: false
237
+ version_requirements: !ruby/object:Gem::Requirement
238
+ requirements:
239
+ - - "~>"
240
+ - !ruby/object:Gem::Version
241
+ version: 0.40.0
200
242
  - !ruby/object:Gem::Dependency
201
243
  name: timecop
202
244
  requirement: !ruby/object:Gem::Requirement
203
245
  requirements:
204
- - - '>='
246
+ - - "~>"
205
247
  - !ruby/object:Gem::Version
206
- version: '0'
248
+ version: 0.8.0
207
249
  type: :development
208
250
  prerelease: false
209
251
  version_requirements: !ruby/object:Gem::Requirement
210
252
  requirements:
211
- - - '>='
253
+ - - "~>"
212
254
  - !ruby/object:Gem::Version
213
- version: '0'
255
+ version: 0.8.0
214
256
  - !ruby/object:Gem::Dependency
215
257
  name: sqlite3
216
258
  requirement: !ruby/object:Gem::Requirement
217
259
  requirements:
218
- - - ~>
260
+ - - "~>"
219
261
  - !ruby/object:Gem::Version
220
262
  version: '1.2'
221
263
  type: :development
222
264
  prerelease: false
223
265
  version_requirements: !ruby/object:Gem::Requirement
224
266
  requirements:
225
- - - ~>
267
+ - - "~>"
226
268
  - !ruby/object:Gem::Version
227
269
  version: '1.2'
228
270
  - !ruby/object:Gem::Dependency
229
- name: mysql2
271
+ name: pg
230
272
  requirement: !ruby/object:Gem::Requirement
231
273
  requirements:
232
- - - ~>
274
+ - - "~>"
233
275
  - !ruby/object:Gem::Version
234
- version: '0.3'
276
+ version: '0.17'
235
277
  type: :development
236
278
  prerelease: false
237
279
  version_requirements: !ruby/object:Gem::Requirement
238
280
  requirements:
239
- - - ~>
281
+ - - "~>"
240
282
  - !ruby/object:Gem::Version
241
- version: '0.3'
283
+ version: '0.17'
242
284
  - !ruby/object:Gem::Dependency
243
- name: pg
285
+ name: mysql2
244
286
  requirement: !ruby/object:Gem::Requirement
245
287
  requirements:
246
- - - ~>
288
+ - - "~>"
247
289
  - !ruby/object:Gem::Version
248
- version: '0.17'
290
+ version: 0.4.2
249
291
  type: :development
250
292
  prerelease: false
251
293
  version_requirements: !ruby/object:Gem::Requirement
252
294
  requirements:
253
- - - ~>
295
+ - - "~>"
254
296
  - !ruby/object:Gem::Version
255
- version: '0.17'
297
+ version: 0.4.2
256
298
  description: Track changes to your models' data. Good for auditing or versioning.
257
299
  email: batkinz@gmail.com
258
300
  executables: []
259
301
  extensions: []
260
302
  extra_rdoc_files: []
261
303
  files:
262
- - .gitignore
263
- - .rspec
264
- - .travis.yml
304
+ - ".github/CONTRIBUTING.md"
305
+ - ".github/ISSUE_TEMPLATE.md"
306
+ - ".gitignore"
307
+ - ".rspec"
308
+ - ".rubocop.yml"
309
+ - ".rubocop_todo.yml"
310
+ - ".travis.yml"
311
+ - Appraisals
265
312
  - CHANGELOG.md
266
313
  - Gemfile
267
314
  - MIT-LICENSE
268
315
  - README.md
269
316
  - Rakefile
270
- - gemfiles/3.0.gemfile
317
+ - doc/bug_report_template.rb
318
+ - doc/warning_about_not_setting_whodunnit.md
319
+ - gemfiles/ar3.gemfile
320
+ - gemfiles/ar4.gemfile
321
+ - gemfiles/ar5.gemfile
271
322
  - lib/generators/paper_trail/USAGE
272
323
  - lib/generators/paper_trail/install_generator.rb
273
324
  - lib/generators/paper_trail/templates/add_object_changes_to_versions.rb
@@ -275,6 +326,11 @@ files:
275
326
  - lib/generators/paper_trail/templates/create_version_associations.rb
276
327
  - lib/generators/paper_trail/templates/create_versions.rb
277
328
  - lib/paper_trail.rb
329
+ - lib/paper_trail/attribute_serializers/README.md
330
+ - lib/paper_trail/attribute_serializers/cast_attribute_serializer.rb
331
+ - lib/paper_trail/attribute_serializers/legacy_active_record_shim.rb
332
+ - lib/paper_trail/attribute_serializers/object_attribute.rb
333
+ - lib/paper_trail/attribute_serializers/object_changes_attribute.rb
278
334
  - lib/paper_trail/cleaner.rb
279
335
  - lib/paper_trail/config.rb
280
336
  - lib/paper_trail/frameworks/active_record.rb
@@ -288,6 +344,8 @@ files:
288
344
  - lib/paper_trail/frameworks/rspec/helpers.rb
289
345
  - lib/paper_trail/frameworks/sinatra.rb
290
346
  - lib/paper_trail/has_paper_trail.rb
347
+ - lib/paper_trail/record_history.rb
348
+ - lib/paper_trail/reifier.rb
291
349
  - lib/paper_trail/serializers/json.rb
292
350
  - lib/paper_trail/serializers/yaml.rb
293
351
  - lib/paper_trail/version_association_concern.rb
@@ -295,8 +353,11 @@ files:
295
353
  - lib/paper_trail/version_number.rb
296
354
  - paper_trail.gemspec
297
355
  - spec/generators/install_generator_spec.rb
356
+ - spec/generators/paper_trail/templates/create_versions_spec.rb
298
357
  - spec/models/animal_spec.rb
299
358
  - spec/models/boolit_spec.rb
359
+ - spec/models/callback_modifier_spec.rb
360
+ - spec/models/car_spec.rb
300
361
  - spec/models/fluxor_spec.rb
301
362
  - spec/models/gadget_spec.rb
302
363
  - spec/models/joined_version_spec.rb
@@ -306,11 +367,14 @@ files:
306
367
  - spec/models/post_with_status_spec.rb
307
368
  - spec/models/skipper_spec.rb
308
369
  - spec/models/thing_spec.rb
370
+ - spec/models/truck_spec.rb
371
+ - spec/models/vehicle_spec.rb
309
372
  - spec/models/version_spec.rb
310
373
  - spec/models/widget_spec.rb
311
374
  - spec/modules/paper_trail_spec.rb
312
375
  - spec/modules/version_concern_spec.rb
313
376
  - spec/modules/version_number_spec.rb
377
+ - spec/paper_trail/config_spec.rb
314
378
  - spec/paper_trail_spec.rb
315
379
  - spec/rails_helper.rb
316
380
  - spec/requests/articles_spec.rb
@@ -326,9 +390,14 @@ files:
326
390
  - test/dummy/app/models/animal.rb
327
391
  - test/dummy/app/models/article.rb
328
392
  - test/dummy/app/models/authorship.rb
393
+ - test/dummy/app/models/bar_habtm.rb
329
394
  - test/dummy/app/models/book.rb
330
395
  - test/dummy/app/models/boolit.rb
396
+ - test/dummy/app/models/callback_modifier.rb
397
+ - test/dummy/app/models/car.rb
331
398
  - test/dummy/app/models/cat.rb
399
+ - test/dummy/app/models/chapter.rb
400
+ - test/dummy/app/models/citation.rb
332
401
  - test/dummy/app/models/customer.rb
333
402
  - test/dummy/app/models/document.rb
334
403
  - test/dummy/app/models/dog.rb
@@ -336,6 +405,7 @@ files:
336
405
  - test/dummy/app/models/editorship.rb
337
406
  - test/dummy/app/models/elephant.rb
338
407
  - test/dummy/app/models/fluxor.rb
408
+ - test/dummy/app/models/foo_habtm.rb
339
409
  - test/dummy/app/models/foo_widget.rb
340
410
  - test/dummy/app/models/fruit.rb
341
411
  - test/dummy/app/models/gadget.rb
@@ -344,14 +414,19 @@ files:
344
414
  - test/dummy/app/models/line_item.rb
345
415
  - test/dummy/app/models/not_on_update.rb
346
416
  - test/dummy/app/models/order.rb
417
+ - test/dummy/app/models/paragraph.rb
347
418
  - test/dummy/app/models/person.rb
348
419
  - test/dummy/app/models/post.rb
349
420
  - test/dummy/app/models/post_with_status.rb
350
421
  - test/dummy/app/models/protected_widget.rb
422
+ - test/dummy/app/models/quotation.rb
423
+ - test/dummy/app/models/section.rb
351
424
  - test/dummy/app/models/skipper.rb
352
425
  - test/dummy/app/models/song.rb
353
426
  - test/dummy/app/models/thing.rb
354
427
  - test/dummy/app/models/translation.rb
428
+ - test/dummy/app/models/truck.rb
429
+ - test/dummy/app/models/vehicle.rb
355
430
  - test/dummy/app/models/whatchamajigger.rb
356
431
  - test/dummy/app/models/widget.rb
357
432
  - test/dummy/app/models/wotsit.rb
@@ -389,6 +464,7 @@ files:
389
464
  - test/paper_trail_test.rb
390
465
  - test/test_helper.rb
391
466
  - test/time_travel_helper.rb
467
+ - test/unit/associations_test.rb
392
468
  - test/unit/cleaner_test.rb
393
469
  - test/unit/inheritance_column_test.rb
394
470
  - test/unit/model_test.rb
@@ -410,24 +486,27 @@ require_paths:
410
486
  - lib
411
487
  required_ruby_version: !ruby/object:Gem::Requirement
412
488
  requirements:
413
- - - '>='
489
+ - - ">="
414
490
  - !ruby/object:Gem::Version
415
- version: '0'
491
+ version: 1.9.3
416
492
  required_rubygems_version: !ruby/object:Gem::Requirement
417
493
  requirements:
418
- - - '>='
494
+ - - ">="
419
495
  - !ruby/object:Gem::Version
420
496
  version: 1.3.6
421
497
  requirements: []
422
498
  rubyforge_project:
423
- rubygems_version: 2.4.4
499
+ rubygems_version: 2.5.1
424
500
  signing_key:
425
501
  specification_version: 4
426
502
  summary: Track changes to your models' data. Good for auditing or versioning.
427
503
  test_files:
428
504
  - spec/generators/install_generator_spec.rb
505
+ - spec/generators/paper_trail/templates/create_versions_spec.rb
429
506
  - spec/models/animal_spec.rb
430
507
  - spec/models/boolit_spec.rb
508
+ - spec/models/callback_modifier_spec.rb
509
+ - spec/models/car_spec.rb
431
510
  - spec/models/fluxor_spec.rb
432
511
  - spec/models/gadget_spec.rb
433
512
  - spec/models/joined_version_spec.rb
@@ -437,11 +516,14 @@ test_files:
437
516
  - spec/models/post_with_status_spec.rb
438
517
  - spec/models/skipper_spec.rb
439
518
  - spec/models/thing_spec.rb
519
+ - spec/models/truck_spec.rb
520
+ - spec/models/vehicle_spec.rb
440
521
  - spec/models/version_spec.rb
441
522
  - spec/models/widget_spec.rb
442
523
  - spec/modules/paper_trail_spec.rb
443
524
  - spec/modules/version_concern_spec.rb
444
525
  - spec/modules/version_number_spec.rb
526
+ - spec/paper_trail/config_spec.rb
445
527
  - spec/paper_trail_spec.rb
446
528
  - spec/rails_helper.rb
447
529
  - spec/requests/articles_spec.rb
@@ -457,9 +539,14 @@ test_files:
457
539
  - test/dummy/app/models/animal.rb
458
540
  - test/dummy/app/models/article.rb
459
541
  - test/dummy/app/models/authorship.rb
542
+ - test/dummy/app/models/bar_habtm.rb
460
543
  - test/dummy/app/models/book.rb
461
544
  - test/dummy/app/models/boolit.rb
545
+ - test/dummy/app/models/callback_modifier.rb
546
+ - test/dummy/app/models/car.rb
462
547
  - test/dummy/app/models/cat.rb
548
+ - test/dummy/app/models/chapter.rb
549
+ - test/dummy/app/models/citation.rb
463
550
  - test/dummy/app/models/customer.rb
464
551
  - test/dummy/app/models/document.rb
465
552
  - test/dummy/app/models/dog.rb
@@ -467,6 +554,7 @@ test_files:
467
554
  - test/dummy/app/models/editorship.rb
468
555
  - test/dummy/app/models/elephant.rb
469
556
  - test/dummy/app/models/fluxor.rb
557
+ - test/dummy/app/models/foo_habtm.rb
470
558
  - test/dummy/app/models/foo_widget.rb
471
559
  - test/dummy/app/models/fruit.rb
472
560
  - test/dummy/app/models/gadget.rb
@@ -475,14 +563,19 @@ test_files:
475
563
  - test/dummy/app/models/line_item.rb
476
564
  - test/dummy/app/models/not_on_update.rb
477
565
  - test/dummy/app/models/order.rb
566
+ - test/dummy/app/models/paragraph.rb
478
567
  - test/dummy/app/models/person.rb
479
568
  - test/dummy/app/models/post.rb
480
569
  - test/dummy/app/models/post_with_status.rb
481
570
  - test/dummy/app/models/protected_widget.rb
571
+ - test/dummy/app/models/quotation.rb
572
+ - test/dummy/app/models/section.rb
482
573
  - test/dummy/app/models/skipper.rb
483
574
  - test/dummy/app/models/song.rb
484
575
  - test/dummy/app/models/thing.rb
485
576
  - test/dummy/app/models/translation.rb
577
+ - test/dummy/app/models/truck.rb
578
+ - test/dummy/app/models/vehicle.rb
486
579
  - test/dummy/app/models/whatchamajigger.rb
487
580
  - test/dummy/app/models/widget.rb
488
581
  - test/dummy/app/models/wotsit.rb
@@ -520,6 +613,7 @@ test_files:
520
613
  - test/paper_trail_test.rb
521
614
  - test/test_helper.rb
522
615
  - test/time_travel_helper.rb
616
+ - test/unit/associations_test.rb
523
617
  - test/unit/cleaner_test.rb
524
618
  - test/unit/inheritance_column_test.rb
525
619
  - test/unit/model_test.rb
data/gemfiles/3.0.gemfile DELETED
@@ -1,52 +0,0 @@
1
- source 'https://rubygems.org'
2
-
3
- gem 'activerecord', '~> 3.0'
4
- gem 'i18n', '~> 0.6.11'
5
- gem 'request_store', '~> 1.1.0'
6
-
7
- group :development, :test do
8
- gem 'rake', '~> 10.1.1'
9
- gem 'shoulda', '~> 3.5'
10
- gem 'ffaker', '<= 1.31.0'
11
-
12
- # Testing of Rails
13
- gem 'railties', '~> 3.0'
14
-
15
- # Testing of Sinatra
16
- gem 'sinatra', '~> 1.0'
17
- gem 'rack-test', '>= 0.6'
18
-
19
- # RSpec testing
20
- gem 'rspec-rails', '~> 3.1.0'
21
- gem 'generator_spec'
22
-
23
- # To do proper transactional testing with ActiveSupport::TestCase on MySQL
24
- gem 'database_cleaner', '~> 1.2.0'
25
-
26
- # Allow time travel in testing. timecop is only supported after 1.9.2 but does a better cleanup at 'return'
27
- if RUBY_VERSION < "1.9.2"
28
- gem 'delorean'
29
- else
30
- gem 'timecop'
31
- end
32
-
33
- platforms :ruby do
34
- gem 'sqlite3', '~> 1.2'
35
- gem 'mysql2', '~> 0.3'
36
- gem 'pg', '~> 0.17.1'
37
- end
38
-
39
- platforms :jruby, :ruby_18 do
40
- # shoulda-matchers > 2.0 is not compatible with Ruby18.
41
- # Since we can't specify difference between JRuby 18/19, we need to use shoulda-matchers 1.5 for all JRuby testing.
42
- gem 'shoulda-matchers', '~> 1.5'
43
- end
44
-
45
- platforms :jruby do
46
- # Use jRuby's sqlite3 adapter for jRuby
47
- gem 'activerecord-jdbcsqlite3-adapter', '~> 1.3'
48
- gem 'activerecord-jdbcpostgresql-adapter', '~> 1.3'
49
- gem 'activerecord-jdbcmysql-adapter', '~> 1.3'
50
- gem 'activerecord-jdbc-adapter', '1.3.15'
51
- end
52
- end