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