Class: GitLeadTime::FirstCommitFinder

Inherits:
Object
  • Object
show all
Defined in:
lib/git_lead_time/first_commit_finder.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(merge_target) ⇒ FirstCommitFinder

Returns a new instance of FirstCommitFinder.



6
7
8
# File 'lib/git_lead_time/first_commit_finder.rb', line 6

def initialize(merge_target)
  @target_refs = Set.new(first_parents(merge_target))
end

Instance Attribute Details

#target_refsObject (readonly)

Returns the value of attribute target_refs.



5
6
7
# File 'lib/git_lead_time/first_commit_finder.rb', line 5

def target_refs
  @target_refs
end

Instance Method Details

#first_commit(ref) ⇒ Object



10
11
12
13
14
15
16
17
18
# File 'lib/git_lead_time/first_commit_finder.rb', line 10

def first_commit(ref)
  first_commit = ref
  first_parents(ref).each do |parent|
    break if target_refs.include? parent
    first_commit = parent
  end

  first_commit
end