paper_trail_diff 0.2.0 → 0.3.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 (76) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +47 -0
  3. data/QUICKSTART.md +44 -2
  4. data/README.md +179 -14
  5. data/lib/paper_trail_diff/activity_child_candidate_loader.rb +73 -0
  6. data/lib/paper_trail_diff/activity_event_snapshot_refresher.rb +261 -45
  7. data/lib/paper_trail_diff/activity_history.rb +136 -0
  8. data/lib/paper_trail_diff/activity_range.rb +28 -12
  9. data/lib/paper_trail_diff/activity_snapshot_delta.rb +64 -0
  10. data/lib/paper_trail_diff/activity_snapshot_sequence.rb +3 -3
  11. data/lib/paper_trail_diff/activity_timeline_builder.rb +54 -45
  12. data/lib/paper_trail_diff/activity_version_collector.rb +14 -17
  13. data/lib/paper_trail_diff/branch_snapshot_refresher.rb +5 -3
  14. data/lib/paper_trail_diff/collection_comparator.rb +155 -0
  15. data/lib/paper_trail_diff/collection_identity_index.rb +53 -0
  16. data/lib/paper_trail_diff/collection_transition.rb +25 -0
  17. data/lib/paper_trail_diff/comparison_batch.rb +151 -0
  18. data/lib/paper_trail_diff/engine.rb +5 -45
  19. data/lib/paper_trail_diff/errors.rb +9 -0
  20. data/lib/paper_trail_diff/historical_snapshot_store.rb +55 -3
  21. data/lib/paper_trail_diff/instrumentation.rb +30 -0
  22. data/lib/paper_trail_diff/live_endpoint_batch_loader.rb +133 -0
  23. data/lib/paper_trail_diff/live_endpoint_provider.rb +48 -0
  24. data/lib/paper_trail_diff/live_graph_collector.rb +52 -0
  25. data/lib/paper_trail_diff/paper_trail_adapter.rb +61 -34
  26. data/lib/paper_trail_diff/preloaded_endpoint_batch_loader.rb +48 -0
  27. data/lib/paper_trail_diff/prepared_edge_loader.rb +54 -17
  28. data/lib/paper_trail_diff/prepared_history.rb +14 -4
  29. data/lib/paper_trail_diff/prepared_history_loader.rb +17 -9
  30. data/lib/paper_trail_diff/prepared_record_index.rb +138 -10
  31. data/lib/paper_trail_diff/snapshot.rb +66 -3
  32. data/lib/paper_trail_diff/support.rb +18 -0
  33. data/lib/paper_trail_diff/time_activity_timeline_builder.rb +111 -0
  34. data/lib/paper_trail_diff/time_range.rb +85 -0
  35. data/lib/paper_trail_diff/time_version_range.rb +53 -0
  36. data/lib/paper_trail_diff/timeline_builder.rb +13 -7
  37. data/lib/paper_trail_diff/timeline_range.rb +72 -0
  38. data/lib/paper_trail_diff/version.rb +1 -1
  39. data/lib/paper_trail_diff/version_association_candidate_scope.rb +73 -0
  40. data/lib/paper_trail_diff.rb +74 -12
  41. data/sig/generated/paper_trail_diff/activity_child_candidate_loader.rbs +40 -0
  42. data/sig/generated/paper_trail_diff/activity_event_snapshot_refresher.rbs +49 -8
  43. data/sig/generated/paper_trail_diff/activity_history.rbs +79 -0
  44. data/sig/generated/paper_trail_diff/activity_range.rbs +14 -5
  45. data/sig/generated/paper_trail_diff/activity_snapshot_delta.rbs +33 -0
  46. data/sig/generated/paper_trail_diff/activity_snapshot_sequence.rbs +2 -2
  47. data/sig/generated/paper_trail_diff/activity_timeline_builder.rbs +15 -10
  48. data/sig/generated/paper_trail_diff/activity_version_collector.rbs +2 -5
  49. data/sig/generated/paper_trail_diff/branch_snapshot_refresher.rbs +2 -2
  50. data/sig/generated/paper_trail_diff/collection_comparator.rbs +59 -0
  51. data/sig/generated/paper_trail_diff/collection_identity_index.rbs +29 -0
  52. data/sig/generated/paper_trail_diff/collection_transition.rbs +18 -0
  53. data/sig/generated/paper_trail_diff/comparison_batch.rbs +65 -0
  54. data/sig/generated/paper_trail_diff/engine.rbs +0 -12
  55. data/sig/generated/paper_trail_diff/errors.rbs +12 -0
  56. data/sig/generated/paper_trail_diff/historical_snapshot_store.rbs +22 -2
  57. data/sig/generated/paper_trail_diff/instrumentation.rbs +12 -0
  58. data/sig/generated/paper_trail_diff/live_endpoint_batch_loader.rbs +52 -0
  59. data/sig/generated/paper_trail_diff/live_endpoint_provider.rbs +23 -0
  60. data/sig/generated/paper_trail_diff/live_graph_collector.rbs +27 -0
  61. data/sig/generated/paper_trail_diff/paper_trail_adapter.rbs +21 -10
  62. data/sig/generated/paper_trail_diff/preloaded_endpoint_batch_loader.rbs +24 -0
  63. data/sig/generated/paper_trail_diff/prepared_edge_loader.rbs +22 -8
  64. data/sig/generated/paper_trail_diff/prepared_history.rbs +6 -0
  65. data/sig/generated/paper_trail_diff/prepared_history_loader.rbs +4 -2
  66. data/sig/generated/paper_trail_diff/prepared_record_index.rbs +61 -6
  67. data/sig/generated/paper_trail_diff/snapshot.rbs +37 -2
  68. data/sig/generated/paper_trail_diff/support.rbs +6 -0
  69. data/sig/generated/paper_trail_diff/time_activity_timeline_builder.rbs +46 -0
  70. data/sig/generated/paper_trail_diff/time_range.rbs +41 -0
  71. data/sig/generated/paper_trail_diff/time_version_range.rbs +27 -0
  72. data/sig/generated/paper_trail_diff/timeline_builder.rbs +6 -5
  73. data/sig/generated/paper_trail_diff/timeline_range.rbs +41 -0
  74. data/sig/generated/paper_trail_diff/version_association_candidate_scope.rbs +32 -0
  75. data/sig/generated/paper_trail_diff.rbs +16 -8
  76. metadata +38 -4
@@ -21,9 +21,15 @@ module PaperTrailDiff
21
21
  # : (String, String) -> String
22
22
  def self?.association_path: (String, String) -> String
23
23
 
24
+ # : (Hash[String, Hash[Symbol, untyped]], Hash[String, Hash[Symbol, untyped]]) -> Hash[String, Hash[Symbol, untyped]]
25
+ def self?.merge_record_groups: (Hash[String, Hash[Symbol, untyped]], Hash[String, Hash[Symbol, untyped]]) -> Hash[String, Hash[Symbol, untyped]]
26
+
24
27
  # : (untyped) -> untyped
25
28
  def self?.duplicate_and_freeze: (untyped) -> untyped
26
29
 
30
+ # : (Hash[String, Array[untyped]]?, Hash[String, Array[untyped]]?) -> Hash[String, Array[untyped]]?
31
+ def self?.merge_record_owners: (Hash[String, Array[untyped]]?, Hash[String, Array[untyped]]?) -> Hash[String, Array[untyped]]?
32
+
27
33
  # : (untyped) -> bool
28
34
  def self?.paper_trail_diff_value?: (untyped) -> bool
29
35
  end
@@ -0,0 +1,46 @@
1
+ # Generated from lib/paper_trail_diff/time_activity_timeline_builder.rb with RBS::Inline
2
+
3
+ module PaperTrailDiff
4
+ # Builds activity views for mutations selected by a wall-clock range.
5
+ class TimeActivityTimelineBuilder
6
+ # : (untyped, range: TimelineRange, tree: AssociationTree, snapshotter: untyped) -> void
7
+ def initialize: (untyped, range: TimelineRange, tree: AssociationTree, snapshotter: untyped) -> void
8
+
9
+ # : () -> Array[ActivityStep]
10
+ def build: () -> Array[ActivityStep]
11
+
12
+ # : () -> Analysis
13
+ def analyze: () -> Analysis
14
+
15
+ private
16
+
17
+ @range: TimelineRange
18
+
19
+ @record: untyped
20
+
21
+ @snapshotter: untyped
22
+
23
+ @tree: AssociationTree
24
+
25
+ # : () -> [ActivityHistory, Array[untyped]]
26
+ def history_and_versions: () -> [ ActivityHistory, Array[untyped] ]
27
+
28
+ # : (Array[untyped]) -> void
29
+ def prepare_history: (Array[untyped]) -> void
30
+
31
+ # : (Array[untyped]) -> Array[ActivityEvent]
32
+ def collect_events: (Array[untyped]) -> Array[ActivityEvent]
33
+
34
+ # : (Array[ActivityEvent]) -> bool
35
+ def time_events?: (Array[ActivityEvent]) -> bool
36
+
37
+ # : (ActivityEvent, Array[ActivityEvent]) -> bool
38
+ def later_event?: (ActivityEvent, Array[ActivityEvent]) -> bool
39
+
40
+ # : (Array[untyped], Hash[Array[untyped], RecordSnapshot?]) -> Array[Step]
41
+ def root_steps: (Array[untyped], Hash[Array[untyped], RecordSnapshot?]) -> Array[Step]
42
+
43
+ # : (untyped) -> Array[untyped]
44
+ def version_key: (untyped) -> Array[untyped]
45
+ end
46
+ end
@@ -0,0 +1,41 @@
1
+ # Generated from lib/paper_trail_diff/time_range.rb with RBS::Inline
2
+
3
+ module PaperTrailDiff
4
+ # Validates and applies a finite wall-clock range without loading model state.
5
+ class TimeRange
6
+ attr_reader begin_time: Time
7
+
8
+ attr_reader end_time: Time
9
+
10
+ # : (untyped) -> void
11
+ def initialize: (untyped) -> void
12
+
13
+ # : () -> bool
14
+ def exclude_end?: () -> bool
15
+
16
+ # : (untyped) -> bool
17
+ def include?: (untyped) -> bool
18
+
19
+ # : (untyped) -> untyped
20
+ def scope: (untyped) -> untyped
21
+
22
+ # : (untyped) -> untyped
23
+ def trailing_scope: (untyped) -> untyped
24
+
25
+ private
26
+
27
+ @exclude_end: bool
28
+
29
+ # : () -> Range[Time]
30
+ def query_range: () -> Range[Time]
31
+
32
+ # : (untyped, boundary: Symbol) -> Time
33
+ def coerce_time: (untyped, boundary: Symbol) -> Time
34
+
35
+ # : (untyped) -> Time
36
+ def time_value: (untyped) -> Time
37
+
38
+ # : () -> void
39
+ def validate_order!: () -> void
40
+ end
41
+ end
@@ -0,0 +1,27 @@
1
+ # Generated from lib/paper_trail_diff/time_version_range.rb with RBS::Inline
2
+
3
+ module PaperTrailDiff
4
+ # Selects in-range root versions plus one later reconstruction boundary.
5
+ class TimeVersionRange
6
+ # : (untyped, time_range: TimeRange) -> void
7
+ def initialize: (untyped, time_range: TimeRange) -> void
8
+
9
+ # : (?context_required: bool) -> Array[untyped]
10
+ def select: (?context_required: bool) -> Array[untyped]
11
+
12
+ private
13
+
14
+ @record: untyped
15
+
16
+ @time_range: TimeRange
17
+
18
+ # : () -> untyped
19
+ def versions_relation: () -> untyped
20
+
21
+ # : (untyped) -> untyped
22
+ def trailing_version: (untyped) -> untyped
23
+
24
+ # : (Array[untyped]) -> Array[untyped]
25
+ def ordered: (Array[untyped]) -> Array[untyped]
26
+ end
27
+ end
@@ -3,8 +3,8 @@
3
3
  module PaperTrailDiff
4
4
  # Selects and compares a chronological slice of a record's version history.
5
5
  class TimelineBuilder
6
- # : (untyped, from: untyped, to: untyped, snapshotter: untyped) -> void
7
- def initialize: (untyped, from: untyped, to: untyped, snapshotter: untyped) -> void
6
+ # : (untyped, from: untyped, to: untyped, snapshotter: untyped, ?within: untyped) -> void
7
+ def initialize: (untyped, from: untyped, to: untyped, snapshotter: untyped, ?within: untyped) -> void
8
8
 
9
9
  # : () -> Array[Step]
10
10
  def build: () -> Array[Step]
@@ -14,17 +14,18 @@ module PaperTrailDiff
14
14
 
15
15
  private
16
16
 
17
- @from: untyped
17
+ @range: TimelineRange
18
18
 
19
19
  @record: untyped
20
20
 
21
21
  @snapshotter: untyped
22
22
 
23
- @to: untyped
24
-
25
23
  # : (Array[untyped]) -> [Array[Step], RecordSnapshot?, RecordSnapshot?]
26
24
  def compare_history: (Array[untyped]) -> [ Array[Step], RecordSnapshot?, RecordSnapshot? ]
27
25
 
26
+ # : () -> [Array[Step], nil, nil]
27
+ def empty_history: () -> [ Array[Step], nil, nil ]
28
+
28
29
  # : () -> Array[untyped]
29
30
  def selected_versions: () -> Array[untyped]
30
31
  end
@@ -0,0 +1,41 @@
1
+ # Generated from lib/paper_trail_diff/timeline_range.rb with RBS::Inline
2
+
3
+ module PaperTrailDiff
4
+ # Chooses explicit-version or wall-clock selection for one timeline request.
5
+ class TimelineRange
6
+ attr_reader from: untyped
7
+
8
+ attr_reader to: untyped
9
+
10
+ attr_reader time_range: TimeRange?
11
+
12
+ # : (untyped, from: untyped, to: untyped, within: untyped) -> void
13
+ def initialize: (untyped, from: untyped, to: untyped, within: untyped) -> void
14
+
15
+ # : (?context_required: bool) -> Array[untyped]
16
+ def select: (?context_required: bool) -> Array[untyped]
17
+
18
+ # : () -> bool
19
+ def time?: () -> bool
20
+
21
+ # : () -> Time?
22
+ def begin_time: () -> Time?
23
+
24
+ # : (untyped) -> bool
25
+ def include?: (untyped) -> bool
26
+
27
+ private
28
+
29
+ @from: untyped
30
+
31
+ @record: untyped
32
+
33
+ @to: untyped
34
+
35
+ # : (untyped) -> TimeRange?
36
+ def build_time_range: (untyped) -> TimeRange?
37
+
38
+ # : () -> void
39
+ def validate_mode!: () -> void
40
+ end
41
+ end
@@ -0,0 +1,32 @@
1
+ # Generated from lib/paper_trail_diff/version_association_candidate_scope.rb with RBS::Inline
2
+
3
+ module PaperTrailDiff
4
+ # Selects association activity from a boundary forward plus the state at that boundary.
5
+ class VersionAssociationCandidateScope
6
+ # : (untyped, untyped, ?end_at: untyped) -> void
7
+ def initialize: (untyped, untyped, ?end_at: untyped) -> void
8
+
9
+ # : (untyped) -> untyped
10
+ def call: (untyped) -> untyped
11
+
12
+ private
13
+
14
+ @end_at: untyped
15
+
16
+ @start_at: untyped
17
+
18
+ @version_class: untyped
19
+
20
+ # : () -> String
21
+ def candidate_condition: () -> String
22
+
23
+ # : (String, String) -> String
24
+ def activity_condition: (String, String) -> String
25
+
26
+ # : (String, String) -> String
27
+ def column: (String, String) -> String
28
+
29
+ # : (String) -> String
30
+ def compact_sql: (String) -> String
31
+ end
32
+ end
@@ -7,20 +7,24 @@ module PaperTrailDiff
7
7
  SUPPORTED_ASSOCIATION_MACROS: untyped
8
8
 
9
9
  # Compares net state between explicit PaperTrail-version or current-record endpoints.
10
- # : (untyped, untyped, ?associations: Array[String | Symbol], ?ignore: ignore_option) -> Diff
11
- def self.compare: (untyped, untyped, ?associations: Array[String | Symbol], ?ignore: ignore_option) -> Diff
10
+ # : (untyped, untyped, ?associations: Array[String | Symbol], ?ignore: ignore_option, ?reload_live_endpoints: bool) -> Diff
11
+ def self.compare: (untyped, untyped, ?associations: Array[String | Symbol], ?ignore: ignore_option, ?reload_live_endpoints: bool) -> Diff
12
+
13
+ # Compares many independent endpoint pairs while batching current-record loading.
14
+ # : (Array[comparison_input], ?associations: Array[String | Symbol], ?ignore: ignore_option, ?reload_live_endpoints: bool) -> comparison_results
15
+ def self.compare_many: (Array[comparison_input], ?associations: Array[String | Symbol], ?ignore: ignore_option, ?reload_live_endpoints: bool) -> comparison_results
12
16
 
13
17
  # Compares every adjacent reconstructed state in an inclusive version range.
14
- # : (untyped, from: untyped, to: untyped, ?associations: Array[String | Symbol], ?ignore: ignore_option) -> Array[Step]
15
- def self.timeline: (untyped, from: untyped, to: untyped, ?associations: Array[String | Symbol], ?ignore: ignore_option) -> Array[Step]
18
+ # : (untyped, ?from: untyped, ?to: untyped, ?within: untyped, ?associations: Array[String | Symbol], ?ignore: ignore_option) -> Array[Step]
19
+ def self.timeline: (untyped, ?from: untyped, ?to: untyped, ?within: untyped, ?associations: Array[String | Symbol], ?ignore: ignore_option) -> Array[Step]
16
20
 
17
21
  # Compares adjacent root and selected-descendant activity boundaries.
18
- # : (untyped, from: untyped, to: untyped, ?associations: Array[String | Symbol], ?ignore: ignore_option) -> Array[ActivityStep]
19
- def self.activity_timeline: (untyped, from: untyped, to: untyped, ?associations: Array[String | Symbol], ?ignore: ignore_option) -> Array[ActivityStep]
22
+ # : (untyped, ?from: untyped, ?to: untyped, ?within: untyped, ?associations: Array[String | Symbol], ?ignore: ignore_option) -> Array[ActivityStep]
23
+ def self.activity_timeline: (untyped, ?from: untyped, ?to: untyped, ?within: untyped, ?associations: Array[String | Symbol], ?ignore: ignore_option) -> Array[ActivityStep]
20
24
 
21
25
  # Builds an endpoint diff and root-checkpoint timeline while normalizing each version once.
22
- # : (untyped, from: untyped, to: untyped, ?associations: Array[String | Symbol], ?ignore: ignore_option, ?activity: bool) -> Analysis
23
- def self.analyze: (untyped, from: untyped, to: untyped, ?associations: Array[String | Symbol], ?ignore: ignore_option, ?activity: bool) -> Analysis
26
+ # : (untyped, ?from: untyped, ?to: untyped, ?within: untyped, ?associations: Array[String | Symbol], ?ignore: ignore_option, ?activity: bool) -> Analysis
27
+ def self.analyze: (untyped, ?from: untyped, ?to: untyped, ?within: untyped, ?associations: Array[String | Symbol], ?ignore: ignore_option, ?activity: bool) -> Analysis
24
28
 
25
29
  # Returns the association macros this release can normalize.
26
30
  # : () -> Array[Symbol]
@@ -50,6 +54,10 @@ module PaperTrailDiff
50
54
 
51
55
  type identity = Array[untyped]
52
56
 
57
+ type comparison_input = Hash[String | Symbol, untyped]
58
+
59
+ type comparison_results = Hash[identity, Diff]
60
+
53
61
  type ignore_option = Array[String | Symbol] | Hash[String | Symbol, untyped]
54
62
 
55
63
  type reference_key = :type | :id | "type" | "id"
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.2.0
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Alex Williams
@@ -44,10 +44,13 @@ files:
44
44
  - README.md
45
45
  - lib/paper_trail_diff.rb
46
46
  - lib/paper_trail_diff/activity_boundary.rb
47
+ - lib/paper_trail_diff/activity_child_candidate_loader.rb
47
48
  - lib/paper_trail_diff/activity_event.rb
48
49
  - lib/paper_trail_diff/activity_event_snapshot_refresher.rb
50
+ - lib/paper_trail_diff/activity_history.rb
49
51
  - lib/paper_trail_diff/activity_range.rb
50
52
  - lib/paper_trail_diff/activity_root_snapshot_refresher.rb
53
+ - lib/paper_trail_diff/activity_snapshot_delta.rb
51
54
  - lib/paper_trail_diff/activity_snapshot_sequence.rb
52
55
  - lib/paper_trail_diff/activity_timeline_builder.rb
53
56
  - lib/paper_trail_diff/activity_version_collector.rb
@@ -56,6 +59,10 @@ files:
56
59
  - lib/paper_trail_diff/association_discovery.rb
57
60
  - lib/paper_trail_diff/association_traversal.rb
58
61
  - lib/paper_trail_diff/branch_snapshot_refresher.rb
62
+ - lib/paper_trail_diff/collection_comparator.rb
63
+ - lib/paper_trail_diff/collection_identity_index.rb
64
+ - lib/paper_trail_diff/collection_transition.rb
65
+ - lib/paper_trail_diff/comparison_batch.rb
59
66
  - lib/paper_trail_diff/configuration.rb
60
67
  - lib/paper_trail_diff/diagnostics.rb
61
68
  - lib/paper_trail_diff/endpoint.rb
@@ -63,8 +70,13 @@ files:
63
70
  - lib/paper_trail_diff/errors.rb
64
71
  - lib/paper_trail_diff/historical_association_reifier.rb
65
72
  - lib/paper_trail_diff/historical_snapshot_store.rb
73
+ - lib/paper_trail_diff/instrumentation.rb
66
74
  - lib/paper_trail_diff/live_association_reader.rb
75
+ - lib/paper_trail_diff/live_endpoint_batch_loader.rb
76
+ - lib/paper_trail_diff/live_endpoint_provider.rb
77
+ - lib/paper_trail_diff/live_graph_collector.rb
67
78
  - lib/paper_trail_diff/paper_trail_adapter.rb
79
+ - lib/paper_trail_diff/preloaded_endpoint_batch_loader.rb
68
80
  - lib/paper_trail_diff/prepared_association_reifier.rb
69
81
  - lib/paper_trail_diff/prepared_edge_loader.rb
70
82
  - lib/paper_trail_diff/prepared_history.rb
@@ -75,20 +87,28 @@ files:
75
87
  - lib/paper_trail_diff/snapshot_traversal.rb
76
88
  - lib/paper_trail_diff/step.rb
77
89
  - lib/paper_trail_diff/support.rb
90
+ - lib/paper_trail_diff/time_activity_timeline_builder.rb
91
+ - lib/paper_trail_diff/time_range.rb
92
+ - lib/paper_trail_diff/time_version_range.rb
78
93
  - lib/paper_trail_diff/timeline_builder.rb
94
+ - lib/paper_trail_diff/timeline_range.rb
79
95
  - lib/paper_trail_diff/timeline_snapshot_provider.rb
80
96
  - lib/paper_trail_diff/traversal.rb
81
97
  - lib/paper_trail_diff/traversal_emitter.rb
82
98
  - lib/paper_trail_diff/traversal_entry.rb
83
99
  - lib/paper_trail_diff/value_objects.rb
84
100
  - lib/paper_trail_diff/version.rb
101
+ - lib/paper_trail_diff/version_association_candidate_scope.rb
85
102
  - lib/paper_trail_diff/version_range.rb
86
103
  - sig/generated/paper_trail_diff.rbs
87
104
  - sig/generated/paper_trail_diff/activity_boundary.rbs
105
+ - sig/generated/paper_trail_diff/activity_child_candidate_loader.rbs
88
106
  - sig/generated/paper_trail_diff/activity_event.rbs
89
107
  - sig/generated/paper_trail_diff/activity_event_snapshot_refresher.rbs
108
+ - sig/generated/paper_trail_diff/activity_history.rbs
90
109
  - sig/generated/paper_trail_diff/activity_range.rbs
91
110
  - sig/generated/paper_trail_diff/activity_root_snapshot_refresher.rbs
111
+ - sig/generated/paper_trail_diff/activity_snapshot_delta.rbs
92
112
  - sig/generated/paper_trail_diff/activity_snapshot_sequence.rbs
93
113
  - sig/generated/paper_trail_diff/activity_timeline_builder.rbs
94
114
  - sig/generated/paper_trail_diff/activity_version_collector.rbs
@@ -97,6 +117,10 @@ files:
97
117
  - sig/generated/paper_trail_diff/association_discovery.rbs
98
118
  - sig/generated/paper_trail_diff/association_traversal.rbs
99
119
  - sig/generated/paper_trail_diff/branch_snapshot_refresher.rbs
120
+ - sig/generated/paper_trail_diff/collection_comparator.rbs
121
+ - sig/generated/paper_trail_diff/collection_identity_index.rbs
122
+ - sig/generated/paper_trail_diff/collection_transition.rbs
123
+ - sig/generated/paper_trail_diff/comparison_batch.rbs
100
124
  - sig/generated/paper_trail_diff/configuration.rbs
101
125
  - sig/generated/paper_trail_diff/diagnostics.rbs
102
126
  - sig/generated/paper_trail_diff/endpoint.rbs
@@ -104,8 +128,13 @@ files:
104
128
  - sig/generated/paper_trail_diff/errors.rbs
105
129
  - sig/generated/paper_trail_diff/historical_association_reifier.rbs
106
130
  - sig/generated/paper_trail_diff/historical_snapshot_store.rbs
131
+ - sig/generated/paper_trail_diff/instrumentation.rbs
107
132
  - sig/generated/paper_trail_diff/live_association_reader.rbs
133
+ - sig/generated/paper_trail_diff/live_endpoint_batch_loader.rbs
134
+ - sig/generated/paper_trail_diff/live_endpoint_provider.rbs
135
+ - sig/generated/paper_trail_diff/live_graph_collector.rbs
108
136
  - sig/generated/paper_trail_diff/paper_trail_adapter.rbs
137
+ - sig/generated/paper_trail_diff/preloaded_endpoint_batch_loader.rbs
109
138
  - sig/generated/paper_trail_diff/prepared_association_reifier.rbs
110
139
  - sig/generated/paper_trail_diff/prepared_edge_loader.rbs
111
140
  - sig/generated/paper_trail_diff/prepared_history.rbs
@@ -116,13 +145,18 @@ files:
116
145
  - sig/generated/paper_trail_diff/snapshot_traversal.rbs
117
146
  - sig/generated/paper_trail_diff/step.rbs
118
147
  - sig/generated/paper_trail_diff/support.rbs
148
+ - sig/generated/paper_trail_diff/time_activity_timeline_builder.rbs
149
+ - sig/generated/paper_trail_diff/time_range.rbs
150
+ - sig/generated/paper_trail_diff/time_version_range.rbs
119
151
  - sig/generated/paper_trail_diff/timeline_builder.rbs
152
+ - sig/generated/paper_trail_diff/timeline_range.rbs
120
153
  - sig/generated/paper_trail_diff/timeline_snapshot_provider.rbs
121
154
  - sig/generated/paper_trail_diff/traversal.rbs
122
155
  - sig/generated/paper_trail_diff/traversal_emitter.rbs
123
156
  - sig/generated/paper_trail_diff/traversal_entry.rbs
124
157
  - sig/generated/paper_trail_diff/value_objects.rbs
125
158
  - sig/generated/paper_trail_diff/version.rbs
159
+ - sig/generated/paper_trail_diff/version_association_candidate_scope.rbs
126
160
  - sig/generated/paper_trail_diff/version_range.rbs
127
161
  homepage: https://github.com/aheathwilliams/paper_trail_diff
128
162
  licenses:
@@ -130,11 +164,11 @@ licenses:
130
164
  metadata:
131
165
  allowed_push_host: https://rubygems.org
132
166
  bug_tracker_uri: https://github.com/aheathwilliams/paper_trail_diff/issues
133
- changelog_uri: https://github.com/aheathwilliams/paper_trail_diff/blob/v0.2.0/CHANGELOG.md
134
- documentation_uri: https://github.com/aheathwilliams/paper_trail_diff/blob/v0.2.0/README.md
167
+ changelog_uri: https://github.com/aheathwilliams/paper_trail_diff/blob/v0.3.0/CHANGELOG.md
168
+ documentation_uri: https://github.com/aheathwilliams/paper_trail_diff/blob/v0.3.0/README.md
135
169
  homepage_uri: https://github.com/aheathwilliams/paper_trail_diff
136
170
  rubygems_mfa_required: 'true'
137
- source_code_uri: https://github.com/aheathwilliams/paper_trail_diff/tree/v0.2.0
171
+ source_code_uri: https://github.com/aheathwilliams/paper_trail_diff/tree/v0.3.0
138
172
  rdoc_options: []
139
173
  require_paths:
140
174
  - lib