Module: Textus::Lanes::Ingest::Resolver

Defined in:
lib/textus/lanes/ingest/resolver.rb

Class Method Summary collapse

Class Method Details

.supersede(old_key, new_key, ctx:, call:) ⇒ Object



7
8
9
10
11
12
13
14
15
16
17
# File 'lib/textus/lanes/ingest/resolver.rb', line 7

def supersede(old_key, new_key, ctx:, call:)
  old_env = ctx.read(key: old_key)
  old_content = old_env&.content || {}
  tombstone = {}
  %w[ingested_at ingest_count].each { |k| tombstone[k] = old_content[k] if old_content.key?(k) }
  source_kind = old_content.dig("source", "kind")
  tombstone["source"] = { "kind" => source_kind } if source_kind
  tombstone["superseded_by"] = new_key

  ctx.put(key: old_key, meta: {}, body: nil, content: tombstone, call:)
end