Module: Textus::Surface::MCP::DriftAnnotation

Defined in:
lib/textus/surface/mcp/drift_annotation.rb

Class Method Summary collapse

Class Method Details

.apply(result, verb_name:, drifted:, is_read:, current_etag:, previous_etag:) ⇒ Object



7
8
9
10
11
12
13
14
15
# File 'lib/textus/surface/mcp/drift_annotation.rb', line 7

def apply(result, verb_name:, drifted:, is_read:, current_etag:, previous_etag:)
  result["contract_drifted"] = drifted if verb_name == :pulse

  if drifted && !is_read && verb_name != :boot
    result["_warning"] = "contract drifted (was #{previous_etag}, now #{current_etag}); call boot() to re-arm"
  end

  result
end