paper_trail 10.3.1 → 14.0.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 +25 -7
- data/lib/generators/paper_trail/install/templates/create_versions.rb.erb +4 -2
- 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 +17 -45
- data/lib/paper_trail/compatibility.rb +3 -3
- data/lib/paper_trail/config.rb +0 -33
- data/lib/paper_trail/errors.rb +33 -0
- data/lib/paper_trail/events/base.rb +92 -69
- data/lib/paper_trail/events/destroy.rb +1 -1
- data/lib/paper_trail/events/update.rb +23 -7
- 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 +46 -46
- 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 +9 -14
- 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 +80 -64
- data/lib/paper_trail/reifier.rb +41 -26
- data/lib/paper_trail/request.rb +22 -25
- data/lib/paper_trail/serializers/json.rb +0 -10
- data/lib/paper_trail/serializers/yaml.rb +38 -13
- data/lib/paper_trail/type_serializers/postgres_array_serializer.rb +1 -14
- data/lib/paper_trail/version_concern.rb +86 -41
- data/lib/paper_trail/version_number.rb +3 -3
- data/lib/paper_trail.rb +22 -40
- metadata +106 -45
- data/lib/paper_trail/frameworks/rails/engine.rb +0 -45
metadata
CHANGED
@@ -1,16 +1,16 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: paper_trail
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 14.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Andy Stewart
|
8
8
|
- Ben Atkins
|
9
9
|
- Jared Beck
|
10
|
-
autorequire:
|
10
|
+
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date:
|
13
|
+
date: 2022-11-26 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: activerecord
|
@@ -18,70 +18,70 @@ dependencies:
|
|
18
18
|
requirements:
|
19
19
|
- - ">="
|
20
20
|
- !ruby/object:Gem::Version
|
21
|
-
version: '
|
21
|
+
version: '6.0'
|
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: '6.0'
|
29
29
|
- !ruby/object:Gem::Dependency
|
30
30
|
name: request_store
|
31
31
|
requirement: !ruby/object:Gem::Requirement
|
32
32
|
requirements:
|
33
33
|
- - "~>"
|
34
34
|
- !ruby/object:Gem::Version
|
35
|
-
version: '1.
|
35
|
+
version: '1.4'
|
36
36
|
type: :runtime
|
37
37
|
prerelease: false
|
38
38
|
version_requirements: !ruby/object:Gem::Requirement
|
39
39
|
requirements:
|
40
40
|
- - "~>"
|
41
41
|
- !ruby/object:Gem::Version
|
42
|
-
version: '1.
|
42
|
+
version: '1.4'
|
43
43
|
- !ruby/object:Gem::Dependency
|
44
44
|
name: appraisal
|
45
45
|
requirement: !ruby/object:Gem::Requirement
|
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.1'
|
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.1'
|
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: '2.
|
77
|
+
version: '2.20'
|
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: '2.
|
84
|
+
version: '2.20'
|
85
85
|
- !ruby/object:Gem::Dependency
|
86
86
|
name: generator_spec
|
87
87
|
requirement: !ruby/object:Gem::Requirement
|
@@ -102,140 +102,196 @@ 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: '6.0'
|
120
|
+
type: :development
|
121
|
+
prerelease: false
|
122
|
+
version_requirements: !ruby/object:Gem::Requirement
|
123
|
+
requirements:
|
124
|
+
- - ">="
|
125
|
+
- !ruby/object:Gem::Version
|
126
|
+
version: '6.0'
|
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.22.2
|
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.22.2
|
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.12.4
|
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.12.4
|
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.5.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.5.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.2
|
246
|
+
type: :development
|
247
|
+
prerelease: false
|
248
|
+
version_requirements: !ruby/object:Gem::Requirement
|
249
|
+
requirements:
|
250
|
+
- - "~>"
|
251
|
+
- !ruby/object:Gem::Version
|
252
|
+
version: 0.21.2
|
253
|
+
- !ruby/object:Gem::Dependency
|
254
|
+
name: mysql2
|
255
|
+
requirement: !ruby/object:Gem::Requirement
|
256
|
+
requirements:
|
257
|
+
- - "~>"
|
258
|
+
- !ruby/object:Gem::Version
|
259
|
+
version: 0.5.3
|
260
|
+
type: :development
|
261
|
+
prerelease: false
|
262
|
+
version_requirements: !ruby/object:Gem::Requirement
|
263
|
+
requirements:
|
264
|
+
- - "~>"
|
265
|
+
- !ruby/object:Gem::Version
|
266
|
+
version: 0.5.3
|
267
|
+
- !ruby/object:Gem::Dependency
|
268
|
+
name: pg
|
269
|
+
requirement: !ruby/object:Gem::Requirement
|
270
|
+
requirements:
|
271
|
+
- - "~>"
|
272
|
+
- !ruby/object:Gem::Version
|
273
|
+
version: '1.2'
|
218
274
|
type: :development
|
219
275
|
prerelease: false
|
220
276
|
version_requirements: !ruby/object:Gem::Requirement
|
221
277
|
requirements:
|
222
278
|
- - "~>"
|
223
279
|
- !ruby/object:Gem::Version
|
224
|
-
version: 1.
|
280
|
+
version: '1.2'
|
225
281
|
- !ruby/object:Gem::Dependency
|
226
282
|
name: sqlite3
|
227
283
|
requirement: !ruby/object:Gem::Requirement
|
228
284
|
requirements:
|
229
285
|
- - "~>"
|
230
286
|
- !ruby/object:Gem::Version
|
231
|
-
version: 1.
|
287
|
+
version: '1.4'
|
232
288
|
type: :development
|
233
289
|
prerelease: false
|
234
290
|
version_requirements: !ruby/object:Gem::Requirement
|
235
291
|
requirements:
|
236
292
|
- - "~>"
|
237
293
|
- !ruby/object:Gem::Version
|
238
|
-
version: 1.
|
294
|
+
version: '1.4'
|
239
295
|
description: |
|
240
296
|
Track changes to your models, for auditing or versioning. See how a model looked
|
241
297
|
at any stage in its lifecycle, revert it to any version, or restore it after it
|
@@ -245,6 +301,7 @@ executables: []
|
|
245
301
|
extensions: []
|
246
302
|
extra_rdoc_files: []
|
247
303
|
files:
|
304
|
+
- LICENSE
|
248
305
|
- lib/generators/paper_trail/install/USAGE
|
249
306
|
- lib/generators/paper_trail/install/install_generator.rb
|
250
307
|
- lib/generators/paper_trail/install/templates/add_object_changes_to_versions.rb.erb
|
@@ -262,6 +319,7 @@ files:
|
|
262
319
|
- lib/paper_trail/cleaner.rb
|
263
320
|
- lib/paper_trail/compatibility.rb
|
264
321
|
- lib/paper_trail/config.rb
|
322
|
+
- lib/paper_trail/errors.rb
|
265
323
|
- lib/paper_trail/events/base.rb
|
266
324
|
- lib/paper_trail/events/create.rb
|
267
325
|
- lib/paper_trail/events/destroy.rb
|
@@ -271,13 +329,16 @@ files:
|
|
271
329
|
- lib/paper_trail/frameworks/cucumber.rb
|
272
330
|
- lib/paper_trail/frameworks/rails.rb
|
273
331
|
- lib/paper_trail/frameworks/rails/controller.rb
|
274
|
-
- lib/paper_trail/frameworks/rails/
|
332
|
+
- lib/paper_trail/frameworks/rails/railtie.rb
|
275
333
|
- lib/paper_trail/frameworks/rspec.rb
|
276
334
|
- lib/paper_trail/frameworks/rspec/helpers.rb
|
277
335
|
- lib/paper_trail/has_paper_trail.rb
|
278
336
|
- lib/paper_trail/model_config.rb
|
337
|
+
- lib/paper_trail/queries/versions/where_attribute_changes.rb
|
279
338
|
- lib/paper_trail/queries/versions/where_object.rb
|
280
339
|
- lib/paper_trail/queries/versions/where_object_changes.rb
|
340
|
+
- lib/paper_trail/queries/versions/where_object_changes_from.rb
|
341
|
+
- lib/paper_trail/queries/versions/where_object_changes_to.rb
|
281
342
|
- lib/paper_trail/record_history.rb
|
282
343
|
- lib/paper_trail/record_trail.rb
|
283
344
|
- lib/paper_trail/reifier.rb
|
@@ -291,7 +352,7 @@ homepage: https://github.com/paper-trail-gem/paper_trail
|
|
291
352
|
licenses:
|
292
353
|
- MIT
|
293
354
|
metadata: {}
|
294
|
-
post_install_message:
|
355
|
+
post_install_message:
|
295
356
|
rdoc_options: []
|
296
357
|
require_paths:
|
297
358
|
- lib
|
@@ -299,15 +360,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
299
360
|
requirements:
|
300
361
|
- - ">="
|
301
362
|
- !ruby/object:Gem::Version
|
302
|
-
version: 2.
|
363
|
+
version: 2.7.0
|
303
364
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
304
365
|
requirements:
|
305
366
|
- - ">="
|
306
367
|
- !ruby/object:Gem::Version
|
307
368
|
version: 1.3.6
|
308
369
|
requirements: []
|
309
|
-
rubygems_version: 3.
|
310
|
-
signing_key:
|
370
|
+
rubygems_version: 3.3.7
|
371
|
+
signing_key:
|
311
372
|
specification_version: 4
|
312
373
|
summary: Track changes to your models.
|
313
374
|
test_files: []
|
@@ -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
|