module Homesick::Actions::FileActions

File-related helper methods for Homesick

Public Instance Methods

ln_s(source, destination) click to toggle source
# File lib/homesick/actions/file_actions.rb, line 43
def ln_s(source, destination)
  source = Pathname.new(source).realpath        
  destination = Pathname.new(destination)
  FileUtils.mkdir_p destination.dirname

  action = if destination.symlink? && destination.readlink == source
             :identical
           elsif destination.symlink?
             :symlink_conflict
           elsif destination.exist?
             :conflict
           else
             :success
           end

  handle_symlink_action action, source, destination
end
mv(source, destination) click to toggle source
# File lib/homesick/actions/file_actions.rb, line 5
def mv(source, destination)
  source = Pathname.new(source)
  destination = Pathname.new(destination + source.basename)
  case
  when destination.exist? && (options[:force] || shell.file_collision(destination) { source })
    say_status :conflict, "#{destination} exists", :red
    FileUtils.mv source, destination unless options[:pretend]
  else
    FileUtils.mv source, destination unless options[:pretend]
  end
end
rm(file) click to toggle source
# File lib/homesick/actions/file_actions.rb, line 33
def rm(file)
  say_status "rm #{file}", '', :green
  FileUtils.rm file, force: true
end
rm_r(dir) click to toggle source
# File lib/homesick/actions/file_actions.rb, line 38
def rm_r(dir)
  say_status "rm -r #{dir}", '', :green
  FileUtils.rm_r dir
end
rm_rf(dir) click to toggle source
# File lib/homesick/actions/file_actions.rb, line 17
def rm_rf(dir)
  say_status "rm -rf #{dir}", '', :green
  FileUtils.rm_r dir, force: true
end