Class: Textus::Protocol::Handlers::Ops::GitBlame

Inherits:
Object
  • Object
show all
Defined in:
lib/textus/protocol/handlers/ops/git_blame.rb

Instance Method Summary collapse

Instance Method Details

#call(key:, ctx:) ⇒ Object



8
9
10
11
12
13
14
15
# File 'lib/textus/protocol/handlers/ops/git_blame.rb', line 8

def call(key:, ctx:)
  root = ctx.manifest.data.root
  path = resolve_blame_path(key, ctx)
  return nil unless path && git_tracked?(path, root:)

  audit_rows = ctx.audit_log.list(key:)
  audit_rows.to_h { |row| [row["ts"], git_commit_at(path, timestamp: row["ts"], root:)] }
end