Class: PaperTrailDiff::ActivityHistory

Inherits:
Object
  • Object
show all
Defined in:
lib/paper_trail_diff/activity_history.rb,
sig/generated/paper_trail_diff/activity_history.rbs

Overview

Immutable snapshots and steps produced by one activity-history pass.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(steps:, root_snapshots:, first_snapshot:, last_snapshot:) ⇒ ActivityHistory

: (steps: Array, root_snapshots: Hash[Array[untyped], RecordSnapshot?], first_snapshot: RecordSnapshot?, last_snapshot: RecordSnapshot?) -> void

Parameters:



13
14
15
16
17
18
19
# File 'lib/paper_trail_diff/activity_history.rb', line 13

def initialize(steps:, root_snapshots:, first_snapshot:, last_snapshot:)
  @steps = steps.freeze
  @root_snapshots = root_snapshots.freeze
  @first_snapshot = first_snapshot
  @last_snapshot = last_snapshot
  freeze
end

Instance Attribute Details

#first_snapshotRecordSnapshot? (readonly)

Signature:

  • RecordSnapshot?

Returns:



9
10
11
# File 'lib/paper_trail_diff/activity_history.rb', line 9

def first_snapshot
  @first_snapshot
end

#last_snapshotRecordSnapshot? (readonly)

Signature:

  • RecordSnapshot?

Returns:



10
11
12
# File 'lib/paper_trail_diff/activity_history.rb', line 10

def last_snapshot
  @last_snapshot
end

#root_snapshotsHash[Array[untyped], RecordSnapshot?] (readonly)

Signature:

  • Hash[Array[untyped], RecordSnapshot?]

Returns:



8
9
10
# File 'lib/paper_trail_diff/activity_history.rb', line 8

def root_snapshots
  @root_snapshots
end

#stepsArray[ActivityStep] (readonly)

Signature:

  • Array[ActivityStep]

Returns:



7
8
9
# File 'lib/paper_trail_diff/activity_history.rb', line 7

def steps
  @steps
end

Class Method Details

.emptyActivityHistory

: () -> ActivityHistory

Returns:



22
23
24
# File 'lib/paper_trail_diff/activity_history.rb', line 22

def self.empty
  new(steps: [], root_snapshots: {}, first_snapshot: nil, last_snapshot: nil)
end