paper_trail_diff 0.12.0 → 0.13.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 (130) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +127 -0
  3. data/QUICKSTART.md +149 -79
  4. data/README.md +179 -1388
  5. data/docs/architecture.md +88 -0
  6. data/docs/performance.md +309 -0
  7. data/docs/reference.md +977 -0
  8. data/docs/testing.md +146 -0
  9. data/lib/paper_trail_diff/activity_belongs_to_event_applier.rb +2 -12
  10. data/lib/paper_trail_diff/activity_boundary.rb +20 -8
  11. data/lib/paper_trail_diff/activity_child_candidate_loader.rb +29 -0
  12. data/lib/paper_trail_diff/activity_collection_event_applier.rb +10 -7
  13. data/lib/paper_trail_diff/activity_collection_route_updater.rb +1 -11
  14. data/lib/paper_trail_diff/activity_event_record_normalizer.rb +4 -0
  15. data/lib/paper_trail_diff/activity_event_record_resolver.rb +66 -6
  16. data/lib/paper_trail_diff/activity_event_snapshot_refresher.rb +6 -4
  17. data/lib/paper_trail_diff/activity_grouping.rb +12 -0
  18. data/lib/paper_trail_diff/activity_history.rb +9 -3
  19. data/lib/paper_trail_diff/activity_relationship.rb +2 -0
  20. data/lib/paper_trail_diff/activity_root_snapshot_refresher.rb +1 -0
  21. data/lib/paper_trail_diff/activity_snapshot_sequence.rb +9 -2
  22. data/lib/paper_trail_diff/activity_timeline_builder.rb +39 -35
  23. data/lib/paper_trail_diff/activity_version_collector.rb +27 -18
  24. data/lib/paper_trail_diff/analysis.rb +9 -4
  25. data/lib/paper_trail_diff/analysis_batch.rb +28 -7
  26. data/lib/paper_trail_diff/association_traversal.rb +23 -0
  27. data/lib/paper_trail_diff/batch_boundary_resolver.rb +18 -26
  28. data/lib/paper_trail_diff/batch_safety.rb +55 -0
  29. data/lib/paper_trail_diff/batched_root_analyzer.rb +14 -5
  30. data/lib/paper_trail_diff/batched_root_versions.rb +9 -37
  31. data/lib/paper_trail_diff/branch_snapshot_refresher.rb +7 -8
  32. data/lib/paper_trail_diff/deleted_analysis_batch.rb +93 -0
  33. data/lib/paper_trail_diff/direct_record_state_loader.rb +81 -0
  34. data/lib/paper_trail_diff/endpoint.rb +10 -0
  35. data/lib/paper_trail_diff/engine.rb +4 -2
  36. data/lib/paper_trail_diff/errors.rb +9 -0
  37. data/lib/paper_trail_diff/historical_association_reifier.rb +26 -1
  38. data/lib/paper_trail_diff/historical_filter.rb +181 -0
  39. data/lib/paper_trail_diff/historical_snapshot_store.rb +51 -35
  40. data/lib/paper_trail_diff/instrumentation.rb +2 -2
  41. data/lib/paper_trail_diff/nested_comparator.rb +39 -15
  42. data/lib/paper_trail_diff/paper_trail_adapter.rb +109 -55
  43. data/lib/paper_trail_diff/prepared_activity_index.rb +121 -0
  44. data/lib/paper_trail_diff/prepared_edge_loader.rb +11 -11
  45. data/lib/paper_trail_diff/prepared_history.rb +21 -30
  46. data/lib/paper_trail_diff/prepared_history_loader.rb +14 -2
  47. data/lib/paper_trail_diff/prepared_record_index.rb +102 -29
  48. data/lib/paper_trail_diff/prepared_snapshot_builder.rb +64 -0
  49. data/lib/paper_trail_diff/prepared_state_association_reader.rb +77 -0
  50. data/lib/paper_trail_diff/root_version_plan.rb +25 -2
  51. data/lib/paper_trail_diff/root_version_selection.rb +16 -5
  52. data/lib/paper_trail_diff/scoped_analysis.rb +17 -2
  53. data/lib/paper_trail_diff/scoped_analysis_builder.rb +47 -0
  54. data/lib/paper_trail_diff/scoped_root_selection.rb +106 -13
  55. data/lib/paper_trail_diff/snapshot.rb +9 -0
  56. data/lib/paper_trail_diff/snapshot_normalizer.rb +41 -2
  57. data/lib/paper_trail_diff/step.rb +10 -5
  58. data/lib/paper_trail_diff/stored_time_precision.rb +68 -0
  59. data/lib/paper_trail_diff/support.rb +13 -3
  60. data/lib/paper_trail_diff/time_activity_timeline_builder.rb +19 -7
  61. data/lib/paper_trail_diff/time_range.rb +22 -2
  62. data/lib/paper_trail_diff/time_version_range.rb +1 -15
  63. data/lib/paper_trail_diff/timeline_builder.rb +5 -4
  64. data/lib/paper_trail_diff/timeline_range.rb +25 -43
  65. data/lib/paper_trail_diff/timeline_snapshot_provider.rb +13 -2
  66. data/lib/paper_trail_diff/traversal.rb +1 -1
  67. data/lib/paper_trail_diff/version.rb +1 -1
  68. data/lib/paper_trail_diff/version_association_candidate_scope.rb +1 -1
  69. data/lib/paper_trail_diff/version_boundary.rb +48 -0
  70. data/lib/paper_trail_diff/version_query.rb +33 -0
  71. data/lib/paper_trail_diff/version_range.rb +10 -38
  72. data/lib/paper_trail_diff.rb +78 -42
  73. data/sig/generated/paper_trail_diff/activity_belongs_to_event_applier.rbs +0 -3
  74. data/sig/generated/paper_trail_diff/activity_boundary.rbs +9 -4
  75. data/sig/generated/paper_trail_diff/activity_child_candidate_loader.rbs +11 -0
  76. data/sig/generated/paper_trail_diff/activity_collection_event_applier.rbs +4 -4
  77. data/sig/generated/paper_trail_diff/activity_collection_route_updater.rbs +0 -3
  78. data/sig/generated/paper_trail_diff/activity_event_record_resolver.rbs +19 -3
  79. data/sig/generated/paper_trail_diff/activity_event_snapshot_refresher.rbs +2 -2
  80. data/sig/generated/paper_trail_diff/activity_grouping.rbs +3 -0
  81. data/sig/generated/paper_trail_diff/activity_history.rbs +6 -2
  82. data/sig/generated/paper_trail_diff/activity_snapshot_sequence.rbs +7 -2
  83. data/sig/generated/paper_trail_diff/activity_timeline_builder.rbs +8 -3
  84. data/sig/generated/paper_trail_diff/activity_version_collector.rbs +4 -8
  85. data/sig/generated/paper_trail_diff/analysis.rbs +2 -2
  86. data/sig/generated/paper_trail_diff/analysis_batch.rbs +14 -3
  87. data/sig/generated/paper_trail_diff/association_traversal.rbs +11 -0
  88. data/sig/generated/paper_trail_diff/batch_boundary_resolver.rbs +7 -10
  89. data/sig/generated/paper_trail_diff/batch_safety.rbs +24 -0
  90. data/sig/generated/paper_trail_diff/batched_root_analyzer.rbs +8 -2
  91. data/sig/generated/paper_trail_diff/batched_root_versions.rbs +4 -16
  92. data/sig/generated/paper_trail_diff/branch_snapshot_refresher.rbs +2 -2
  93. data/sig/generated/paper_trail_diff/deleted_analysis_batch.rbs +44 -0
  94. data/sig/generated/paper_trail_diff/direct_record_state_loader.rbs +42 -0
  95. data/sig/generated/paper_trail_diff/endpoint.rbs +5 -0
  96. data/sig/generated/paper_trail_diff/engine.rbs +4 -2
  97. data/sig/generated/paper_trail_diff/errors.rbs +12 -0
  98. data/sig/generated/paper_trail_diff/historical_association_reifier.rbs +8 -0
  99. data/sig/generated/paper_trail_diff/historical_filter.rbs +75 -0
  100. data/sig/generated/paper_trail_diff/historical_snapshot_store.rbs +17 -4
  101. data/sig/generated/paper_trail_diff/nested_comparator.rbs +15 -7
  102. data/sig/generated/paper_trail_diff/paper_trail_adapter.rbs +36 -15
  103. data/sig/generated/paper_trail_diff/prepared_activity_index.rbs +56 -0
  104. data/sig/generated/paper_trail_diff/prepared_edge_loader.rbs +3 -3
  105. data/sig/generated/paper_trail_diff/prepared_history.rbs +12 -14
  106. data/sig/generated/paper_trail_diff/prepared_history_loader.rbs +2 -0
  107. data/sig/generated/paper_trail_diff/prepared_record_index.rbs +43 -6
  108. data/sig/generated/paper_trail_diff/prepared_snapshot_builder.rbs +24 -0
  109. data/sig/generated/paper_trail_diff/prepared_state_association_reader.rbs +33 -0
  110. data/sig/generated/paper_trail_diff/root_version_plan.rbs +15 -2
  111. data/sig/generated/paper_trail_diff/root_version_selection.rbs +8 -1
  112. data/sig/generated/paper_trail_diff/scoped_analysis.rbs +14 -2
  113. data/sig/generated/paper_trail_diff/scoped_analysis_builder.rbs +22 -0
  114. data/sig/generated/paper_trail_diff/scoped_root_selection.rbs +46 -6
  115. data/sig/generated/paper_trail_diff/snapshot.rbs +4 -0
  116. data/sig/generated/paper_trail_diff/snapshot_normalizer.rbs +13 -0
  117. data/sig/generated/paper_trail_diff/step.rbs +8 -2
  118. data/sig/generated/paper_trail_diff/stored_time_precision.rbs +36 -0
  119. data/sig/generated/paper_trail_diff/support.rbs +7 -0
  120. data/sig/generated/paper_trail_diff/time_activity_timeline_builder.rbs +7 -2
  121. data/sig/generated/paper_trail_diff/time_range.rbs +9 -0
  122. data/sig/generated/paper_trail_diff/time_version_range.rbs +0 -6
  123. data/sig/generated/paper_trail_diff/timeline_builder.rbs +2 -2
  124. data/sig/generated/paper_trail_diff/timeline_range.rbs +10 -14
  125. data/sig/generated/paper_trail_diff/timeline_snapshot_provider.rbs +2 -0
  126. data/sig/generated/paper_trail_diff/version_boundary.rbs +23 -0
  127. data/sig/generated/paper_trail_diff/version_query.rbs +15 -0
  128. data/sig/generated/paper_trail_diff/version_range.rbs +5 -14
  129. data/sig/generated/paper_trail_diff.rbs +31 -25
  130. metadata +31 -5
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: paper_trail_diff
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.12.0
4
+ version: 0.13.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Alex Williams
@@ -42,6 +42,10 @@ files:
42
42
  - LICENSE
43
43
  - QUICKSTART.md
44
44
  - README.md
45
+ - docs/architecture.md
46
+ - docs/performance.md
47
+ - docs/reference.md
48
+ - docs/testing.md
45
49
  - lib/paper_trail_diff.rb
46
50
  - lib/paper_trail_diff/activity_belongs_to_event_applier.rb
47
51
  - lib/paper_trail_diff/activity_boundary.rb
@@ -72,6 +76,7 @@ files:
72
76
  - lib/paper_trail_diff/association_discovery.rb
73
77
  - lib/paper_trail_diff/association_traversal.rb
74
78
  - lib/paper_trail_diff/batch_boundary_resolver.rb
79
+ - lib/paper_trail_diff/batch_safety.rb
75
80
  - lib/paper_trail_diff/batched_root_analyzer.rb
76
81
  - lib/paper_trail_diff/batched_root_versions.rb
77
82
  - lib/paper_trail_diff/branch_snapshot_refresher.rb
@@ -80,11 +85,14 @@ files:
80
85
  - lib/paper_trail_diff/collection_transition.rb
81
86
  - lib/paper_trail_diff/comparison_batch.rb
82
87
  - lib/paper_trail_diff/configuration.rb
88
+ - lib/paper_trail_diff/deleted_analysis_batch.rb
83
89
  - lib/paper_trail_diff/diagnostics.rb
90
+ - lib/paper_trail_diff/direct_record_state_loader.rb
84
91
  - lib/paper_trail_diff/endpoint.rb
85
92
  - lib/paper_trail_diff/engine.rb
86
93
  - lib/paper_trail_diff/errors.rb
87
94
  - lib/paper_trail_diff/historical_association_reifier.rb
95
+ - lib/paper_trail_diff/historical_filter.rb
88
96
  - lib/paper_trail_diff/historical_snapshot_store.rb
89
97
  - lib/paper_trail_diff/instrumentation.rb
90
98
  - lib/paper_trail_diff/live_association_reader.rb
@@ -94,19 +102,24 @@ files:
94
102
  - lib/paper_trail_diff/nested_comparator.rb
95
103
  - lib/paper_trail_diff/paper_trail_adapter.rb
96
104
  - lib/paper_trail_diff/preloaded_endpoint_batch_loader.rb
105
+ - lib/paper_trail_diff/prepared_activity_index.rb
97
106
  - lib/paper_trail_diff/prepared_association_reifier.rb
98
107
  - lib/paper_trail_diff/prepared_edge_loader.rb
99
108
  - lib/paper_trail_diff/prepared_history.rb
100
109
  - lib/paper_trail_diff/prepared_history_loader.rb
101
110
  - lib/paper_trail_diff/prepared_record_index.rb
111
+ - lib/paper_trail_diff/prepared_snapshot_builder.rb
112
+ - lib/paper_trail_diff/prepared_state_association_reader.rb
102
113
  - lib/paper_trail_diff/root_version_plan.rb
103
114
  - lib/paper_trail_diff/root_version_selection.rb
104
115
  - lib/paper_trail_diff/scoped_analysis.rb
116
+ - lib/paper_trail_diff/scoped_analysis_builder.rb
105
117
  - lib/paper_trail_diff/scoped_root_selection.rb
106
118
  - lib/paper_trail_diff/snapshot.rb
107
119
  - lib/paper_trail_diff/snapshot_normalizer.rb
108
120
  - lib/paper_trail_diff/snapshot_traversal.rb
109
121
  - lib/paper_trail_diff/step.rb
122
+ - lib/paper_trail_diff/stored_time_precision.rb
110
123
  - lib/paper_trail_diff/support.rb
111
124
  - lib/paper_trail_diff/time_activity_timeline_builder.rb
112
125
  - lib/paper_trail_diff/time_range.rb
@@ -121,6 +134,8 @@ files:
121
134
  - lib/paper_trail_diff/value_objects.rb
122
135
  - lib/paper_trail_diff/version.rb
123
136
  - lib/paper_trail_diff/version_association_candidate_scope.rb
137
+ - lib/paper_trail_diff/version_boundary.rb
138
+ - lib/paper_trail_diff/version_query.rb
124
139
  - lib/paper_trail_diff/version_range.rb
125
140
  - lib/paper_trail_diff/version_scope_filter.rb
126
141
  - lib/paper_trail_diff/version_sequence_diagnostics.rb
@@ -154,6 +169,7 @@ files:
154
169
  - sig/generated/paper_trail_diff/association_discovery.rbs
155
170
  - sig/generated/paper_trail_diff/association_traversal.rbs
156
171
  - sig/generated/paper_trail_diff/batch_boundary_resolver.rbs
172
+ - sig/generated/paper_trail_diff/batch_safety.rbs
157
173
  - sig/generated/paper_trail_diff/batched_root_analyzer.rbs
158
174
  - sig/generated/paper_trail_diff/batched_root_versions.rbs
159
175
  - sig/generated/paper_trail_diff/branch_snapshot_refresher.rbs
@@ -162,11 +178,14 @@ files:
162
178
  - sig/generated/paper_trail_diff/collection_transition.rbs
163
179
  - sig/generated/paper_trail_diff/comparison_batch.rbs
164
180
  - sig/generated/paper_trail_diff/configuration.rbs
181
+ - sig/generated/paper_trail_diff/deleted_analysis_batch.rbs
165
182
  - sig/generated/paper_trail_diff/diagnostics.rbs
183
+ - sig/generated/paper_trail_diff/direct_record_state_loader.rbs
166
184
  - sig/generated/paper_trail_diff/endpoint.rbs
167
185
  - sig/generated/paper_trail_diff/engine.rbs
168
186
  - sig/generated/paper_trail_diff/errors.rbs
169
187
  - sig/generated/paper_trail_diff/historical_association_reifier.rbs
188
+ - sig/generated/paper_trail_diff/historical_filter.rbs
170
189
  - sig/generated/paper_trail_diff/historical_snapshot_store.rbs
171
190
  - sig/generated/paper_trail_diff/instrumentation.rbs
172
191
  - sig/generated/paper_trail_diff/live_association_reader.rbs
@@ -176,19 +195,24 @@ files:
176
195
  - sig/generated/paper_trail_diff/nested_comparator.rbs
177
196
  - sig/generated/paper_trail_diff/paper_trail_adapter.rbs
178
197
  - sig/generated/paper_trail_diff/preloaded_endpoint_batch_loader.rbs
198
+ - sig/generated/paper_trail_diff/prepared_activity_index.rbs
179
199
  - sig/generated/paper_trail_diff/prepared_association_reifier.rbs
180
200
  - sig/generated/paper_trail_diff/prepared_edge_loader.rbs
181
201
  - sig/generated/paper_trail_diff/prepared_history.rbs
182
202
  - sig/generated/paper_trail_diff/prepared_history_loader.rbs
183
203
  - sig/generated/paper_trail_diff/prepared_record_index.rbs
204
+ - sig/generated/paper_trail_diff/prepared_snapshot_builder.rbs
205
+ - sig/generated/paper_trail_diff/prepared_state_association_reader.rbs
184
206
  - sig/generated/paper_trail_diff/root_version_plan.rbs
185
207
  - sig/generated/paper_trail_diff/root_version_selection.rbs
186
208
  - sig/generated/paper_trail_diff/scoped_analysis.rbs
209
+ - sig/generated/paper_trail_diff/scoped_analysis_builder.rbs
187
210
  - sig/generated/paper_trail_diff/scoped_root_selection.rbs
188
211
  - sig/generated/paper_trail_diff/snapshot.rbs
189
212
  - sig/generated/paper_trail_diff/snapshot_normalizer.rbs
190
213
  - sig/generated/paper_trail_diff/snapshot_traversal.rbs
191
214
  - sig/generated/paper_trail_diff/step.rbs
215
+ - sig/generated/paper_trail_diff/stored_time_precision.rbs
192
216
  - sig/generated/paper_trail_diff/support.rbs
193
217
  - sig/generated/paper_trail_diff/time_activity_timeline_builder.rbs
194
218
  - sig/generated/paper_trail_diff/time_range.rbs
@@ -203,6 +227,8 @@ files:
203
227
  - sig/generated/paper_trail_diff/value_objects.rbs
204
228
  - sig/generated/paper_trail_diff/version.rbs
205
229
  - sig/generated/paper_trail_diff/version_association_candidate_scope.rbs
230
+ - sig/generated/paper_trail_diff/version_boundary.rbs
231
+ - sig/generated/paper_trail_diff/version_query.rbs
206
232
  - sig/generated/paper_trail_diff/version_range.rbs
207
233
  - sig/generated/paper_trail_diff/version_scope_filter.rbs
208
234
  - sig/generated/paper_trail_diff/version_sequence_diagnostics.rbs
@@ -212,11 +238,11 @@ licenses:
212
238
  metadata:
213
239
  allowed_push_host: https://rubygems.org
214
240
  bug_tracker_uri: https://github.com/aheathwilliams/paper_trail_diff/issues
215
- changelog_uri: https://github.com/aheathwilliams/paper_trail_diff/blob/v0.12.0/CHANGELOG.md
216
- documentation_uri: https://github.com/aheathwilliams/paper_trail_diff/blob/v0.12.0/README.md
241
+ changelog_uri: https://github.com/aheathwilliams/paper_trail_diff/blob/v0.13.0/CHANGELOG.md
242
+ documentation_uri: https://github.com/aheathwilliams/paper_trail_diff/blob/v0.13.0/README.md
217
243
  homepage_uri: https://github.com/aheathwilliams/paper_trail_diff
218
244
  rubygems_mfa_required: 'true'
219
- source_code_uri: https://github.com/aheathwilliams/paper_trail_diff/tree/v0.12.0
245
+ source_code_uri: https://github.com/aheathwilliams/paper_trail_diff/tree/v0.13.0
220
246
  rdoc_options: []
221
247
  require_paths:
222
248
  - lib
@@ -231,7 +257,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
231
257
  - !ruby/object:Gem::Version
232
258
  version: '0'
233
259
  requirements: []
234
- rubygems_version: 4.0.16
260
+ rubygems_version: 4.0.20
235
261
  specification_version: 4
236
262
  summary: Structured endpoint and activity diffs for PaperTrail
237
263
  test_files: []