Class: Legion::Extensions::Extinction::Helpers::Archiver

Inherits:
Object
  • Object
show all
Defined in:
lib/legion/extensions/extinction/helpers/archiver.rb

Instance Method Summary collapse

Constructor Details

#initializeArchiver

Returns a new instance of Archiver.



8
9
10
# File 'lib/legion/extensions/extinction/helpers/archiver.rb', line 8

def initialize
  @archives = []
end

Instance Method Details

#all_archivesObject



27
28
29
# File 'lib/legion/extensions/extinction/helpers/archiver.rb', line 27

def all_archives
  @archives.dup
end

#archive(agent_id:, reason:, metadata: {}) ⇒ Object



12
13
14
15
16
17
18
19
20
21
22
23
24
25
# File 'lib/legion/extensions/extinction/helpers/archiver.rb', line 12

def archive(agent_id:, reason:, metadata: {})
  level = current_protocol_level
  record = {
    agent_id:       agent_id,
    reason:         reason,
    metadata:       ,
    level:          level,
    archived_at:    Time.now.utc.iso8601,
    state_snapshot: capture_state_snapshot
  }

  persist_archive(record)
  record
end