class FightClub::Git
Attributes
directory[R]
logger[R]
repo_name[R]
Public Class Methods
new(directory, repo_name, logger = Logger.new(STDOUT))
click to toggle source
# File lib/fight_club/git.rb, line 3 def initialize(directory, repo_name, logger = Logger.new(STDOUT)) @logger = logger @directory = directory @repo_name = repo_name end
Public Instance Methods
checkout(target)
click to toggle source
# File lib/fight_club/git.rb, line 13 def checkout(target) run("#{base_command} checkout #{target}") end
clone(target)
click to toggle source
# File lib/fight_club/git.rb, line 9 def clone(target) run("git clone #{target} #{directory}/#{repo_name}") end
fetch()
click to toggle source
# File lib/fight_club/git.rb, line 29 def fetch run("#{base_command} fetch") end
merge(target)
click to toggle source
# File lib/fight_club/git.rb, line 21 def merge(target) run("#{base_command} merge -m 'merge' #{target}") end
merge_abort()
click to toggle source
# File lib/fight_club/git.rb, line 25 def merge_abort run("#{base_command} merge --abort") end
reset_hard(target)
click to toggle source
# File lib/fight_club/git.rb, line 17 def reset_hard(target) run("#{base_command} reset --hard #{target}") end
Private Instance Methods
base_command()
click to toggle source
# File lib/fight_club/git.rb, line 43 def base_command "git '--git-dir=#{directory}/#{repo_name}/.git' '--work-tree=#{directory}/#{repo_name}'" end
run(command)
click to toggle source
# File lib/fight_club/git.rb, line 37 def run(command) logger.info("Git executing: #{command}") `#{command}` end