module Backto

Constants

VERSION

Public Instance Methods

run(config) click to toggle source
# File lib/backto.rb, line 10
def run(config)
  config = Config.create(config)
  link_options = {verbose: config[:verbose], force: config[:force]}
  scanner = Scanner.new(config[:from], config[:exclude_patterns], config[:link_directory])
  scanner.each do |path, is_recursive|
    target = path.chdir(config[:to])
    if path.directory? && is_recursive
      path.mkdirs target, verbose: config[:verbose]
    elsif config[:hardlink] && ! path.directory?
      path.hardlink target, link_options
    else
      path.softlink target, link_options
    end
  end
end