paper_trail 10.3.1 → 12.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.
Files changed (29) hide show
  1. checksums.yaml +4 -4
  2. data/LICENSE +20 -0
  3. data/lib/generators/paper_trail/install/install_generator.rb +13 -7
  4. data/lib/generators/paper_trail/install/templates/create_versions.rb.erb +1 -1
  5. data/lib/generators/paper_trail/migration_generator.rb +5 -4
  6. data/lib/paper_trail.rb +12 -38
  7. data/lib/paper_trail/attribute_serializers/attribute_serializer_factory.rb +24 -10
  8. data/lib/paper_trail/attribute_serializers/cast_attribute_serializer.rb +8 -46
  9. data/lib/paper_trail/compatibility.rb +2 -2
  10. data/lib/paper_trail/config.rb +0 -33
  11. data/lib/paper_trail/events/base.rb +22 -41
  12. data/lib/paper_trail/events/destroy.rb +1 -1
  13. data/lib/paper_trail/frameworks/active_record.rb +9 -2
  14. data/lib/paper_trail/frameworks/rails.rb +1 -2
  15. data/lib/paper_trail/frameworks/rails/controller.rb +1 -9
  16. data/lib/paper_trail/frameworks/rails/railtie.rb +30 -0
  17. data/lib/paper_trail/has_paper_trail.rb +1 -1
  18. data/lib/paper_trail/model_config.rb +3 -7
  19. data/lib/paper_trail/queries/versions/where_object_changes.rb +1 -1
  20. data/lib/paper_trail/queries/versions/where_object_changes_from.rb +65 -0
  21. data/lib/paper_trail/record_trail.rb +2 -4
  22. data/lib/paper_trail/reifier.rb +17 -19
  23. data/lib/paper_trail/serializers/json.rb +8 -0
  24. data/lib/paper_trail/serializers/yaml.rb +8 -0
  25. data/lib/paper_trail/type_serializers/postgres_array_serializer.rb +1 -14
  26. data/lib/paper_trail/version_concern.rb +30 -26
  27. data/lib/paper_trail/version_number.rb +3 -3
  28. metadata +76 -39
  29. data/lib/paper_trail/frameworks/rails/engine.rb +0 -45
@@ -7,9 +7,9 @@ module PaperTrail
7
7
  # because of this confusion, but it's not worth the breaking change.
8
8
  # People are encouraged to use `PaperTrail.gem_version` instead.
9
9
  module VERSION
10
- MAJOR = 10
11
- MINOR = 3
12
- TINY = 1
10
+ MAJOR = 12
11
+ MINOR = 0
12
+ TINY = 0
13
13
 
14
14
  # Set PRE to nil unless it's a pre-release (beta, rc, etc.)
15
15
  PRE = nil
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: 10.3.1
4
+ version: 12.0.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: 2019-07-31 00:00:00.000000000 Z
13
+ date: 2021-03-29 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: '4.2'
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: '4.2'
28
+ version: '5.2'
29
29
  - !ruby/object:Gem::Dependency
30
30
  name: request_store
31
31
  requirement: !ruby/object:Gem::Requirement
@@ -60,28 +60,28 @@ dependencies:
60
60
  requirements:
61
61
  - - "~>"
62
62
  - !ruby/object:Gem::Version
63
- version: '10.0'
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: '10.0'
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: '2.8'
77
+ version: '2.11'
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.8'
84
+ version: '2.11'
85
85
  - !ruby/object:Gem::Dependency
86
86
  name: generator_spec
87
87
  requirement: !ruby/object:Gem::Requirement
@@ -102,140 +102,174 @@ dependencies:
102
102
  requirements:
103
103
  - - "~>"
104
104
  - !ruby/object:Gem::Version
105
- version: 0.9.12
105
+ version: 0.9.14
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.9.12
112
+ version: 0.9.14
113
113
  - !ruby/object:Gem::Dependency
114
- name: mysql2
114
+ name: rails
115
115
  requirement: !ruby/object:Gem::Requirement
116
116
  requirements:
117
- - - "~>"
117
+ - - ">="
118
118
  - !ruby/object:Gem::Version
119
- version: 0.5.2
119
+ version: '5.2'
120
120
  type: :development
121
121
  prerelease: false
122
122
  version_requirements: !ruby/object:Gem::Requirement
123
123
  requirements:
124
- - - "~>"
124
+ - - ">="
125
125
  - !ruby/object:Gem::Version
126
- version: 0.5.2
126
+ version: '5.2'
127
127
  - !ruby/object:Gem::Dependency
128
- name: paper_trail-association_tracking
128
+ name: rake
129
129
  requirement: !ruby/object:Gem::Requirement
130
130
  requirements:
131
131
  - - "~>"
132
132
  - !ruby/object:Gem::Version
133
- version: 2.0.0
133
+ version: '13.0'
134
134
  type: :development
135
135
  prerelease: false
136
136
  version_requirements: !ruby/object:Gem::Requirement
137
137
  requirements:
138
138
  - - "~>"
139
139
  - !ruby/object:Gem::Version
140
- version: 2.0.0
140
+ version: '13.0'
141
141
  - !ruby/object:Gem::Dependency
142
- name: pg
142
+ name: rspec-rails
143
143
  requirement: !ruby/object:Gem::Requirement
144
144
  requirements:
145
145
  - - "~>"
146
146
  - !ruby/object:Gem::Version
147
- version: '1.0'
147
+ version: '4.0'
148
148
  type: :development
149
149
  prerelease: false
150
150
  version_requirements: !ruby/object:Gem::Requirement
151
151
  requirements:
152
152
  - - "~>"
153
153
  - !ruby/object:Gem::Version
154
- version: '1.0'
154
+ version: '4.0'
155
155
  - !ruby/object:Gem::Dependency
156
- name: rake
156
+ name: rubocop
157
157
  requirement: !ruby/object:Gem::Requirement
158
158
  requirements:
159
159
  - - "~>"
160
160
  - !ruby/object:Gem::Version
161
- version: '12.3'
161
+ version: 1.11.0
162
162
  type: :development
163
163
  prerelease: false
164
164
  version_requirements: !ruby/object:Gem::Requirement
165
165
  requirements:
166
166
  - - "~>"
167
167
  - !ruby/object:Gem::Version
168
- version: '12.3'
168
+ version: 1.11.0
169
169
  - !ruby/object:Gem::Dependency
170
- name: rspec-rails
170
+ name: rubocop-rails
171
171
  requirement: !ruby/object:Gem::Requirement
172
172
  requirements:
173
173
  - - "~>"
174
174
  - !ruby/object:Gem::Version
175
- version: '3.8'
175
+ version: 2.9.1
176
176
  type: :development
177
177
  prerelease: false
178
178
  version_requirements: !ruby/object:Gem::Requirement
179
179
  requirements:
180
180
  - - "~>"
181
181
  - !ruby/object:Gem::Version
182
- version: '3.8'
182
+ version: 2.9.1
183
183
  - !ruby/object:Gem::Dependency
184
- name: rubocop
184
+ name: rubocop-packaging
185
185
  requirement: !ruby/object:Gem::Requirement
186
186
  requirements:
187
187
  - - "~>"
188
188
  - !ruby/object:Gem::Version
189
- version: 0.71.0
189
+ version: 0.5.1
190
190
  type: :development
191
191
  prerelease: false
192
192
  version_requirements: !ruby/object:Gem::Requirement
193
193
  requirements:
194
194
  - - "~>"
195
195
  - !ruby/object:Gem::Version
196
- version: 0.71.0
196
+ version: 0.5.1
197
197
  - !ruby/object:Gem::Dependency
198
198
  name: rubocop-performance
199
199
  requirement: !ruby/object:Gem::Requirement
200
200
  requirements:
201
201
  - - "~>"
202
202
  - !ruby/object:Gem::Version
203
- version: 1.3.0
203
+ version: 1.10.1
204
204
  type: :development
205
205
  prerelease: false
206
206
  version_requirements: !ruby/object:Gem::Requirement
207
207
  requirements:
208
208
  - - "~>"
209
209
  - !ruby/object:Gem::Version
210
- version: 1.3.0
210
+ version: 1.10.1
211
211
  - !ruby/object:Gem::Dependency
212
212
  name: rubocop-rspec
213
213
  requirement: !ruby/object:Gem::Requirement
214
214
  requirements:
215
215
  - - "~>"
216
216
  - !ruby/object:Gem::Version
217
- version: 1.33.0
217
+ version: 2.2.0
218
+ type: :development
219
+ prerelease: false
220
+ version_requirements: !ruby/object:Gem::Requirement
221
+ requirements:
222
+ - - "~>"
223
+ - !ruby/object:Gem::Version
224
+ version: 2.2.0
225
+ - !ruby/object:Gem::Dependency
226
+ name: mysql2
227
+ requirement: !ruby/object:Gem::Requirement
228
+ requirements:
229
+ - - "~>"
230
+ - !ruby/object:Gem::Version
231
+ version: '0.5'
218
232
  type: :development
219
233
  prerelease: false
220
234
  version_requirements: !ruby/object:Gem::Requirement
221
235
  requirements:
222
236
  - - "~>"
223
237
  - !ruby/object:Gem::Version
224
- version: 1.33.0
238
+ version: '0.5'
239
+ - !ruby/object:Gem::Dependency
240
+ name: pg
241
+ requirement: !ruby/object:Gem::Requirement
242
+ requirements:
243
+ - - ">="
244
+ - !ruby/object:Gem::Version
245
+ version: '0.18'
246
+ - - "<"
247
+ - !ruby/object:Gem::Version
248
+ version: '2.0'
249
+ type: :development
250
+ prerelease: false
251
+ version_requirements: !ruby/object:Gem::Requirement
252
+ requirements:
253
+ - - ">="
254
+ - !ruby/object:Gem::Version
255
+ version: '0.18'
256
+ - - "<"
257
+ - !ruby/object:Gem::Version
258
+ version: '2.0'
225
259
  - !ruby/object:Gem::Dependency
226
260
  name: sqlite3
227
261
  requirement: !ruby/object:Gem::Requirement
228
262
  requirements:
229
263
  - - "~>"
230
264
  - !ruby/object:Gem::Version
231
- version: 1.3.13
265
+ version: '1.4'
232
266
  type: :development
233
267
  prerelease: false
234
268
  version_requirements: !ruby/object:Gem::Requirement
235
269
  requirements:
236
270
  - - "~>"
237
271
  - !ruby/object:Gem::Version
238
- version: 1.3.13
272
+ version: '1.4'
239
273
  description: |
240
274
  Track changes to your models, for auditing or versioning. See how a model looked
241
275
  at any stage in its lifecycle, revert it to any version, or restore it after it
@@ -245,6 +279,7 @@ executables: []
245
279
  extensions: []
246
280
  extra_rdoc_files: []
247
281
  files:
282
+ - LICENSE
248
283
  - lib/generators/paper_trail/install/USAGE
249
284
  - lib/generators/paper_trail/install/install_generator.rb
250
285
  - lib/generators/paper_trail/install/templates/add_object_changes_to_versions.rb.erb
@@ -271,13 +306,14 @@ files:
271
306
  - lib/paper_trail/frameworks/cucumber.rb
272
307
  - lib/paper_trail/frameworks/rails.rb
273
308
  - lib/paper_trail/frameworks/rails/controller.rb
274
- - lib/paper_trail/frameworks/rails/engine.rb
309
+ - lib/paper_trail/frameworks/rails/railtie.rb
275
310
  - lib/paper_trail/frameworks/rspec.rb
276
311
  - lib/paper_trail/frameworks/rspec/helpers.rb
277
312
  - lib/paper_trail/has_paper_trail.rb
278
313
  - lib/paper_trail/model_config.rb
279
314
  - lib/paper_trail/queries/versions/where_object.rb
280
315
  - lib/paper_trail/queries/versions/where_object_changes.rb
316
+ - lib/paper_trail/queries/versions/where_object_changes_from.rb
281
317
  - lib/paper_trail/record_history.rb
282
318
  - lib/paper_trail/record_trail.rb
283
319
  - lib/paper_trail/reifier.rb
@@ -299,14 +335,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
299
335
  requirements:
300
336
  - - ">="
301
337
  - !ruby/object:Gem::Version
302
- version: 2.3.0
338
+ version: 2.5.0
303
339
  required_rubygems_version: !ruby/object:Gem::Requirement
304
340
  requirements:
305
341
  - - ">="
306
342
  - !ruby/object:Gem::Version
307
343
  version: 1.3.6
308
344
  requirements: []
309
- rubygems_version: 3.0.3
345
+ rubyforge_project:
346
+ rubygems_version: 2.7.6.2
310
347
  signing_key:
311
348
  specification_version: 4
312
349
  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