paper_trail 10.3.1 → 12.1.0
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.
- checksums.yaml +4 -4
- data/LICENSE +20 -0
- data/lib/generators/paper_trail/install/install_generator.rb +13 -7
- data/lib/generators/paper_trail/install/templates/create_versions.rb.erb +1 -1
- data/lib/generators/paper_trail/migration_generator.rb +5 -4
- data/lib/generators/paper_trail/update_item_subtype/update_item_subtype_generator.rb +4 -2
- data/lib/paper_trail/attribute_serializers/attribute_serializer_factory.rb +24 -10
- data/lib/paper_trail/attribute_serializers/cast_attribute_serializer.rb +8 -46
- data/lib/paper_trail/compatibility.rb +2 -2
- data/lib/paper_trail/config.rb +0 -33
- data/lib/paper_trail/errors.rb +33 -0
- data/lib/paper_trail/events/base.rb +35 -50
- data/lib/paper_trail/events/destroy.rb +1 -1
- data/lib/paper_trail/frameworks/active_record.rb +9 -2
- data/lib/paper_trail/frameworks/rails/controller.rb +1 -9
- data/lib/paper_trail/frameworks/rails/railtie.rb +30 -0
- data/lib/paper_trail/frameworks/rails.rb +1 -2
- data/lib/paper_trail/has_paper_trail.rb +1 -1
- data/lib/paper_trail/model_config.rb +25 -30
- data/lib/paper_trail/queries/versions/where_attribute_changes.rb +50 -0
- data/lib/paper_trail/queries/versions/where_object.rb +1 -1
- data/lib/paper_trail/queries/versions/where_object_changes.rb +8 -13
- data/lib/paper_trail/queries/versions/where_object_changes_from.rb +57 -0
- data/lib/paper_trail/queries/versions/where_object_changes_to.rb +57 -0
- data/lib/paper_trail/record_trail.rb +3 -5
- data/lib/paper_trail/reifier.rb +41 -26
- data/lib/paper_trail/request.rb +0 -3
- data/lib/paper_trail/serializers/json.rb +0 -10
- data/lib/paper_trail/serializers/yaml.rb +0 -12
- data/lib/paper_trail/type_serializers/postgres_array_serializer.rb +1 -14
- data/lib/paper_trail/version_concern.rb +75 -40
- data/lib/paper_trail/version_number.rb +3 -3
- data/lib/paper_trail.rb +15 -40
- metadata +113 -40
- data/lib/paper_trail/frameworks/rails/engine.rb +0 -45
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
|
+
version: 12.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Andy Stewart
|
@@ -10,7 +10,7 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date:
|
13
|
+
date: 2021-08-30 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: activerecord
|
@@ -18,14 +18,14 @@ dependencies:
|
|
18
18
|
requirements:
|
19
19
|
- - ">="
|
20
20
|
- !ruby/object:Gem::Version
|
21
|
-
version: '
|
21
|
+
version: '5.2'
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
24
|
version_requirements: !ruby/object:Gem::Requirement
|
25
25
|
requirements:
|
26
26
|
- - ">="
|
27
27
|
- !ruby/object:Gem::Version
|
28
|
-
version: '
|
28
|
+
version: '5.2'
|
29
29
|
- !ruby/object:Gem::Dependency
|
30
30
|
name: request_store
|
31
31
|
requirement: !ruby/object:Gem::Requirement
|
@@ -46,42 +46,42 @@ dependencies:
|
|
46
46
|
requirements:
|
47
47
|
- - "~>"
|
48
48
|
- !ruby/object:Gem::Version
|
49
|
-
version:
|
49
|
+
version: 2.4.1
|
50
50
|
type: :development
|
51
51
|
prerelease: false
|
52
52
|
version_requirements: !ruby/object:Gem::Requirement
|
53
53
|
requirements:
|
54
54
|
- - "~>"
|
55
55
|
- !ruby/object:Gem::Version
|
56
|
-
version:
|
56
|
+
version: 2.4.1
|
57
57
|
- !ruby/object:Gem::Dependency
|
58
58
|
name: byebug
|
59
59
|
requirement: !ruby/object:Gem::Requirement
|
60
60
|
requirements:
|
61
61
|
- - "~>"
|
62
62
|
- !ruby/object:Gem::Version
|
63
|
-
version: '
|
63
|
+
version: '11.0'
|
64
64
|
type: :development
|
65
65
|
prerelease: false
|
66
66
|
version_requirements: !ruby/object:Gem::Requirement
|
67
67
|
requirements:
|
68
68
|
- - "~>"
|
69
69
|
- !ruby/object:Gem::Version
|
70
|
-
version: '
|
70
|
+
version: '11.0'
|
71
71
|
- !ruby/object:Gem::Dependency
|
72
72
|
name: ffaker
|
73
73
|
requirement: !ruby/object:Gem::Requirement
|
74
74
|
requirements:
|
75
75
|
- - "~>"
|
76
76
|
- !ruby/object:Gem::Version
|
77
|
-
version:
|
77
|
+
version: 2.19.0
|
78
78
|
type: :development
|
79
79
|
prerelease: false
|
80
80
|
version_requirements: !ruby/object:Gem::Requirement
|
81
81
|
requirements:
|
82
82
|
- - "~>"
|
83
83
|
- !ruby/object:Gem::Version
|
84
|
-
version:
|
84
|
+
version: 2.19.0
|
85
85
|
- !ruby/object:Gem::Dependency
|
86
86
|
name: generator_spec
|
87
87
|
requirement: !ruby/object:Gem::Requirement
|
@@ -102,140 +102,208 @@ dependencies:
|
|
102
102
|
requirements:
|
103
103
|
- - "~>"
|
104
104
|
- !ruby/object:Gem::Version
|
105
|
-
version: 0.
|
105
|
+
version: 1.0.0
|
106
106
|
type: :development
|
107
107
|
prerelease: false
|
108
108
|
version_requirements: !ruby/object:Gem::Requirement
|
109
109
|
requirements:
|
110
110
|
- - "~>"
|
111
111
|
- !ruby/object:Gem::Version
|
112
|
-
version: 0.
|
112
|
+
version: 1.0.0
|
113
113
|
- !ruby/object:Gem::Dependency
|
114
|
-
name:
|
114
|
+
name: rails
|
115
|
+
requirement: !ruby/object:Gem::Requirement
|
116
|
+
requirements:
|
117
|
+
- - ">="
|
118
|
+
- !ruby/object:Gem::Version
|
119
|
+
version: '5.2'
|
120
|
+
type: :development
|
121
|
+
prerelease: false
|
122
|
+
version_requirements: !ruby/object:Gem::Requirement
|
123
|
+
requirements:
|
124
|
+
- - ">="
|
125
|
+
- !ruby/object:Gem::Version
|
126
|
+
version: '5.2'
|
127
|
+
- !ruby/object:Gem::Dependency
|
128
|
+
name: rake
|
115
129
|
requirement: !ruby/object:Gem::Requirement
|
116
130
|
requirements:
|
117
131
|
- - "~>"
|
118
132
|
- !ruby/object:Gem::Version
|
119
|
-
version: 0
|
133
|
+
version: '13.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
|
-
version: 0
|
140
|
+
version: '13.0'
|
127
141
|
- !ruby/object:Gem::Dependency
|
128
|
-
name:
|
142
|
+
name: rspec-rails
|
129
143
|
requirement: !ruby/object:Gem::Requirement
|
130
144
|
requirements:
|
131
145
|
- - "~>"
|
132
146
|
- !ruby/object:Gem::Version
|
133
|
-
version:
|
147
|
+
version: 5.0.2
|
134
148
|
type: :development
|
135
149
|
prerelease: false
|
136
150
|
version_requirements: !ruby/object:Gem::Requirement
|
137
151
|
requirements:
|
138
152
|
- - "~>"
|
139
153
|
- !ruby/object:Gem::Version
|
140
|
-
version:
|
154
|
+
version: 5.0.2
|
141
155
|
- !ruby/object:Gem::Dependency
|
142
|
-
name:
|
156
|
+
name: rubocop
|
143
157
|
requirement: !ruby/object:Gem::Requirement
|
144
158
|
requirements:
|
145
159
|
- - "~>"
|
146
160
|
- !ruby/object:Gem::Version
|
147
|
-
version:
|
161
|
+
version: 1.20.0
|
148
162
|
type: :development
|
149
163
|
prerelease: false
|
150
164
|
version_requirements: !ruby/object:Gem::Requirement
|
151
165
|
requirements:
|
152
166
|
- - "~>"
|
153
167
|
- !ruby/object:Gem::Version
|
154
|
-
version:
|
168
|
+
version: 1.20.0
|
155
169
|
- !ruby/object:Gem::Dependency
|
156
|
-
name:
|
170
|
+
name: rubocop-packaging
|
157
171
|
requirement: !ruby/object:Gem::Requirement
|
158
172
|
requirements:
|
159
173
|
- - "~>"
|
160
174
|
- !ruby/object:Gem::Version
|
161
|
-
version:
|
175
|
+
version: 0.5.1
|
162
176
|
type: :development
|
163
177
|
prerelease: false
|
164
178
|
version_requirements: !ruby/object:Gem::Requirement
|
165
179
|
requirements:
|
166
180
|
- - "~>"
|
167
181
|
- !ruby/object:Gem::Version
|
168
|
-
version:
|
182
|
+
version: 0.5.1
|
169
183
|
- !ruby/object:Gem::Dependency
|
170
|
-
name:
|
184
|
+
name: rubocop-performance
|
171
185
|
requirement: !ruby/object:Gem::Requirement
|
172
186
|
requirements:
|
173
187
|
- - "~>"
|
174
188
|
- !ruby/object:Gem::Version
|
175
|
-
version:
|
189
|
+
version: 1.11.5
|
176
190
|
type: :development
|
177
191
|
prerelease: false
|
178
192
|
version_requirements: !ruby/object:Gem::Requirement
|
179
193
|
requirements:
|
180
194
|
- - "~>"
|
181
195
|
- !ruby/object:Gem::Version
|
182
|
-
version:
|
196
|
+
version: 1.11.5
|
183
197
|
- !ruby/object:Gem::Dependency
|
184
|
-
name: rubocop
|
198
|
+
name: rubocop-rails
|
185
199
|
requirement: !ruby/object:Gem::Requirement
|
186
200
|
requirements:
|
187
201
|
- - "~>"
|
188
202
|
- !ruby/object:Gem::Version
|
189
|
-
version:
|
203
|
+
version: 2.11.3
|
190
204
|
type: :development
|
191
205
|
prerelease: false
|
192
206
|
version_requirements: !ruby/object:Gem::Requirement
|
193
207
|
requirements:
|
194
208
|
- - "~>"
|
195
209
|
- !ruby/object:Gem::Version
|
196
|
-
version:
|
210
|
+
version: 2.11.3
|
197
211
|
- !ruby/object:Gem::Dependency
|
198
|
-
name: rubocop-
|
212
|
+
name: rubocop-rake
|
199
213
|
requirement: !ruby/object:Gem::Requirement
|
200
214
|
requirements:
|
201
215
|
- - "~>"
|
202
216
|
- !ruby/object:Gem::Version
|
203
|
-
version:
|
217
|
+
version: 0.6.0
|
204
218
|
type: :development
|
205
219
|
prerelease: false
|
206
220
|
version_requirements: !ruby/object:Gem::Requirement
|
207
221
|
requirements:
|
208
222
|
- - "~>"
|
209
223
|
- !ruby/object:Gem::Version
|
210
|
-
version:
|
224
|
+
version: 0.6.0
|
211
225
|
- !ruby/object:Gem::Dependency
|
212
226
|
name: rubocop-rspec
|
213
227
|
requirement: !ruby/object:Gem::Requirement
|
214
228
|
requirements:
|
215
229
|
- - "~>"
|
216
230
|
- !ruby/object:Gem::Version
|
217
|
-
version:
|
231
|
+
version: 2.4.0
|
232
|
+
type: :development
|
233
|
+
prerelease: false
|
234
|
+
version_requirements: !ruby/object:Gem::Requirement
|
235
|
+
requirements:
|
236
|
+
- - "~>"
|
237
|
+
- !ruby/object:Gem::Version
|
238
|
+
version: 2.4.0
|
239
|
+
- !ruby/object:Gem::Dependency
|
240
|
+
name: simplecov
|
241
|
+
requirement: !ruby/object:Gem::Requirement
|
242
|
+
requirements:
|
243
|
+
- - ">="
|
244
|
+
- !ruby/object:Gem::Version
|
245
|
+
version: '0.21'
|
246
|
+
- - "<"
|
247
|
+
- !ruby/object:Gem::Version
|
248
|
+
version: '0.22'
|
249
|
+
type: :development
|
250
|
+
prerelease: false
|
251
|
+
version_requirements: !ruby/object:Gem::Requirement
|
252
|
+
requirements:
|
253
|
+
- - ">="
|
254
|
+
- !ruby/object:Gem::Version
|
255
|
+
version: '0.21'
|
256
|
+
- - "<"
|
257
|
+
- !ruby/object:Gem::Version
|
258
|
+
version: '0.22'
|
259
|
+
- !ruby/object:Gem::Dependency
|
260
|
+
name: mysql2
|
261
|
+
requirement: !ruby/object:Gem::Requirement
|
262
|
+
requirements:
|
263
|
+
- - "~>"
|
264
|
+
- !ruby/object:Gem::Version
|
265
|
+
version: '0.5'
|
218
266
|
type: :development
|
219
267
|
prerelease: false
|
220
268
|
version_requirements: !ruby/object:Gem::Requirement
|
221
269
|
requirements:
|
222
270
|
- - "~>"
|
223
271
|
- !ruby/object:Gem::Version
|
224
|
-
version:
|
272
|
+
version: '0.5'
|
273
|
+
- !ruby/object:Gem::Dependency
|
274
|
+
name: pg
|
275
|
+
requirement: !ruby/object:Gem::Requirement
|
276
|
+
requirements:
|
277
|
+
- - ">="
|
278
|
+
- !ruby/object:Gem::Version
|
279
|
+
version: '0.18'
|
280
|
+
- - "<"
|
281
|
+
- !ruby/object:Gem::Version
|
282
|
+
version: '2.0'
|
283
|
+
type: :development
|
284
|
+
prerelease: false
|
285
|
+
version_requirements: !ruby/object:Gem::Requirement
|
286
|
+
requirements:
|
287
|
+
- - ">="
|
288
|
+
- !ruby/object:Gem::Version
|
289
|
+
version: '0.18'
|
290
|
+
- - "<"
|
291
|
+
- !ruby/object:Gem::Version
|
292
|
+
version: '2.0'
|
225
293
|
- !ruby/object:Gem::Dependency
|
226
294
|
name: sqlite3
|
227
295
|
requirement: !ruby/object:Gem::Requirement
|
228
296
|
requirements:
|
229
297
|
- - "~>"
|
230
298
|
- !ruby/object:Gem::Version
|
231
|
-
version: 1.
|
299
|
+
version: '1.4'
|
232
300
|
type: :development
|
233
301
|
prerelease: false
|
234
302
|
version_requirements: !ruby/object:Gem::Requirement
|
235
303
|
requirements:
|
236
304
|
- - "~>"
|
237
305
|
- !ruby/object:Gem::Version
|
238
|
-
version: 1.
|
306
|
+
version: '1.4'
|
239
307
|
description: |
|
240
308
|
Track changes to your models, for auditing or versioning. See how a model looked
|
241
309
|
at any stage in its lifecycle, revert it to any version, or restore it after it
|
@@ -245,6 +313,7 @@ executables: []
|
|
245
313
|
extensions: []
|
246
314
|
extra_rdoc_files: []
|
247
315
|
files:
|
316
|
+
- LICENSE
|
248
317
|
- lib/generators/paper_trail/install/USAGE
|
249
318
|
- lib/generators/paper_trail/install/install_generator.rb
|
250
319
|
- lib/generators/paper_trail/install/templates/add_object_changes_to_versions.rb.erb
|
@@ -262,6 +331,7 @@ files:
|
|
262
331
|
- lib/paper_trail/cleaner.rb
|
263
332
|
- lib/paper_trail/compatibility.rb
|
264
333
|
- lib/paper_trail/config.rb
|
334
|
+
- lib/paper_trail/errors.rb
|
265
335
|
- lib/paper_trail/events/base.rb
|
266
336
|
- lib/paper_trail/events/create.rb
|
267
337
|
- lib/paper_trail/events/destroy.rb
|
@@ -271,13 +341,16 @@ files:
|
|
271
341
|
- lib/paper_trail/frameworks/cucumber.rb
|
272
342
|
- lib/paper_trail/frameworks/rails.rb
|
273
343
|
- lib/paper_trail/frameworks/rails/controller.rb
|
274
|
-
- lib/paper_trail/frameworks/rails/
|
344
|
+
- lib/paper_trail/frameworks/rails/railtie.rb
|
275
345
|
- lib/paper_trail/frameworks/rspec.rb
|
276
346
|
- lib/paper_trail/frameworks/rspec/helpers.rb
|
277
347
|
- lib/paper_trail/has_paper_trail.rb
|
278
348
|
- lib/paper_trail/model_config.rb
|
349
|
+
- lib/paper_trail/queries/versions/where_attribute_changes.rb
|
279
350
|
- lib/paper_trail/queries/versions/where_object.rb
|
280
351
|
- lib/paper_trail/queries/versions/where_object_changes.rb
|
352
|
+
- lib/paper_trail/queries/versions/where_object_changes_from.rb
|
353
|
+
- lib/paper_trail/queries/versions/where_object_changes_to.rb
|
281
354
|
- lib/paper_trail/record_history.rb
|
282
355
|
- lib/paper_trail/record_trail.rb
|
283
356
|
- lib/paper_trail/reifier.rb
|
@@ -299,14 +372,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
299
372
|
requirements:
|
300
373
|
- - ">="
|
301
374
|
- !ruby/object:Gem::Version
|
302
|
-
version: 2.
|
375
|
+
version: 2.5.0
|
303
376
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
304
377
|
requirements:
|
305
378
|
- - ">="
|
306
379
|
- !ruby/object:Gem::Version
|
307
380
|
version: 1.3.6
|
308
381
|
requirements: []
|
309
|
-
rubygems_version: 3.
|
382
|
+
rubygems_version: 3.2.22
|
310
383
|
signing_key:
|
311
384
|
specification_version: 4
|
312
385
|
summary: Track changes to your models.
|
@@ -1,45 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
module PaperTrail
|
4
|
-
module Rails
|
5
|
-
# See http://guides.rubyonrails.org/engines.html
|
6
|
-
class Engine < ::Rails::Engine
|
7
|
-
DPR_CONFIG_ENABLED = <<~EOS.squish.freeze
|
8
|
-
The rails configuration option config.paper_trail.enabled is deprecated.
|
9
|
-
Please use PaperTrail.enabled= instead. People were getting confused
|
10
|
-
that PT has both, specifically regarding *when* each was happening. If
|
11
|
-
you'd like to keep config.paper_trail, join the discussion at
|
12
|
-
https://github.com/paper-trail-gem/paper_trail/pull/1176
|
13
|
-
EOS
|
14
|
-
private_constant :DPR_CONFIG_ENABLED
|
15
|
-
DPR_RUDELY_ENABLING = <<~EOS.squish.freeze
|
16
|
-
At some point early in the rails boot process, you have set
|
17
|
-
PaperTrail.enabled = false. PT's rails engine is now overriding your
|
18
|
-
setting, and setting it to true. We're not sure why, but this is how PT
|
19
|
-
has worked since 5.0, when the config.paper_trail.enabled option was
|
20
|
-
introduced. This is now deprecated. In the future, PT will not override
|
21
|
-
your setting. See
|
22
|
-
https://github.com/paper-trail-gem/paper_trail/pull/1176 for discussion.
|
23
|
-
EOS
|
24
|
-
private_constant :DPR_RUDELY_ENABLING
|
25
|
-
|
26
|
-
paths["app/models"] << "lib/paper_trail/frameworks/active_record/models"
|
27
|
-
|
28
|
-
# --- Begin deprecated section ---
|
29
|
-
config.paper_trail = ActiveSupport::OrderedOptions.new
|
30
|
-
initializer "paper_trail.initialisation" do |app|
|
31
|
-
enable = app.config.paper_trail[:enabled]
|
32
|
-
if enable.nil?
|
33
|
-
unless PaperTrail.enabled?
|
34
|
-
::ActiveSupport::Deprecation.warn(DPR_RUDELY_ENABLING)
|
35
|
-
PaperTrail.enabled = true
|
36
|
-
end
|
37
|
-
else
|
38
|
-
::ActiveSupport::Deprecation.warn(DPR_CONFIG_ENABLED)
|
39
|
-
PaperTrail.enabled = enable
|
40
|
-
end
|
41
|
-
end
|
42
|
-
# --- End deprecated section ---
|
43
|
-
end
|
44
|
-
end
|
45
|
-
end
|