paper_trail 9.2.0 → 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.
Files changed (42) hide show
  1. checksums.yaml +4 -4
  2. data/LICENSE +20 -0
  3. data/lib/generators/paper_trail/install/USAGE +3 -0
  4. data/lib/generators/paper_trail/{install_generator.rb → install/install_generator.rb} +27 -38
  5. data/lib/generators/paper_trail/{templates → install/templates}/create_versions.rb.erb +5 -3
  6. data/lib/generators/paper_trail/migration_generator.rb +38 -0
  7. data/lib/generators/paper_trail/update_item_subtype/USAGE +4 -0
  8. data/lib/generators/paper_trail/update_item_subtype/templates/update_versions_for_item_subtype.rb.erb +85 -0
  9. data/lib/generators/paper_trail/update_item_subtype/update_item_subtype_generator.rb +19 -0
  10. data/lib/paper_trail/attribute_serializers/attribute_serializer_factory.rb +24 -10
  11. data/lib/paper_trail/attribute_serializers/cast_attribute_serializer.rb +17 -45
  12. data/lib/paper_trail/compatibility.rb +51 -0
  13. data/lib/paper_trail/config.rb +9 -2
  14. data/lib/paper_trail/errors.rb +33 -0
  15. data/lib/paper_trail/events/base.rb +343 -0
  16. data/lib/paper_trail/events/create.rb +32 -0
  17. data/lib/paper_trail/events/destroy.rb +42 -0
  18. data/lib/paper_trail/events/update.rb +76 -0
  19. data/lib/paper_trail/frameworks/active_record.rb +9 -2
  20. data/lib/paper_trail/frameworks/rails/controller.rb +1 -9
  21. data/lib/paper_trail/frameworks/rails/railtie.rb +30 -0
  22. data/lib/paper_trail/frameworks/rails.rb +1 -2
  23. data/lib/paper_trail/has_paper_trail.rb +20 -17
  24. data/lib/paper_trail/model_config.rb +124 -87
  25. data/lib/paper_trail/queries/versions/where_attribute_changes.rb +50 -0
  26. data/lib/paper_trail/queries/versions/where_object.rb +4 -1
  27. data/lib/paper_trail/queries/versions/where_object_changes.rb +9 -14
  28. data/lib/paper_trail/queries/versions/where_object_changes_from.rb +57 -0
  29. data/lib/paper_trail/queries/versions/where_object_changes_to.rb +57 -0
  30. data/lib/paper_trail/record_trail.rb +137 -436
  31. data/lib/paper_trail/reifier.rb +41 -25
  32. data/lib/paper_trail/request.rb +22 -25
  33. data/lib/paper_trail/serializers/json.rb +0 -10
  34. data/lib/paper_trail/serializers/yaml.rb +41 -11
  35. data/lib/paper_trail/type_serializers/postgres_array_serializer.rb +1 -15
  36. data/lib/paper_trail/version_concern.rb +152 -62
  37. data/lib/paper_trail/version_number.rb +2 -2
  38. data/lib/paper_trail.rb +23 -123
  39. metadata +152 -61
  40. data/lib/generators/paper_trail/USAGE +0 -2
  41. data/lib/paper_trail/frameworks/rails/engine.rb +0 -14
  42. /data/lib/generators/paper_trail/{templates → install/templates}/add_object_changes_to_versions.rb.erb +0 -0
data/lib/paper_trail.rb CHANGED
@@ -8,33 +8,24 @@
8
8
  # can revisit this decision.
9
9
  require "active_support/all"
10
10
 
11
- # AR is required for, eg. has_paper_trail.rb, so we could put this `require` in
12
- # all of those files, but it seems easier to troubleshoot if we just make sure
13
- # AR is loaded here before loading *any* of PT. See discussion of
14
- # performance/simplicity tradeoff for activesupport above.
15
- require "active_record"
11
+ # We used to `require "active_record"` here, but that was [replaced with a
12
+ # Railtie](https://github.com/paper-trail-gem/paper_trail/pull/1281) in PT 12.
13
+ # As a result, we cannot reference `ActiveRecord` in this file (ie. until our
14
+ # Railtie has loaded). If we did, it would cause [problems with non-Rails
15
+ # projects](https://github.com/paper-trail-gem/paper_trail/pull/1401).
16
16
 
17
- require "request_store"
17
+ require "paper_trail/errors"
18
18
  require "paper_trail/cleaner"
19
+ require "paper_trail/compatibility"
19
20
  require "paper_trail/config"
20
- require "paper_trail/has_paper_trail"
21
21
  require "paper_trail/record_history"
22
- require "paper_trail/reifier"
23
22
  require "paper_trail/request"
24
- require "paper_trail/version_concern"
25
23
  require "paper_trail/version_number"
26
24
  require "paper_trail/serializers/json"
27
- require "paper_trail/serializers/yaml"
28
25
 
29
26
  # An ActiveRecord extension that tracks changes to your models, for auditing or
30
27
  # versioning.
31
28
  module PaperTrail
32
- E_RAILS_NOT_LOADED = <<-EOS.squish.freeze
33
- PaperTrail has been loaded too early, before rails is loaded. This can
34
- happen when another gem defines the ::Rails namespace, then PT is loaded,
35
- all before rails is loaded. You may want to reorder your Gemfile, or defer
36
- the loading of PT by using `require: false` and a manual require elsewhere.
37
- EOS
38
29
  E_TIMESTAMP_FIELD_CONFIG = <<-EOS.squish.freeze
39
30
  PaperTrail.timestamp_field= has been removed, without replacement. It is no
40
31
  longer configurable. The timestamp column in the versions table must now be
@@ -57,46 +48,6 @@ module PaperTrail
57
48
  !!PaperTrail.config.enabled
58
49
  end
59
50
 
60
- # @deprecated
61
- def enabled_for_controller=(value)
62
- ::ActiveSupport::Deprecation.warn(
63
- "PaperTrail.enabled_for_controller= is deprecated, " \
64
- "use PaperTrail.request.enabled=",
65
- caller(1)
66
- )
67
- request.enabled = value
68
- end
69
-
70
- # @deprecated
71
- def enabled_for_controller?
72
- ::ActiveSupport::Deprecation.warn(
73
- "PaperTrail.enabled_for_controller? is deprecated, " \
74
- "use PaperTrail.request.enabled?",
75
- caller(1)
76
- )
77
- request.enabled?
78
- end
79
-
80
- # @deprecated
81
- def enabled_for_model(model, value)
82
- ::ActiveSupport::Deprecation.warn(
83
- "PaperTrail.enabled_for_model is deprecated, " \
84
- "use PaperTrail.request.enabled_for_model",
85
- caller(1)
86
- )
87
- request.enabled_for_model(model, value)
88
- end
89
-
90
- # @deprecated
91
- def enabled_for_model?(model)
92
- ::ActiveSupport::Deprecation.warn(
93
- "PaperTrail.enabled_for_model? is deprecated, " \
94
- "use PaperTrail.request.enabled_for_model?",
95
- caller(1)
96
- )
97
- request.enabled_for_model?(model)
98
- end
99
-
100
51
  # Returns PaperTrail's `::Gem::Version`, convenient for comparisons. This is
101
52
  # recommended over `::PaperTrail::VERSION::STRING`.
102
53
  #
@@ -124,7 +75,7 @@ module PaperTrail
124
75
  #
125
76
  # @api public
126
77
  def request(options = nil, &block)
127
- if options.nil? && !block_given?
78
+ if options.nil? && !block
128
79
  Request
129
80
  else
130
81
  Request.with(options, &block)
@@ -134,54 +85,7 @@ module PaperTrail
134
85
  # Set the field which records when a version was created.
135
86
  # @api public
136
87
  def timestamp_field=(_field_name)
137
- raise(E_TIMESTAMP_FIELD_CONFIG)
138
- end
139
-
140
- # @deprecated
141
- def whodunnit=(value)
142
- ::ActiveSupport::Deprecation.warn(
143
- "PaperTrail.whodunnit= is deprecated, use PaperTrail.request.whodunnit=",
144
- caller(1)
145
- )
146
- request.whodunnit = value
147
- end
148
-
149
- # @deprecated
150
- def whodunnit(value = nil, &block)
151
- if value.nil?
152
- ::ActiveSupport::Deprecation.warn(
153
- "PaperTrail.whodunnit is deprecated, use PaperTrail.request.whodunnit",
154
- caller(1)
155
- )
156
- request.whodunnit
157
- elsif block_given?
158
- ::ActiveSupport::Deprecation.warn(
159
- "Passing a block to PaperTrail.whodunnit is deprecated, " \
160
- 'use PaperTrail.request(whodunnit: "John") do .. end',
161
- caller(1)
162
- )
163
- request(whodunnit: value, &block)
164
- else
165
- raise ArgumentError, "Invalid arguments"
166
- end
167
- end
168
-
169
- # @deprecated
170
- def controller_info=(value)
171
- ::ActiveSupport::Deprecation.warn(
172
- "PaperTrail.controller_info= is deprecated, use PaperTrail.request.controller_info=",
173
- caller(1)
174
- )
175
- request.controller_info = value
176
- end
177
-
178
- # @deprecated
179
- def controller_info
180
- ::ActiveSupport::Deprecation.warn(
181
- "PaperTrail.controller_info is deprecated, use PaperTrail.request.controller_info",
182
- caller(1)
183
- )
184
- request.controller_info
88
+ raise Error, E_TIMESTAMP_FIELD_CONFIG
185
89
  end
186
90
 
187
91
  # Set the PaperTrail serializer. This setting affects all threads.
@@ -198,7 +102,7 @@ module PaperTrail
198
102
 
199
103
  # Returns PaperTrail's global configuration object, a singleton. These
200
104
  # settings affect all threads.
201
- # @api private
105
+ # @api public
202
106
  def config
203
107
  @config ||= PaperTrail::Config.instance
204
108
  yield @config if block_given?
@@ -206,29 +110,25 @@ module PaperTrail
206
110
  end
207
111
  alias configure config
208
112
 
113
+ # @api public
209
114
  def version
210
115
  VERSION::STRING
211
116
  end
212
117
  end
213
118
  end
214
119
 
215
- ActiveSupport.on_load(:active_record) do
216
- include PaperTrail::Model
217
- end
218
-
219
- # Require frameworks
220
- if defined?(::Rails)
221
- # Rails module is sometimes defined by gems like rails-html-sanitizer
222
- # so we check for presence of Rails.application.
223
- if defined?(::Rails.application)
224
- require "paper_trail/frameworks/rails"
225
- else
226
- ::Kernel.warn(::PaperTrail::E_RAILS_NOT_LOADED)
227
- end
120
+ # PT is built on ActiveRecord, but does not require Rails. If Rails is defined,
121
+ # our Railtie makes sure not to load the AR-dependent parts of PT until AR is
122
+ # ready. A typical Rails `application.rb` has:
123
+ #
124
+ # ```
125
+ # require 'rails/all' # Defines `Rails`
126
+ # Bundler.require(*Rails.groups) # require 'paper_trail' (this file)
127
+ # ```
128
+ #
129
+ # Non-rails applications should take similar care to load AR before PT.
130
+ if defined?(Rails)
131
+ require "paper_trail/frameworks/rails"
228
132
  else
229
133
  require "paper_trail/frameworks/active_record"
230
134
  end
231
-
232
- # https://github.com/paper-trail-gem/paper_trail/issues/1070
233
- # https://github.com/westonganger/paper_trail-association_tracking/issues/2
234
- require "paper_trail-association_tracking"
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: 9.2.0
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: 2018-06-10 00:00:00.000000000 Z
13
+ date: 2022-11-26 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: activerecord
@@ -18,90 +18,70 @@ dependencies:
18
18
  requirements:
19
19
  - - ">="
20
20
  - !ruby/object:Gem::Version
21
- version: '4.2'
22
- - - "<"
23
- - !ruby/object:Gem::Version
24
- version: '5.3'
21
+ version: '6.0'
25
22
  type: :runtime
26
23
  prerelease: false
27
24
  version_requirements: !ruby/object:Gem::Requirement
28
25
  requirements:
29
26
  - - ">="
30
27
  - !ruby/object:Gem::Version
31
- version: '4.2'
32
- - - "<"
33
- - !ruby/object:Gem::Version
34
- version: '5.3'
35
- - !ruby/object:Gem::Dependency
36
- name: paper_trail-association_tracking
37
- requirement: !ruby/object:Gem::Requirement
38
- requirements:
39
- - - "<"
40
- - !ruby/object:Gem::Version
41
- version: '2'
42
- type: :runtime
43
- prerelease: false
44
- version_requirements: !ruby/object:Gem::Requirement
45
- requirements:
46
- - - "<"
47
- - !ruby/object:Gem::Version
48
- version: '2'
28
+ version: '6.0'
49
29
  - !ruby/object:Gem::Dependency
50
30
  name: request_store
51
31
  requirement: !ruby/object:Gem::Requirement
52
32
  requirements:
53
33
  - - "~>"
54
34
  - !ruby/object:Gem::Version
55
- version: '1.1'
35
+ version: '1.4'
56
36
  type: :runtime
57
37
  prerelease: false
58
38
  version_requirements: !ruby/object:Gem::Requirement
59
39
  requirements:
60
40
  - - "~>"
61
41
  - !ruby/object:Gem::Version
62
- version: '1.1'
42
+ version: '1.4'
63
43
  - !ruby/object:Gem::Dependency
64
44
  name: appraisal
65
45
  requirement: !ruby/object:Gem::Requirement
66
46
  requirements:
67
47
  - - "~>"
68
48
  - !ruby/object:Gem::Version
69
- version: '2.2'
49
+ version: 2.4.1
70
50
  type: :development
71
51
  prerelease: false
72
52
  version_requirements: !ruby/object:Gem::Requirement
73
53
  requirements:
74
54
  - - "~>"
75
55
  - !ruby/object:Gem::Version
76
- version: '2.2'
56
+ version: 2.4.1
77
57
  - !ruby/object:Gem::Dependency
78
58
  name: byebug
79
59
  requirement: !ruby/object:Gem::Requirement
80
60
  requirements:
81
61
  - - "~>"
82
62
  - !ruby/object:Gem::Version
83
- version: '10.0'
63
+ version: '11.1'
84
64
  type: :development
85
65
  prerelease: false
86
66
  version_requirements: !ruby/object:Gem::Requirement
87
67
  requirements:
88
68
  - - "~>"
89
69
  - !ruby/object:Gem::Version
90
- version: '10.0'
70
+ version: '11.1'
91
71
  - !ruby/object:Gem::Dependency
92
72
  name: ffaker
93
73
  requirement: !ruby/object:Gem::Requirement
94
74
  requirements:
95
75
  - - "~>"
96
76
  - !ruby/object:Gem::Version
97
- version: '2.8'
77
+ version: '2.20'
98
78
  type: :development
99
79
  prerelease: false
100
80
  version_requirements: !ruby/object:Gem::Requirement
101
81
  requirements:
102
82
  - - "~>"
103
83
  - !ruby/object:Gem::Version
104
- version: '2.8'
84
+ version: '2.20'
105
85
  - !ruby/object:Gem::Dependency
106
86
  name: generator_spec
107
87
  requirement: !ruby/object:Gem::Requirement
@@ -117,103 +97,201 @@ dependencies:
117
97
  - !ruby/object:Gem::Version
118
98
  version: 0.9.4
119
99
  - !ruby/object:Gem::Dependency
120
- name: mysql2
100
+ name: memory_profiler
121
101
  requirement: !ruby/object:Gem::Requirement
122
102
  requirements:
123
103
  - - "~>"
124
104
  - !ruby/object:Gem::Version
125
- version: 0.4.10
105
+ version: 1.0.0
126
106
  type: :development
127
107
  prerelease: false
128
108
  version_requirements: !ruby/object:Gem::Requirement
129
109
  requirements:
130
110
  - - "~>"
131
111
  - !ruby/object:Gem::Version
132
- version: 0.4.10
112
+ version: 1.0.0
133
113
  - !ruby/object:Gem::Dependency
134
- name: pg
114
+ name: rails
135
115
  requirement: !ruby/object:Gem::Requirement
136
116
  requirements:
137
- - - "~>"
117
+ - - ">="
138
118
  - !ruby/object:Gem::Version
139
- version: 0.21.0
119
+ version: '6.0'
140
120
  type: :development
141
121
  prerelease: false
142
122
  version_requirements: !ruby/object:Gem::Requirement
143
123
  requirements:
144
- - - "~>"
124
+ - - ">="
145
125
  - !ruby/object:Gem::Version
146
- version: 0.21.0
126
+ version: '6.0'
147
127
  - !ruby/object:Gem::Dependency
148
128
  name: rake
149
129
  requirement: !ruby/object:Gem::Requirement
150
130
  requirements:
151
131
  - - "~>"
152
132
  - !ruby/object:Gem::Version
153
- version: '12.3'
133
+ version: '13.0'
154
134
  type: :development
155
135
  prerelease: false
156
136
  version_requirements: !ruby/object:Gem::Requirement
157
137
  requirements:
158
138
  - - "~>"
159
139
  - !ruby/object:Gem::Version
160
- version: '12.3'
140
+ version: '13.0'
161
141
  - !ruby/object:Gem::Dependency
162
142
  name: rspec-rails
163
143
  requirement: !ruby/object:Gem::Requirement
164
144
  requirements:
165
145
  - - "~>"
166
146
  - !ruby/object:Gem::Version
167
- version: 3.7.2
147
+ version: 5.0.2
168
148
  type: :development
169
149
  prerelease: false
170
150
  version_requirements: !ruby/object:Gem::Requirement
171
151
  requirements:
172
152
  - - "~>"
173
153
  - !ruby/object:Gem::Version
174
- version: 3.7.2
154
+ version: 5.0.2
175
155
  - !ruby/object:Gem::Dependency
176
156
  name: rubocop
177
157
  requirement: !ruby/object:Gem::Requirement
178
158
  requirements:
179
159
  - - "~>"
180
160
  - !ruby/object:Gem::Version
181
- version: 0.56.0
161
+ version: 1.22.2
162
+ type: :development
163
+ prerelease: false
164
+ version_requirements: !ruby/object:Gem::Requirement
165
+ requirements:
166
+ - - "~>"
167
+ - !ruby/object:Gem::Version
168
+ version: 1.22.2
169
+ - !ruby/object:Gem::Dependency
170
+ name: rubocop-packaging
171
+ requirement: !ruby/object:Gem::Requirement
172
+ requirements:
173
+ - - "~>"
174
+ - !ruby/object:Gem::Version
175
+ version: 0.5.1
176
+ type: :development
177
+ prerelease: false
178
+ version_requirements: !ruby/object:Gem::Requirement
179
+ requirements:
180
+ - - "~>"
181
+ - !ruby/object:Gem::Version
182
+ version: 0.5.1
183
+ - !ruby/object:Gem::Dependency
184
+ name: rubocop-performance
185
+ requirement: !ruby/object:Gem::Requirement
186
+ requirements:
187
+ - - "~>"
188
+ - !ruby/object:Gem::Version
189
+ version: 1.11.5
190
+ type: :development
191
+ prerelease: false
192
+ version_requirements: !ruby/object:Gem::Requirement
193
+ requirements:
194
+ - - "~>"
195
+ - !ruby/object:Gem::Version
196
+ version: 1.11.5
197
+ - !ruby/object:Gem::Dependency
198
+ name: rubocop-rails
199
+ requirement: !ruby/object:Gem::Requirement
200
+ requirements:
201
+ - - "~>"
202
+ - !ruby/object:Gem::Version
203
+ version: 2.12.4
204
+ type: :development
205
+ prerelease: false
206
+ version_requirements: !ruby/object:Gem::Requirement
207
+ requirements:
208
+ - - "~>"
209
+ - !ruby/object:Gem::Version
210
+ version: 2.12.4
211
+ - !ruby/object:Gem::Dependency
212
+ name: rubocop-rake
213
+ requirement: !ruby/object:Gem::Requirement
214
+ requirements:
215
+ - - "~>"
216
+ - !ruby/object:Gem::Version
217
+ version: 0.6.0
182
218
  type: :development
183
219
  prerelease: false
184
220
  version_requirements: !ruby/object:Gem::Requirement
185
221
  requirements:
186
222
  - - "~>"
187
223
  - !ruby/object:Gem::Version
188
- version: 0.56.0
224
+ version: 0.6.0
189
225
  - !ruby/object:Gem::Dependency
190
226
  name: rubocop-rspec
191
227
  requirement: !ruby/object:Gem::Requirement
192
228
  requirements:
193
229
  - - "~>"
194
230
  - !ruby/object:Gem::Version
195
- version: 1.25.1
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'
196
274
  type: :development
197
275
  prerelease: false
198
276
  version_requirements: !ruby/object:Gem::Requirement
199
277
  requirements:
200
278
  - - "~>"
201
279
  - !ruby/object:Gem::Version
202
- version: 1.25.1
280
+ version: '1.2'
203
281
  - !ruby/object:Gem::Dependency
204
282
  name: sqlite3
205
283
  requirement: !ruby/object:Gem::Requirement
206
284
  requirements:
207
285
  - - "~>"
208
286
  - !ruby/object:Gem::Version
209
- version: '1.3'
287
+ version: '1.4'
210
288
  type: :development
211
289
  prerelease: false
212
290
  version_requirements: !ruby/object:Gem::Requirement
213
291
  requirements:
214
292
  - - "~>"
215
293
  - !ruby/object:Gem::Version
216
- version: '1.3'
294
+ version: '1.4'
217
295
  description: |
218
296
  Track changes to your models, for auditing or versioning. See how a model looked
219
297
  at any stage in its lifecycle, revert it to any version, or restore it after it
@@ -223,10 +301,15 @@ executables: []
223
301
  extensions: []
224
302
  extra_rdoc_files: []
225
303
  files:
226
- - lib/generators/paper_trail/USAGE
227
- - lib/generators/paper_trail/install_generator.rb
228
- - lib/generators/paper_trail/templates/add_object_changes_to_versions.rb.erb
229
- - lib/generators/paper_trail/templates/create_versions.rb.erb
304
+ - LICENSE
305
+ - lib/generators/paper_trail/install/USAGE
306
+ - lib/generators/paper_trail/install/install_generator.rb
307
+ - lib/generators/paper_trail/install/templates/add_object_changes_to_versions.rb.erb
308
+ - lib/generators/paper_trail/install/templates/create_versions.rb.erb
309
+ - lib/generators/paper_trail/migration_generator.rb
310
+ - lib/generators/paper_trail/update_item_subtype/USAGE
311
+ - lib/generators/paper_trail/update_item_subtype/templates/update_versions_for_item_subtype.rb.erb
312
+ - lib/generators/paper_trail/update_item_subtype/update_item_subtype_generator.rb
230
313
  - lib/paper_trail.rb
231
314
  - lib/paper_trail/attribute_serializers/README.md
232
315
  - lib/paper_trail/attribute_serializers/attribute_serializer_factory.rb
@@ -234,19 +317,28 @@ files:
234
317
  - lib/paper_trail/attribute_serializers/object_attribute.rb
235
318
  - lib/paper_trail/attribute_serializers/object_changes_attribute.rb
236
319
  - lib/paper_trail/cleaner.rb
320
+ - lib/paper_trail/compatibility.rb
237
321
  - lib/paper_trail/config.rb
322
+ - lib/paper_trail/errors.rb
323
+ - lib/paper_trail/events/base.rb
324
+ - lib/paper_trail/events/create.rb
325
+ - lib/paper_trail/events/destroy.rb
326
+ - lib/paper_trail/events/update.rb
238
327
  - lib/paper_trail/frameworks/active_record.rb
239
328
  - lib/paper_trail/frameworks/active_record/models/paper_trail/version.rb
240
329
  - lib/paper_trail/frameworks/cucumber.rb
241
330
  - lib/paper_trail/frameworks/rails.rb
242
331
  - lib/paper_trail/frameworks/rails/controller.rb
243
- - lib/paper_trail/frameworks/rails/engine.rb
332
+ - lib/paper_trail/frameworks/rails/railtie.rb
244
333
  - lib/paper_trail/frameworks/rspec.rb
245
334
  - lib/paper_trail/frameworks/rspec/helpers.rb
246
335
  - lib/paper_trail/has_paper_trail.rb
247
336
  - lib/paper_trail/model_config.rb
337
+ - lib/paper_trail/queries/versions/where_attribute_changes.rb
248
338
  - lib/paper_trail/queries/versions/where_object.rb
249
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
250
342
  - lib/paper_trail/record_history.rb
251
343
  - lib/paper_trail/record_trail.rb
252
344
  - lib/paper_trail/reifier.rb
@@ -260,7 +352,7 @@ homepage: https://github.com/paper-trail-gem/paper_trail
260
352
  licenses:
261
353
  - MIT
262
354
  metadata: {}
263
- post_install_message:
355
+ post_install_message:
264
356
  rdoc_options: []
265
357
  require_paths:
266
358
  - lib
@@ -268,16 +360,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
268
360
  requirements:
269
361
  - - ">="
270
362
  - !ruby/object:Gem::Version
271
- version: 2.3.0
363
+ version: 2.7.0
272
364
  required_rubygems_version: !ruby/object:Gem::Requirement
273
365
  requirements:
274
366
  - - ">="
275
367
  - !ruby/object:Gem::Version
276
368
  version: 1.3.6
277
369
  requirements: []
278
- rubyforge_project:
279
- rubygems_version: 2.7.6
280
- signing_key:
370
+ rubygems_version: 3.3.7
371
+ signing_key:
281
372
  specification_version: 4
282
373
  summary: Track changes to your models.
283
374
  test_files: []
@@ -1,2 +0,0 @@
1
- Description:
2
- Generates (but does not run) a migration to add a versions table.
@@ -1,14 +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
- paths["app/models"] << "lib/paper_trail/frameworks/active_record/models"
8
- config.paper_trail = ActiveSupport::OrderedOptions.new
9
- initializer "paper_trail.initialisation" do |app|
10
- PaperTrail.enabled = app.config.paper_trail.fetch(:enabled, true)
11
- end
12
- end
13
- end
14
- end