class FlashFlow::ShadowGit

Constants

FLASH_FLOW_BASE

Public Class Methods

new(config, logger=nil) click to toggle source
Calls superclass method FlashFlow::Git::new
# File lib/flash_flow/shadow_repo.rb, line 8
def initialize(config, logger=nil)
  super

  create_shadow_repo
  @cmd_runner.dir = flash_flow_dir

  run("clean -x -f")
  run("fetch #{remote}")
  run("remote prune #{remote}")
  run("reset --hard HEAD")
end

Public Instance Methods

create_shadow_repo() click to toggle source
# File lib/flash_flow/shadow_repo.rb, line 20
def create_shadow_repo
  unless Dir.exists?(flash_flow_dir)
    @cmd_runner.run("mkdir -p #{flash_flow_dir}")
    @cmd_runner.run("cp -R #{current_dir} #{flash_flow_base_dir}")
  end
end
current_dir() click to toggle source
# File lib/flash_flow/shadow_repo.rb, line 36
def current_dir
  Dir.getwd
end
flash_flow_base_dir() click to toggle source
# File lib/flash_flow/shadow_repo.rb, line 28
def flash_flow_base_dir
  if current_dir =~ /\.flash_flow/
    "#{current_dir.split(FLASH_FLOW_BASE).first}#{FLASH_FLOW_BASE}"
  else
    "#{current_dir}/../#{FLASH_FLOW_BASE}"
  end
end
flash_flow_dir() click to toggle source
# File lib/flash_flow/shadow_repo.rb, line 40
def flash_flow_dir
  @flash_flow_dir ||= flash_flow_base_dir + "/#{File.basename(current_dir)}"
end