Class: PaperTrailDiff::ActivitySnapshotProvider
- Inherits:
-
Object
- Object
- PaperTrailDiff::ActivitySnapshotProvider
- Defined in:
- lib/paper_trail_diff/activity_snapshot_sequence.rb,
sig/generated/paper_trail_diff/activity_snapshot_sequence.rbs
Overview
Optional full/partial snapshot operations consumed by the activity sequence.
Instance Method Summary collapse
-
#advance_root(root_endpoint, context_endpoint, previous_snapshot, event:) ⇒ RecordSnapshot?
: (untyped, untyped, RecordSnapshot?, event: ActivityEvent) -> RecordSnapshot?.
-
#call(root_endpoint, context_endpoint) ⇒ RecordSnapshot?
: (untyped, untyped) -> RecordSnapshot?.
-
#initialize(snapshotter:, refresher:, preparer:) ⇒ ActivitySnapshotProvider
constructor
: (snapshotter: untyped, refresher: untyped, preparer: untyped) -> void.
-
#prepare(record, root_versions, start_at: root_versions.first.created_at, end_at: root_versions.last.created_at) ⇒ void
: (untyped, Array, ?start_at: untyped, ?end_at: untyped) -> void.
-
#refresh(root_endpoint, context_endpoint, previous_snapshot, branches, event:, isolated:) ⇒ RecordSnapshot?
: (untyped, untyped, RecordSnapshot?, Array, event: ActivityEvent, isolated: bool) -> RecordSnapshot?.
Constructor Details
#initialize(snapshotter:, refresher:, preparer:) ⇒ ActivitySnapshotProvider
: (snapshotter: untyped, refresher: untyped, preparer: untyped) -> void
8 9 10 11 12 |
# File 'lib/paper_trail_diff/activity_snapshot_sequence.rb', line 8 def initialize(snapshotter:, refresher:, preparer:) @snapshotter = snapshotter @refresher = refresher @preparer = preparer end |
Instance Method Details
#advance_root(root_endpoint, context_endpoint, previous_snapshot, event:) ⇒ RecordSnapshot?
: (untyped, untyped, RecordSnapshot?, event: ActivityEvent) -> RecordSnapshot?
49 50 51 52 53 54 55 56 |
# File 'lib/paper_trail_diff/activity_snapshot_sequence.rb', line 49 def advance_root(root_endpoint, context_endpoint, previous_snapshot, event:) @refresher.advance_root( root_endpoint, context_endpoint, previous_snapshot, event: event ) end |
#call(root_endpoint, context_endpoint) ⇒ RecordSnapshot?
: (untyped, untyped) -> RecordSnapshot?
25 26 27 |
# File 'lib/paper_trail_diff/activity_snapshot_sequence.rb', line 25 def call(root_endpoint, context_endpoint) @snapshotter.call(root_endpoint, context_endpoint) end |
#prepare(record, root_versions, start_at: root_versions.first.created_at, end_at: root_versions.last.created_at) ⇒ void
This method returns an undefined value.
: (untyped, Array, ?start_at: untyped, ?end_at: untyped) -> void
15 16 17 18 19 20 21 22 |
# File 'lib/paper_trail_diff/activity_snapshot_sequence.rb', line 15 def prepare( record, root_versions, start_at: root_versions.first.created_at, end_at: root_versions.last.created_at ) @preparer.call(record, root_versions, start_at: start_at, end_at: end_at) end |
#refresh(root_endpoint, context_endpoint, previous_snapshot, branches, event:, isolated:) ⇒ RecordSnapshot?
: (untyped, untyped, RecordSnapshot?, Array, event: ActivityEvent, isolated: bool) -> RecordSnapshot?
30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 |
# File 'lib/paper_trail_diff/activity_snapshot_sequence.rb', line 30 def refresh( # rubocop:disable Metrics/ParameterLists root_endpoint, context_endpoint, previous_snapshot, branches, event:, isolated: ) @refresher.call( root_endpoint, context_endpoint, previous_snapshot, branches, event: event, isolated: isolated ) end |