paper_trail 5.2.3 → 11.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 (198) hide show
  1. checksums.yaml +5 -5
  2. data/lib/generators/paper_trail/install/USAGE +3 -0
  3. data/lib/generators/paper_trail/install/install_generator.rb +75 -0
  4. data/lib/generators/paper_trail/{templates/add_object_changes_to_versions.rb → install/templates/add_object_changes_to_versions.rb.erb} +1 -1
  5. data/lib/generators/paper_trail/install/templates/create_versions.rb.erb +36 -0
  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 +17 -0
  10. data/lib/paper_trail.rb +82 -130
  11. data/lib/paper_trail/attribute_serializers/attribute_serializer_factory.rb +27 -0
  12. data/lib/paper_trail/attribute_serializers/cast_attribute_serializer.rb +15 -44
  13. data/lib/paper_trail/attribute_serializers/object_attribute.rb +2 -0
  14. data/lib/paper_trail/attribute_serializers/object_changes_attribute.rb +2 -0
  15. data/lib/paper_trail/cleaner.rb +3 -1
  16. data/lib/paper_trail/compatibility.rb +51 -0
  17. data/lib/paper_trail/config.rb +11 -49
  18. data/lib/paper_trail/events/base.rb +323 -0
  19. data/lib/paper_trail/events/create.rb +32 -0
  20. data/lib/paper_trail/events/destroy.rb +42 -0
  21. data/lib/paper_trail/events/update.rb +60 -0
  22. data/lib/paper_trail/frameworks/active_record.rb +2 -1
  23. data/lib/paper_trail/frameworks/active_record/models/paper_trail/version.rb +8 -3
  24. data/lib/paper_trail/frameworks/cucumber.rb +5 -3
  25. data/lib/paper_trail/frameworks/rails.rb +2 -0
  26. data/lib/paper_trail/frameworks/rails/controller.rb +33 -43
  27. data/lib/paper_trail/frameworks/rails/engine.rb +34 -1
  28. data/lib/paper_trail/frameworks/rspec.rb +17 -4
  29. data/lib/paper_trail/frameworks/rspec/helpers.rb +2 -0
  30. data/lib/paper_trail/has_paper_trail.rb +22 -310
  31. data/lib/paper_trail/model_config.rb +157 -109
  32. data/lib/paper_trail/queries/versions/where_object.rb +65 -0
  33. data/lib/paper_trail/queries/versions/where_object_changes.rb +75 -0
  34. data/lib/paper_trail/record_history.rb +3 -9
  35. data/lib/paper_trail/record_trail.rb +169 -319
  36. data/lib/paper_trail/reifier.rb +53 -374
  37. data/lib/paper_trail/request.rb +166 -0
  38. data/lib/paper_trail/serializers/json.rb +9 -10
  39. data/lib/paper_trail/serializers/yaml.rb +15 -28
  40. data/lib/paper_trail/type_serializers/postgres_array_serializer.rb +48 -0
  41. data/lib/paper_trail/version_concern.rb +160 -155
  42. data/lib/paper_trail/version_number.rb +12 -4
  43. metadata +77 -372
  44. data/.github/CONTRIBUTING.md +0 -109
  45. data/.github/ISSUE_TEMPLATE.md +0 -13
  46. data/.gitignore +0 -23
  47. data/.rspec +0 -2
  48. data/.rubocop.yml +0 -99
  49. data/.rubocop_todo.yml +0 -22
  50. data/.travis.yml +0 -41
  51. data/Appraisals +0 -38
  52. data/CHANGELOG.md +0 -560
  53. data/Gemfile +0 -2
  54. data/MIT-LICENSE +0 -20
  55. data/README.md +0 -1654
  56. data/Rakefile +0 -30
  57. data/doc/bug_report_template.rb +0 -69
  58. data/doc/warning_about_not_setting_whodunnit.md +0 -32
  59. data/gemfiles/ar3.gemfile +0 -19
  60. data/gemfiles/ar4.gemfile +0 -8
  61. data/gemfiles/ar5.gemfile +0 -9
  62. data/lib/generators/paper_trail/USAGE +0 -2
  63. data/lib/generators/paper_trail/default_initializer.rb +0 -0
  64. data/lib/generators/paper_trail/install_generator.rb +0 -57
  65. data/lib/generators/paper_trail/templates/add_transaction_id_column_to_versions.rb +0 -13
  66. data/lib/generators/paper_trail/templates/create_version_associations.rb +0 -22
  67. data/lib/generators/paper_trail/templates/create_versions.rb +0 -80
  68. data/lib/paper_trail/attribute_serializers/legacy_active_record_shim.rb +0 -48
  69. data/lib/paper_trail/frameworks/active_record/models/paper_trail/version_association.rb +0 -11
  70. data/lib/paper_trail/frameworks/sinatra.rb +0 -40
  71. data/lib/paper_trail/version_association_concern.rb +0 -17
  72. data/paper_trail.gemspec +0 -56
  73. data/spec/generators/install_generator_spec.rb +0 -66
  74. data/spec/generators/paper_trail/templates/create_versions_spec.rb +0 -51
  75. data/spec/models/animal_spec.rb +0 -36
  76. data/spec/models/boolit_spec.rb +0 -48
  77. data/spec/models/callback_modifier_spec.rb +0 -96
  78. data/spec/models/car_spec.rb +0 -13
  79. data/spec/models/custom_primary_key_record_spec.rb +0 -18
  80. data/spec/models/fluxor_spec.rb +0 -17
  81. data/spec/models/gadget_spec.rb +0 -68
  82. data/spec/models/joined_version_spec.rb +0 -47
  83. data/spec/models/json_version_spec.rb +0 -102
  84. data/spec/models/kitchen/banana_spec.rb +0 -14
  85. data/spec/models/not_on_update_spec.rb +0 -22
  86. data/spec/models/post_with_status_spec.rb +0 -50
  87. data/spec/models/skipper_spec.rb +0 -46
  88. data/spec/models/thing_spec.rb +0 -11
  89. data/spec/models/truck_spec.rb +0 -5
  90. data/spec/models/vehicle_spec.rb +0 -5
  91. data/spec/models/version_spec.rb +0 -272
  92. data/spec/models/widget_spec.rb +0 -343
  93. data/spec/modules/paper_trail_spec.rb +0 -27
  94. data/spec/modules/version_concern_spec.rb +0 -31
  95. data/spec/modules/version_number_spec.rb +0 -43
  96. data/spec/paper_trail/config_spec.rb +0 -33
  97. data/spec/paper_trail_spec.rb +0 -79
  98. data/spec/rails_helper.rb +0 -34
  99. data/spec/requests/articles_spec.rb +0 -34
  100. data/spec/spec_helper.rb +0 -114
  101. data/spec/support/alt_db_init.rb +0 -54
  102. data/test/custom_json_serializer.rb +0 -13
  103. data/test/dummy/Rakefile +0 -7
  104. data/test/dummy/app/controllers/application_controller.rb +0 -33
  105. data/test/dummy/app/controllers/articles_controller.rb +0 -20
  106. data/test/dummy/app/controllers/test_controller.rb +0 -5
  107. data/test/dummy/app/controllers/widgets_controller.rb +0 -32
  108. data/test/dummy/app/helpers/application_helper.rb +0 -2
  109. data/test/dummy/app/models/animal.rb +0 -6
  110. data/test/dummy/app/models/article.rb +0 -24
  111. data/test/dummy/app/models/authorship.rb +0 -5
  112. data/test/dummy/app/models/bar_habtm.rb +0 -4
  113. data/test/dummy/app/models/book.rb +0 -9
  114. data/test/dummy/app/models/boolit.rb +0 -4
  115. data/test/dummy/app/models/callback_modifier.rb +0 -45
  116. data/test/dummy/app/models/car.rb +0 -3
  117. data/test/dummy/app/models/cat.rb +0 -2
  118. data/test/dummy/app/models/chapter.rb +0 -9
  119. data/test/dummy/app/models/citation.rb +0 -5
  120. data/test/dummy/app/models/custom_primary_key_record.rb +0 -13
  121. data/test/dummy/app/models/customer.rb +0 -4
  122. data/test/dummy/app/models/document.rb +0 -4
  123. data/test/dummy/app/models/dog.rb +0 -2
  124. data/test/dummy/app/models/editor.rb +0 -4
  125. data/test/dummy/app/models/editorship.rb +0 -5
  126. data/test/dummy/app/models/elephant.rb +0 -3
  127. data/test/dummy/app/models/fluxor.rb +0 -3
  128. data/test/dummy/app/models/foo_habtm.rb +0 -5
  129. data/test/dummy/app/models/foo_widget.rb +0 -2
  130. data/test/dummy/app/models/fruit.rb +0 -5
  131. data/test/dummy/app/models/gadget.rb +0 -3
  132. data/test/dummy/app/models/kitchen/banana.rb +0 -5
  133. data/test/dummy/app/models/legacy_widget.rb +0 -4
  134. data/test/dummy/app/models/line_item.rb +0 -4
  135. data/test/dummy/app/models/not_on_update.rb +0 -4
  136. data/test/dummy/app/models/order.rb +0 -5
  137. data/test/dummy/app/models/paragraph.rb +0 -5
  138. data/test/dummy/app/models/person.rb +0 -38
  139. data/test/dummy/app/models/post.rb +0 -3
  140. data/test/dummy/app/models/post_with_status.rb +0 -8
  141. data/test/dummy/app/models/protected_widget.rb +0 -3
  142. data/test/dummy/app/models/quotation.rb +0 -5
  143. data/test/dummy/app/models/section.rb +0 -6
  144. data/test/dummy/app/models/skipper.rb +0 -6
  145. data/test/dummy/app/models/song.rb +0 -41
  146. data/test/dummy/app/models/thing.rb +0 -3
  147. data/test/dummy/app/models/translation.rb +0 -4
  148. data/test/dummy/app/models/truck.rb +0 -4
  149. data/test/dummy/app/models/vehicle.rb +0 -4
  150. data/test/dummy/app/models/whatchamajigger.rb +0 -4
  151. data/test/dummy/app/models/widget.rb +0 -16
  152. data/test/dummy/app/models/wotsit.rb +0 -8
  153. data/test/dummy/app/versions/custom_primary_key_record_version.rb +0 -3
  154. data/test/dummy/app/versions/joined_version.rb +0 -6
  155. data/test/dummy/app/versions/json_version.rb +0 -3
  156. data/test/dummy/app/versions/kitchen/banana_version.rb +0 -5
  157. data/test/dummy/app/versions/post_version.rb +0 -3
  158. data/test/dummy/app/views/layouts/application.html.erb +0 -14
  159. data/test/dummy/config.ru +0 -4
  160. data/test/dummy/config/application.rb +0 -80
  161. data/test/dummy/config/boot.rb +0 -10
  162. data/test/dummy/config/database.mysql.yml +0 -19
  163. data/test/dummy/config/database.postgres.yml +0 -15
  164. data/test/dummy/config/database.sqlite.yml +0 -15
  165. data/test/dummy/config/environment.rb +0 -5
  166. data/test/dummy/config/environments/development.rb +0 -41
  167. data/test/dummy/config/environments/production.rb +0 -74
  168. data/test/dummy/config/environments/test.rb +0 -51
  169. data/test/dummy/config/initializers/backtrace_silencers.rb +0 -9
  170. data/test/dummy/config/initializers/inflections.rb +0 -10
  171. data/test/dummy/config/initializers/mime_types.rb +0 -5
  172. data/test/dummy/config/initializers/paper_trail.rb +0 -9
  173. data/test/dummy/config/initializers/secret_token.rb +0 -9
  174. data/test/dummy/config/initializers/session_store.rb +0 -8
  175. data/test/dummy/config/locales/en.yml +0 -5
  176. data/test/dummy/config/routes.rb +0 -4
  177. data/test/dummy/db/migrate/20110208155312_set_up_test_tables.rb +0 -361
  178. data/test/dummy/db/schema.rb +0 -288
  179. data/test/dummy/script/rails +0 -8
  180. data/test/functional/controller_test.rb +0 -90
  181. data/test/functional/enabled_for_controller_test.rb +0 -28
  182. data/test/functional/modular_sinatra_test.rb +0 -46
  183. data/test/functional/sinatra_test.rb +0 -51
  184. data/test/functional/thread_safety_test.rb +0 -46
  185. data/test/test_helper.rb +0 -127
  186. data/test/time_travel_helper.rb +0 -1
  187. data/test/unit/associations_test.rb +0 -1016
  188. data/test/unit/cleaner_test.rb +0 -188
  189. data/test/unit/inheritance_column_test.rb +0 -43
  190. data/test/unit/model_test.rb +0 -1489
  191. data/test/unit/protected_attrs_test.rb +0 -52
  192. data/test/unit/serializer_test.rb +0 -119
  193. data/test/unit/serializers/json_test.rb +0 -95
  194. data/test/unit/serializers/mixin_json_test.rb +0 -37
  195. data/test/unit/serializers/mixin_yaml_test.rb +0 -53
  196. data/test/unit/serializers/yaml_test.rb +0 -54
  197. data/test/unit/timestamp_test.rb +0 -41
  198. data/test/unit/version_test.rb +0 -119
@@ -1,9 +1,17 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module PaperTrail
2
- # :nodoc:
4
+ # The version number of the paper_trail gem. Not to be confused with
5
+ # `PaperTrail::Version`. Ruby constants are case-sensitive, apparently,
6
+ # and they are two different modules! It would be nice to remove `VERSION`,
7
+ # because of this confusion, but it's not worth the breaking change.
8
+ # People are encouraged to use `PaperTrail.gem_version` instead.
3
9
  module VERSION
4
- MAJOR = 5
5
- MINOR = 2
6
- TINY = 3
10
+ MAJOR = 11
11
+ MINOR = 0
12
+ TINY = 0
13
+
14
+ # Set PRE to nil unless it's a pre-release (beta, rc, etc.)
7
15
  PRE = nil
8
16
 
9
17
  STRING = [MAJOR, MINOR, TINY, PRE].compact.join(".").freeze
metadata CHANGED
@@ -1,15 +1,16 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: paper_trail
3
3
  version: !ruby/object:Gem::Version
4
- version: 5.2.3
4
+ version: 11.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Andy Stewart
8
8
  - Ben Atkins
9
+ - Jared Beck
9
10
  autorequire:
10
11
  bindir: bin
11
12
  cert_chain: []
12
- date: 2016-11-29 00:00:00.000000000 Z
13
+ date: 2020-08-24 00:00:00.000000000 Z
13
14
  dependencies:
14
15
  - !ruby/object:Gem::Dependency
15
16
  name: activerecord
@@ -17,20 +18,14 @@ dependencies:
17
18
  requirements:
18
19
  - - ">="
19
20
  - !ruby/object:Gem::Version
20
- version: '3.0'
21
- - - "<"
22
- - !ruby/object:Gem::Version
23
- version: '6.0'
21
+ version: '5.2'
24
22
  type: :runtime
25
23
  prerelease: false
26
24
  version_requirements: !ruby/object:Gem::Requirement
27
25
  requirements:
28
26
  - - ">="
29
27
  - !ruby/object:Gem::Version
30
- version: '3.0'
31
- - - "<"
32
- - !ruby/object:Gem::Version
33
- version: '6.0'
28
+ version: '5.2'
34
29
  - !ruby/object:Gem::Dependency
35
30
  name: request_store
36
31
  requirement: !ruby/object:Gem::Requirement
@@ -51,403 +46,240 @@ dependencies:
51
46
  requirements:
52
47
  - - "~>"
53
48
  - !ruby/object:Gem::Version
54
- version: '2.1'
49
+ version: '2.2'
55
50
  type: :development
56
51
  prerelease: false
57
52
  version_requirements: !ruby/object:Gem::Requirement
58
53
  requirements:
59
54
  - - "~>"
60
55
  - !ruby/object:Gem::Version
61
- version: '2.1'
56
+ version: '2.2'
62
57
  - !ruby/object:Gem::Dependency
63
- name: rake
58
+ name: byebug
64
59
  requirement: !ruby/object:Gem::Requirement
65
60
  requirements:
66
61
  - - "~>"
67
62
  - !ruby/object:Gem::Version
68
- version: 10.4.2
63
+ version: '11.0'
69
64
  type: :development
70
65
  prerelease: false
71
66
  version_requirements: !ruby/object:Gem::Requirement
72
67
  requirements:
73
68
  - - "~>"
74
69
  - !ruby/object:Gem::Version
75
- version: 10.4.2
76
- - !ruby/object:Gem::Dependency
77
- name: shoulda
78
- requirement: !ruby/object:Gem::Requirement
79
- requirements:
80
- - - "~>"
81
- - !ruby/object:Gem::Version
82
- version: 3.5.0
83
- type: :development
84
- prerelease: false
85
- version_requirements: !ruby/object:Gem::Requirement
86
- requirements:
87
- - - "~>"
88
- - !ruby/object:Gem::Version
89
- version: 3.5.0
70
+ version: '11.0'
90
71
  - !ruby/object:Gem::Dependency
91
72
  name: ffaker
92
73
  requirement: !ruby/object:Gem::Requirement
93
74
  requirements:
94
75
  - - "~>"
95
76
  - !ruby/object:Gem::Version
96
- version: 2.1.0
77
+ version: '2.11'
97
78
  type: :development
98
79
  prerelease: false
99
80
  version_requirements: !ruby/object:Gem::Requirement
100
81
  requirements:
101
82
  - - "~>"
102
83
  - !ruby/object:Gem::Version
103
- version: 2.1.0
104
- - !ruby/object:Gem::Dependency
105
- name: railties
106
- requirement: !ruby/object:Gem::Requirement
107
- requirements:
108
- - - ">="
109
- - !ruby/object:Gem::Version
110
- version: '3.0'
111
- - - "<"
112
- - !ruby/object:Gem::Version
113
- version: '6.0'
114
- type: :development
115
- prerelease: false
116
- version_requirements: !ruby/object:Gem::Requirement
117
- requirements:
118
- - - ">="
119
- - !ruby/object:Gem::Version
120
- version: '3.0'
121
- - - "<"
122
- - !ruby/object:Gem::Version
123
- version: '6.0'
84
+ version: '2.11'
124
85
  - !ruby/object:Gem::Dependency
125
- name: rack-test
86
+ name: generator_spec
126
87
  requirement: !ruby/object:Gem::Requirement
127
88
  requirements:
128
89
  - - "~>"
129
90
  - !ruby/object:Gem::Version
130
- version: 0.6.3
91
+ version: 0.9.4
131
92
  type: :development
132
93
  prerelease: false
133
94
  version_requirements: !ruby/object:Gem::Requirement
134
95
  requirements:
135
96
  - - "~>"
136
97
  - !ruby/object:Gem::Version
137
- version: 0.6.3
98
+ version: 0.9.4
138
99
  - !ruby/object:Gem::Dependency
139
- name: rspec-rails
100
+ name: memory_profiler
140
101
  requirement: !ruby/object:Gem::Requirement
141
102
  requirements:
142
103
  - - "~>"
143
104
  - !ruby/object:Gem::Version
144
- version: '3.5'
105
+ version: 0.9.14
145
106
  type: :development
146
107
  prerelease: false
147
108
  version_requirements: !ruby/object:Gem::Requirement
148
109
  requirements:
149
110
  - - "~>"
150
111
  - !ruby/object:Gem::Version
151
- version: '3.5'
112
+ version: 0.9.14
152
113
  - !ruby/object:Gem::Dependency
153
- name: generator_spec
114
+ name: rake
154
115
  requirement: !ruby/object:Gem::Requirement
155
116
  requirements:
156
117
  - - "~>"
157
118
  - !ruby/object:Gem::Version
158
- version: 0.9.3
119
+ version: '13.0'
159
120
  type: :development
160
121
  prerelease: false
161
122
  version_requirements: !ruby/object:Gem::Requirement
162
123
  requirements:
163
124
  - - "~>"
164
125
  - !ruby/object:Gem::Version
165
- version: 0.9.3
126
+ version: '13.0'
166
127
  - !ruby/object:Gem::Dependency
167
- name: database_cleaner
128
+ name: rspec-rails
168
129
  requirement: !ruby/object:Gem::Requirement
169
130
  requirements:
170
131
  - - "~>"
171
132
  - !ruby/object:Gem::Version
172
- version: '1.2'
133
+ version: '4.0'
173
134
  type: :development
174
135
  prerelease: false
175
136
  version_requirements: !ruby/object:Gem::Requirement
176
137
  requirements:
177
138
  - - "~>"
178
139
  - !ruby/object:Gem::Version
179
- version: '1.2'
140
+ version: '4.0'
180
141
  - !ruby/object:Gem::Dependency
181
- name: pry-nav
142
+ name: rubocop
182
143
  requirement: !ruby/object:Gem::Requirement
183
144
  requirements:
184
145
  - - "~>"
185
146
  - !ruby/object:Gem::Version
186
- version: 0.2.4
147
+ version: 0.89.1
187
148
  type: :development
188
149
  prerelease: false
189
150
  version_requirements: !ruby/object:Gem::Requirement
190
151
  requirements:
191
152
  - - "~>"
192
153
  - !ruby/object:Gem::Version
193
- version: 0.2.4
154
+ version: 0.89.1
194
155
  - !ruby/object:Gem::Dependency
195
- name: rubocop
156
+ name: rubocop-performance
196
157
  requirement: !ruby/object:Gem::Requirement
197
158
  requirements:
198
159
  - - "~>"
199
160
  - !ruby/object:Gem::Version
200
- version: 0.41.1
161
+ version: 1.7.1
201
162
  type: :development
202
163
  prerelease: false
203
164
  version_requirements: !ruby/object:Gem::Requirement
204
165
  requirements:
205
166
  - - "~>"
206
167
  - !ruby/object:Gem::Version
207
- version: 0.41.1
168
+ version: 1.7.1
208
169
  - !ruby/object:Gem::Dependency
209
- name: timecop
170
+ name: rubocop-rspec
210
171
  requirement: !ruby/object:Gem::Requirement
211
172
  requirements:
212
173
  - - "~>"
213
174
  - !ruby/object:Gem::Version
214
- version: 0.8.0
175
+ version: 1.42.0
215
176
  type: :development
216
177
  prerelease: false
217
178
  version_requirements: !ruby/object:Gem::Requirement
218
179
  requirements:
219
180
  - - "~>"
220
181
  - !ruby/object:Gem::Version
221
- version: 0.8.0
182
+ version: 1.42.0
222
183
  - !ruby/object:Gem::Dependency
223
- name: sqlite3
184
+ name: mysql2
224
185
  requirement: !ruby/object:Gem::Requirement
225
186
  requirements:
226
187
  - - "~>"
227
188
  - !ruby/object:Gem::Version
228
- version: '1.2'
189
+ version: '0.5'
229
190
  type: :development
230
191
  prerelease: false
231
192
  version_requirements: !ruby/object:Gem::Requirement
232
193
  requirements:
233
194
  - - "~>"
234
195
  - !ruby/object:Gem::Version
235
- version: '1.2'
196
+ version: '0.5'
236
197
  - !ruby/object:Gem::Dependency
237
198
  name: pg
238
199
  requirement: !ruby/object:Gem::Requirement
239
200
  requirements:
240
- - - "~>"
201
+ - - ">="
202
+ - !ruby/object:Gem::Version
203
+ version: '0.18'
204
+ - - "<"
241
205
  - !ruby/object:Gem::Version
242
- version: 0.19.0
206
+ version: '2.0'
243
207
  type: :development
244
208
  prerelease: false
245
209
  version_requirements: !ruby/object:Gem::Requirement
246
210
  requirements:
247
- - - "~>"
211
+ - - ">="
212
+ - !ruby/object:Gem::Version
213
+ version: '0.18'
214
+ - - "<"
248
215
  - !ruby/object:Gem::Version
249
- version: 0.19.0
216
+ version: '2.0'
250
217
  - !ruby/object:Gem::Dependency
251
- name: mysql2
218
+ name: sqlite3
252
219
  requirement: !ruby/object:Gem::Requirement
253
220
  requirements:
254
221
  - - "~>"
255
222
  - !ruby/object:Gem::Version
256
- version: 0.4.2
223
+ version: '1.4'
257
224
  type: :development
258
225
  prerelease: false
259
226
  version_requirements: !ruby/object:Gem::Requirement
260
227
  requirements:
261
228
  - - "~>"
262
229
  - !ruby/object:Gem::Version
263
- version: 0.4.2
264
- description: Track changes to your models' data. Good for auditing or versioning.
265
- email: batkinz@gmail.com
230
+ version: '1.4'
231
+ description: |
232
+ Track changes to your models, for auditing or versioning. See how a model looked
233
+ at any stage in its lifecycle, revert it to any version, or restore it after it
234
+ has been destroyed.
235
+ email: jared@jaredbeck.com
266
236
  executables: []
267
237
  extensions: []
268
238
  extra_rdoc_files: []
269
239
  files:
270
- - ".github/CONTRIBUTING.md"
271
- - ".github/ISSUE_TEMPLATE.md"
272
- - ".gitignore"
273
- - ".rspec"
274
- - ".rubocop.yml"
275
- - ".rubocop_todo.yml"
276
- - ".travis.yml"
277
- - Appraisals
278
- - CHANGELOG.md
279
- - Gemfile
280
- - MIT-LICENSE
281
- - README.md
282
- - Rakefile
283
- - doc/bug_report_template.rb
284
- - doc/warning_about_not_setting_whodunnit.md
285
- - gemfiles/ar3.gemfile
286
- - gemfiles/ar4.gemfile
287
- - gemfiles/ar5.gemfile
288
- - lib/generators/paper_trail/USAGE
289
- - lib/generators/paper_trail/default_initializer.rb
290
- - lib/generators/paper_trail/install_generator.rb
291
- - lib/generators/paper_trail/templates/add_object_changes_to_versions.rb
292
- - lib/generators/paper_trail/templates/add_transaction_id_column_to_versions.rb
293
- - lib/generators/paper_trail/templates/create_version_associations.rb
294
- - lib/generators/paper_trail/templates/create_versions.rb
240
+ - lib/generators/paper_trail/install/USAGE
241
+ - lib/generators/paper_trail/install/install_generator.rb
242
+ - lib/generators/paper_trail/install/templates/add_object_changes_to_versions.rb.erb
243
+ - lib/generators/paper_trail/install/templates/create_versions.rb.erb
244
+ - lib/generators/paper_trail/migration_generator.rb
245
+ - lib/generators/paper_trail/update_item_subtype/USAGE
246
+ - lib/generators/paper_trail/update_item_subtype/templates/update_versions_for_item_subtype.rb.erb
247
+ - lib/generators/paper_trail/update_item_subtype/update_item_subtype_generator.rb
295
248
  - lib/paper_trail.rb
296
249
  - lib/paper_trail/attribute_serializers/README.md
250
+ - lib/paper_trail/attribute_serializers/attribute_serializer_factory.rb
297
251
  - lib/paper_trail/attribute_serializers/cast_attribute_serializer.rb
298
- - lib/paper_trail/attribute_serializers/legacy_active_record_shim.rb
299
252
  - lib/paper_trail/attribute_serializers/object_attribute.rb
300
253
  - lib/paper_trail/attribute_serializers/object_changes_attribute.rb
301
254
  - lib/paper_trail/cleaner.rb
255
+ - lib/paper_trail/compatibility.rb
302
256
  - lib/paper_trail/config.rb
257
+ - lib/paper_trail/events/base.rb
258
+ - lib/paper_trail/events/create.rb
259
+ - lib/paper_trail/events/destroy.rb
260
+ - lib/paper_trail/events/update.rb
303
261
  - lib/paper_trail/frameworks/active_record.rb
304
262
  - lib/paper_trail/frameworks/active_record/models/paper_trail/version.rb
305
- - lib/paper_trail/frameworks/active_record/models/paper_trail/version_association.rb
306
263
  - lib/paper_trail/frameworks/cucumber.rb
307
264
  - lib/paper_trail/frameworks/rails.rb
308
265
  - lib/paper_trail/frameworks/rails/controller.rb
309
266
  - lib/paper_trail/frameworks/rails/engine.rb
310
267
  - lib/paper_trail/frameworks/rspec.rb
311
268
  - lib/paper_trail/frameworks/rspec/helpers.rb
312
- - lib/paper_trail/frameworks/sinatra.rb
313
269
  - lib/paper_trail/has_paper_trail.rb
314
270
  - lib/paper_trail/model_config.rb
271
+ - lib/paper_trail/queries/versions/where_object.rb
272
+ - lib/paper_trail/queries/versions/where_object_changes.rb
315
273
  - lib/paper_trail/record_history.rb
316
274
  - lib/paper_trail/record_trail.rb
317
275
  - lib/paper_trail/reifier.rb
276
+ - lib/paper_trail/request.rb
318
277
  - lib/paper_trail/serializers/json.rb
319
278
  - lib/paper_trail/serializers/yaml.rb
320
- - lib/paper_trail/version_association_concern.rb
279
+ - lib/paper_trail/type_serializers/postgres_array_serializer.rb
321
280
  - lib/paper_trail/version_concern.rb
322
281
  - lib/paper_trail/version_number.rb
323
- - paper_trail.gemspec
324
- - spec/generators/install_generator_spec.rb
325
- - spec/generators/paper_trail/templates/create_versions_spec.rb
326
- - spec/models/animal_spec.rb
327
- - spec/models/boolit_spec.rb
328
- - spec/models/callback_modifier_spec.rb
329
- - spec/models/car_spec.rb
330
- - spec/models/custom_primary_key_record_spec.rb
331
- - spec/models/fluxor_spec.rb
332
- - spec/models/gadget_spec.rb
333
- - spec/models/joined_version_spec.rb
334
- - spec/models/json_version_spec.rb
335
- - spec/models/kitchen/banana_spec.rb
336
- - spec/models/not_on_update_spec.rb
337
- - spec/models/post_with_status_spec.rb
338
- - spec/models/skipper_spec.rb
339
- - spec/models/thing_spec.rb
340
- - spec/models/truck_spec.rb
341
- - spec/models/vehicle_spec.rb
342
- - spec/models/version_spec.rb
343
- - spec/models/widget_spec.rb
344
- - spec/modules/paper_trail_spec.rb
345
- - spec/modules/version_concern_spec.rb
346
- - spec/modules/version_number_spec.rb
347
- - spec/paper_trail/config_spec.rb
348
- - spec/paper_trail_spec.rb
349
- - spec/rails_helper.rb
350
- - spec/requests/articles_spec.rb
351
- - spec/spec_helper.rb
352
- - spec/support/alt_db_init.rb
353
- - test/custom_json_serializer.rb
354
- - test/dummy/Rakefile
355
- - test/dummy/app/controllers/application_controller.rb
356
- - test/dummy/app/controllers/articles_controller.rb
357
- - test/dummy/app/controllers/test_controller.rb
358
- - test/dummy/app/controllers/widgets_controller.rb
359
- - test/dummy/app/helpers/application_helper.rb
360
- - test/dummy/app/models/animal.rb
361
- - test/dummy/app/models/article.rb
362
- - test/dummy/app/models/authorship.rb
363
- - test/dummy/app/models/bar_habtm.rb
364
- - test/dummy/app/models/book.rb
365
- - test/dummy/app/models/boolit.rb
366
- - test/dummy/app/models/callback_modifier.rb
367
- - test/dummy/app/models/car.rb
368
- - test/dummy/app/models/cat.rb
369
- - test/dummy/app/models/chapter.rb
370
- - test/dummy/app/models/citation.rb
371
- - test/dummy/app/models/custom_primary_key_record.rb
372
- - test/dummy/app/models/customer.rb
373
- - test/dummy/app/models/document.rb
374
- - test/dummy/app/models/dog.rb
375
- - test/dummy/app/models/editor.rb
376
- - test/dummy/app/models/editorship.rb
377
- - test/dummy/app/models/elephant.rb
378
- - test/dummy/app/models/fluxor.rb
379
- - test/dummy/app/models/foo_habtm.rb
380
- - test/dummy/app/models/foo_widget.rb
381
- - test/dummy/app/models/fruit.rb
382
- - test/dummy/app/models/gadget.rb
383
- - test/dummy/app/models/kitchen/banana.rb
384
- - test/dummy/app/models/legacy_widget.rb
385
- - test/dummy/app/models/line_item.rb
386
- - test/dummy/app/models/not_on_update.rb
387
- - test/dummy/app/models/order.rb
388
- - test/dummy/app/models/paragraph.rb
389
- - test/dummy/app/models/person.rb
390
- - test/dummy/app/models/post.rb
391
- - test/dummy/app/models/post_with_status.rb
392
- - test/dummy/app/models/protected_widget.rb
393
- - test/dummy/app/models/quotation.rb
394
- - test/dummy/app/models/section.rb
395
- - test/dummy/app/models/skipper.rb
396
- - test/dummy/app/models/song.rb
397
- - test/dummy/app/models/thing.rb
398
- - test/dummy/app/models/translation.rb
399
- - test/dummy/app/models/truck.rb
400
- - test/dummy/app/models/vehicle.rb
401
- - test/dummy/app/models/whatchamajigger.rb
402
- - test/dummy/app/models/widget.rb
403
- - test/dummy/app/models/wotsit.rb
404
- - test/dummy/app/versions/custom_primary_key_record_version.rb
405
- - test/dummy/app/versions/joined_version.rb
406
- - test/dummy/app/versions/json_version.rb
407
- - test/dummy/app/versions/kitchen/banana_version.rb
408
- - test/dummy/app/versions/post_version.rb
409
- - test/dummy/app/views/layouts/application.html.erb
410
- - test/dummy/config.ru
411
- - test/dummy/config/application.rb
412
- - test/dummy/config/boot.rb
413
- - test/dummy/config/database.mysql.yml
414
- - test/dummy/config/database.postgres.yml
415
- - test/dummy/config/database.sqlite.yml
416
- - test/dummy/config/environment.rb
417
- - test/dummy/config/environments/development.rb
418
- - test/dummy/config/environments/production.rb
419
- - test/dummy/config/environments/test.rb
420
- - test/dummy/config/initializers/backtrace_silencers.rb
421
- - test/dummy/config/initializers/inflections.rb
422
- - test/dummy/config/initializers/mime_types.rb
423
- - test/dummy/config/initializers/paper_trail.rb
424
- - test/dummy/config/initializers/secret_token.rb
425
- - test/dummy/config/initializers/session_store.rb
426
- - test/dummy/config/locales/en.yml
427
- - test/dummy/config/routes.rb
428
- - test/dummy/db/migrate/20110208155312_set_up_test_tables.rb
429
- - test/dummy/db/schema.rb
430
- - test/dummy/script/rails
431
- - test/functional/controller_test.rb
432
- - test/functional/enabled_for_controller_test.rb
433
- - test/functional/modular_sinatra_test.rb
434
- - test/functional/sinatra_test.rb
435
- - test/functional/thread_safety_test.rb
436
- - test/test_helper.rb
437
- - test/time_travel_helper.rb
438
- - test/unit/associations_test.rb
439
- - test/unit/cleaner_test.rb
440
- - test/unit/inheritance_column_test.rb
441
- - test/unit/model_test.rb
442
- - test/unit/protected_attrs_test.rb
443
- - test/unit/serializer_test.rb
444
- - test/unit/serializers/json_test.rb
445
- - test/unit/serializers/mixin_json_test.rb
446
- - test/unit/serializers/mixin_yaml_test.rb
447
- - test/unit/serializers/yaml_test.rb
448
- - test/unit/timestamp_test.rb
449
- - test/unit/version_test.rb
450
- homepage: https://github.com/airblade/paper_trail
282
+ homepage: https://github.com/paper-trail-gem/paper_trail
451
283
  licenses:
452
284
  - MIT
453
285
  metadata: {}
@@ -459,142 +291,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
459
291
  requirements:
460
292
  - - ">="
461
293
  - !ruby/object:Gem::Version
462
- version: 1.9.3
294
+ version: 2.4.0
463
295
  required_rubygems_version: !ruby/object:Gem::Requirement
464
296
  requirements:
465
297
  - - ">="
466
298
  - !ruby/object:Gem::Version
467
299
  version: 1.3.6
468
300
  requirements: []
469
- rubyforge_project:
470
- rubygems_version: 2.5.1
301
+ rubygems_version: 3.0.3
471
302
  signing_key:
472
303
  specification_version: 4
473
- summary: Track changes to your models' data. Good for auditing or versioning.
474
- test_files:
475
- - spec/generators/install_generator_spec.rb
476
- - spec/generators/paper_trail/templates/create_versions_spec.rb
477
- - spec/models/animal_spec.rb
478
- - spec/models/boolit_spec.rb
479
- - spec/models/callback_modifier_spec.rb
480
- - spec/models/car_spec.rb
481
- - spec/models/custom_primary_key_record_spec.rb
482
- - spec/models/fluxor_spec.rb
483
- - spec/models/gadget_spec.rb
484
- - spec/models/joined_version_spec.rb
485
- - spec/models/json_version_spec.rb
486
- - spec/models/kitchen/banana_spec.rb
487
- - spec/models/not_on_update_spec.rb
488
- - spec/models/post_with_status_spec.rb
489
- - spec/models/skipper_spec.rb
490
- - spec/models/thing_spec.rb
491
- - spec/models/truck_spec.rb
492
- - spec/models/vehicle_spec.rb
493
- - spec/models/version_spec.rb
494
- - spec/models/widget_spec.rb
495
- - spec/modules/paper_trail_spec.rb
496
- - spec/modules/version_concern_spec.rb
497
- - spec/modules/version_number_spec.rb
498
- - spec/paper_trail/config_spec.rb
499
- - spec/paper_trail_spec.rb
500
- - spec/rails_helper.rb
501
- - spec/requests/articles_spec.rb
502
- - spec/spec_helper.rb
503
- - spec/support/alt_db_init.rb
504
- - test/custom_json_serializer.rb
505
- - test/dummy/Rakefile
506
- - test/dummy/app/controllers/application_controller.rb
507
- - test/dummy/app/controllers/articles_controller.rb
508
- - test/dummy/app/controllers/test_controller.rb
509
- - test/dummy/app/controllers/widgets_controller.rb
510
- - test/dummy/app/helpers/application_helper.rb
511
- - test/dummy/app/models/animal.rb
512
- - test/dummy/app/models/article.rb
513
- - test/dummy/app/models/authorship.rb
514
- - test/dummy/app/models/bar_habtm.rb
515
- - test/dummy/app/models/book.rb
516
- - test/dummy/app/models/boolit.rb
517
- - test/dummy/app/models/callback_modifier.rb
518
- - test/dummy/app/models/car.rb
519
- - test/dummy/app/models/cat.rb
520
- - test/dummy/app/models/chapter.rb
521
- - test/dummy/app/models/citation.rb
522
- - test/dummy/app/models/custom_primary_key_record.rb
523
- - test/dummy/app/models/customer.rb
524
- - test/dummy/app/models/document.rb
525
- - test/dummy/app/models/dog.rb
526
- - test/dummy/app/models/editor.rb
527
- - test/dummy/app/models/editorship.rb
528
- - test/dummy/app/models/elephant.rb
529
- - test/dummy/app/models/fluxor.rb
530
- - test/dummy/app/models/foo_habtm.rb
531
- - test/dummy/app/models/foo_widget.rb
532
- - test/dummy/app/models/fruit.rb
533
- - test/dummy/app/models/gadget.rb
534
- - test/dummy/app/models/kitchen/banana.rb
535
- - test/dummy/app/models/legacy_widget.rb
536
- - test/dummy/app/models/line_item.rb
537
- - test/dummy/app/models/not_on_update.rb
538
- - test/dummy/app/models/order.rb
539
- - test/dummy/app/models/paragraph.rb
540
- - test/dummy/app/models/person.rb
541
- - test/dummy/app/models/post.rb
542
- - test/dummy/app/models/post_with_status.rb
543
- - test/dummy/app/models/protected_widget.rb
544
- - test/dummy/app/models/quotation.rb
545
- - test/dummy/app/models/section.rb
546
- - test/dummy/app/models/skipper.rb
547
- - test/dummy/app/models/song.rb
548
- - test/dummy/app/models/thing.rb
549
- - test/dummy/app/models/translation.rb
550
- - test/dummy/app/models/truck.rb
551
- - test/dummy/app/models/vehicle.rb
552
- - test/dummy/app/models/whatchamajigger.rb
553
- - test/dummy/app/models/widget.rb
554
- - test/dummy/app/models/wotsit.rb
555
- - test/dummy/app/versions/custom_primary_key_record_version.rb
556
- - test/dummy/app/versions/joined_version.rb
557
- - test/dummy/app/versions/json_version.rb
558
- - test/dummy/app/versions/kitchen/banana_version.rb
559
- - test/dummy/app/versions/post_version.rb
560
- - test/dummy/app/views/layouts/application.html.erb
561
- - test/dummy/config.ru
562
- - test/dummy/config/application.rb
563
- - test/dummy/config/boot.rb
564
- - test/dummy/config/database.mysql.yml
565
- - test/dummy/config/database.postgres.yml
566
- - test/dummy/config/database.sqlite.yml
567
- - test/dummy/config/environment.rb
568
- - test/dummy/config/environments/development.rb
569
- - test/dummy/config/environments/production.rb
570
- - test/dummy/config/environments/test.rb
571
- - test/dummy/config/initializers/backtrace_silencers.rb
572
- - test/dummy/config/initializers/inflections.rb
573
- - test/dummy/config/initializers/mime_types.rb
574
- - test/dummy/config/initializers/paper_trail.rb
575
- - test/dummy/config/initializers/secret_token.rb
576
- - test/dummy/config/initializers/session_store.rb
577
- - test/dummy/config/locales/en.yml
578
- - test/dummy/config/routes.rb
579
- - test/dummy/db/migrate/20110208155312_set_up_test_tables.rb
580
- - test/dummy/db/schema.rb
581
- - test/dummy/script/rails
582
- - test/functional/controller_test.rb
583
- - test/functional/enabled_for_controller_test.rb
584
- - test/functional/modular_sinatra_test.rb
585
- - test/functional/sinatra_test.rb
586
- - test/functional/thread_safety_test.rb
587
- - test/test_helper.rb
588
- - test/time_travel_helper.rb
589
- - test/unit/associations_test.rb
590
- - test/unit/cleaner_test.rb
591
- - test/unit/inheritance_column_test.rb
592
- - test/unit/model_test.rb
593
- - test/unit/protected_attrs_test.rb
594
- - test/unit/serializer_test.rb
595
- - test/unit/serializers/json_test.rb
596
- - test/unit/serializers/mixin_json_test.rb
597
- - test/unit/serializers/mixin_yaml_test.rb
598
- - test/unit/serializers/yaml_test.rb
599
- - test/unit/timestamp_test.rb
600
- - test/unit/version_test.rb
304
+ summary: Track changes to your models.
305
+ test_files: []