Class: Ace::GitCommit::Molecules::CommitSummarizer

Inherits:
Object
  • Object
show all
Defined in:
lib/ace/git_commit/molecules/commit_summarizer.rb

Overview

CommitSummarizer generates human-readable commit summaries using git’s native formatting commands

Instance Method Summary collapse

Constructor Details

#initialize(git_executor) ⇒ CommitSummarizer

Returns a new instance of CommitSummarizer.



9
10
11
# File 'lib/ace/git_commit/molecules/commit_summarizer.rb', line 9

def initialize(git_executor)
  @git = git_executor
end

Instance Method Details

#summarize(commit_sha) ⇒ String

Generate a formatted summary for a commit

Parameters:

  • commit_sha (String)

    The commit SHA to summarize (e.g., “HEAD”, “abc123”)

Returns:

  • (String)

    Formatted commit summary with hash, message, and file stats



16
17
18
19
20
21
22
23
24
25
# File 'lib/ace/git_commit/molecules/commit_summarizer.rb', line 16

def summarize(commit_sha)
  # Get commit info: hash (refs) message
  commit_line = @git.execute("log", "--oneline", commit_sha, "-1").strip

  # Get file stats
  stats = get_commit_stats(commit_sha)

  # Combine with newline
  "#{commit_line}\n#{stats}"
end