module RoboPigeon::Dsl::Helpers::Git

Public Instance Methods

changed_since?(ref, *files) click to toggle source
# File lib/robopigeon/git/helper_dsl.rb, line 43
def changed_since?(ref, *files)
  `git diff #{ref} -- #{files.join(' ')}`
end
git_branch_merged_source() click to toggle source
# File lib/robopigeon/git/helper_dsl.rb, line 25
def git_branch_merged_source
  get_merge_data[:source]
end
git_branch_merged_target() click to toggle source
# File lib/robopigeon/git/helper_dsl.rb, line 30
def git_branch_merged_target
  get_merge_data[:target]
end
git_committer_email() click to toggle source
# File lib/robopigeon/git/helper_dsl.rb, line 10
def git_committer_email
  `git log -1 --pretty=format:'%ae' --no-merges`
end
git_committer_name() click to toggle source
# File lib/robopigeon/git/helper_dsl.rb, line 5
def git_committer_name
  `git log -1 --pretty=format:'%an' --no-merges`
end
git_merger_email() click to toggle source
# File lib/robopigeon/git/helper_dsl.rb, line 20
def git_merger_email
  `git log -1 --pretty=format:'%ae' --merges`
end
git_merger_name() click to toggle source
# File lib/robopigeon/git/helper_dsl.rb, line 15
def git_merger_name
  `git log -1 --pretty=format:'%an' --merges`
end

Private Instance Methods

get_merge_data() click to toggle source
# File lib/robopigeon/git/helper_dsl.rb, line 53
def get_merge_data
  commit_subject = merge_commit_subject || ''
  if data = commit_subject.match(/Merge branch '(.*)' into '(.*)'/)
    return {
      source: data[1],
      target: data[2]
    }
  elsif data = commit_subject.match(/Merge branch '(.*)' of (.*)/)
    return {
      source: "#{data[2]}/#{data[1]}",
      target: data[1]
    }
  end
  {
    source: 'unknown',
    target: 'unknown'
  }
end
merge_commit_subject() click to toggle source
# File lib/robopigeon/git/helper_dsl.rb, line 49
def merge_commit_subject
  `git log -1 --merges --pretty=format:'%s'`
end