class JIRADiff::Git
Public Class Methods
new(dir = '.')
click to toggle source
# File lib/jira_diff/git.rb, line 6 def initialize(dir = '.') raise StandardError, "Directory '#{dir}' is not valid" unless Dir.exist?(dir) raise RuntimeError, "Doesn't look like '#{dir}' is a Git repository" unless Dir.exist?(File.join(dir, '.git')) @working_dir = dir end
Public Instance Methods
branch_valid?(branch)
click to toggle source
# File lib/jira_diff/git.rb, line 18 def branch_valid?(branch) run_command("\\git branch --list #{branch}")[0] =~ /#{branch}/ end
log(branch)
click to toggle source
# File lib/jira_diff/git.rb, line 13 def log(branch) raise RuntimeError, "Invalid branch: #{branch}" unless branch_valid? branch run_command("\\git --no-pager log --no-merges --pretty='%H|%s' #{branch}") end
Private Instance Methods
run_command(cmd)
click to toggle source
# File lib/jira_diff/git.rb, line 24 def run_command(cmd) Open3.popen3(cmd, chdir: @working_dir) do |i, o, e, t| o.read.split("\n") end end