Class: Evilution::Coverage::Digest

Inherits:
Object
  • Object
show all
Defined in:
lib/evilution/coverage/digest.rb

Overview

Stable, content-addressed digest of a source file, used by MapStore to detect when a cached coverage entry has gone stale. Path-independent: the digest depends only on the bytes, so moving a file does not invalidate it. Returns nil for a missing file so callers treat it as “not fresh”.

Instance Method Summary collapse

Instance Method Details

#for_file(path) ⇒ Object



11
12
13
14
15
# File 'lib/evilution/coverage/digest.rb', line 11

def for_file(path)
  return nil unless File.file?(path)

  ::Digest::SHA256.hexdigest(File.binread(path))
end