Class: ChurnVsComplexity::Delta::CommitHydrator

Inherits:
Object
  • Object
show all
Defined in:
lib/churn_vs_complexity/delta/commit_hydrator.rb

Instance Method Summary collapse

Constructor Details

#initialize(git_strategy:, serializer:) ⇒ CommitHydrator

Returns a new instance of CommitHydrator.



6
7
8
9
# File 'lib/churn_vs_complexity/delta/commit_hydrator.rb', line 6

def initialize(git_strategy:, serializer:)
  @git_strategy = git_strategy
  @serializer = serializer
end

Instance Method Details

#hydrate(commit_sha) ⇒ Object



11
12
13
14
15
16
17
18
19
# File 'lib/churn_vs_complexity/delta/commit_hydrator.rb', line 11

def hydrate(commit_sha)
  commit = @git_strategy.object(commit_sha)
  summary = { commit: commit.sha }
  if @serializer.respond_to?(:has_commit_summary?) && @serializer.has_commit_summary?
    parent, next_commit = @git_strategy.surrounding(commit:)
    summary.merge!(parent:, next_commit:)
  end
  summary
end