paper_trail 4.2.0 → 7.1.3

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