class Metafrazo::GitDiffGenerator
Public Class Methods
new(git)
click to toggle source
# File lib/metafrazo/git_diff_generator.rb, line 5 def initialize(git) @git = git @root_dir = Dir.pwd end
Public Instance Methods
generate()
click to toggle source
# File lib/metafrazo/git_diff_generator.rb, line 10 def generate init_git unless git_init? diff = get_diff Dir.chdir(@root_dir) diff end
Private Instance Methods
get_diff()
click to toggle source
# File lib/metafrazo/git_diff_generator.rb, line 19 def get_diff Dir.chdir(local_repo_dir) `git fetch` "#{`git diff --name-only origin/#{@git.master_branch}...#{@git.sha}`}".split("\n") end
git_init?()
click to toggle source
# File lib/metafrazo/git_diff_generator.rb, line 32 def git_init? Dir.exist?(local_repo_dir) end
init_git()
click to toggle source
# File lib/metafrazo/git_diff_generator.rb, line 25 def init_git FileUtils.mkdir_p(local_repo_dir) Dir.chdir(local_repo_dir) `git init` `git remote add origin #{@git.remote_origin}` end
local_repo_dir()
click to toggle source
# File lib/metafrazo/git_diff_generator.rb, line 36 def local_repo_dir "#{@root_dir}/git/#{@git.repo_name}" end