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.
- checksums.yaml +4 -4
- data/LICENSE +20 -0
- data/lib/generators/paper_trail/install/USAGE +3 -0
- data/lib/generators/paper_trail/{install_generator.rb → install/install_generator.rb} +27 -38
- data/lib/generators/paper_trail/{templates → install/templates}/create_versions.rb.erb +5 -3
- data/lib/generators/paper_trail/migration_generator.rb +38 -0
- data/lib/generators/paper_trail/update_item_subtype/USAGE +4 -0
- data/lib/generators/paper_trail/update_item_subtype/templates/update_versions_for_item_subtype.rb.erb +85 -0
- data/lib/generators/paper_trail/update_item_subtype/update_item_subtype_generator.rb +19 -0
- 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 +51 -0
- data/lib/paper_trail/config.rb +9 -2
- data/lib/paper_trail/errors.rb +33 -0
- data/lib/paper_trail/events/base.rb +343 -0
- data/lib/paper_trail/events/create.rb +32 -0
- data/lib/paper_trail/events/destroy.rb +42 -0
- data/lib/paper_trail/events/update.rb +76 -0
- 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 +20 -17
- data/lib/paper_trail/model_config.rb +124 -87
- data/lib/paper_trail/queries/versions/where_attribute_changes.rb +50 -0
- data/lib/paper_trail/queries/versions/where_object.rb +4 -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 +137 -436
- data/lib/paper_trail/reifier.rb +41 -25
- data/lib/paper_trail/request.rb +22 -25
- data/lib/paper_trail/serializers/json.rb +0 -10
- data/lib/paper_trail/serializers/yaml.rb +41 -11
- data/lib/paper_trail/type_serializers/postgres_array_serializer.rb +1 -15
- data/lib/paper_trail/version_concern.rb +152 -62
- data/lib/paper_trail/version_number.rb +2 -2
- data/lib/paper_trail.rb +23 -123
- metadata +152 -61
- data/lib/generators/paper_trail/USAGE +0 -2
- data/lib/paper_trail/frameworks/rails/engine.rb +0 -14
- /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
|
-
#
|
12
|
-
#
|
13
|
-
#
|
14
|
-
#
|
15
|
-
|
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 "
|
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? && !
|
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
|
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
|
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
|
-
|
216
|
-
|
217
|
-
|
218
|
-
|
219
|
-
#
|
220
|
-
|
221
|
-
|
222
|
-
|
223
|
-
|
224
|
-
|
225
|
-
|
226
|
-
|
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:
|
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,90 +18,70 @@ dependencies:
|
|
18
18
|
requirements:
|
19
19
|
- - ">="
|
20
20
|
- !ruby/object:Gem::Version
|
21
|
-
version: '
|
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: '
|
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.
|
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.
|
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:
|
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:
|
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: '
|
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: '
|
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.
|
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.
|
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:
|
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.
|
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.
|
112
|
+
version: 1.0.0
|
133
113
|
- !ruby/object:Gem::Dependency
|
134
|
-
name:
|
114
|
+
name: rails
|
135
115
|
requirement: !ruby/object:Gem::Requirement
|
136
116
|
requirements:
|
137
|
-
- - "
|
117
|
+
- - ">="
|
138
118
|
- !ruby/object:Gem::Version
|
139
|
-
version:
|
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:
|
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: '
|
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: '
|
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:
|
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:
|
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:
|
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.
|
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:
|
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.
|
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.
|
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.
|
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
|
-
-
|
227
|
-
- lib/generators/paper_trail/
|
228
|
-
- lib/generators/paper_trail/
|
229
|
-
- lib/generators/paper_trail/templates/
|
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/
|
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.
|
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
|
-
|
279
|
-
|
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,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
|
File without changes
|