class TestFileHandler

Public Class Methods

new() click to toggle source
# File lib/file_retriever/FileRetriever/spec/TestFileHandler.rb, line 6
def initialize
  @skip_reg = set_up_skip_delete_reg
end

Public Instance Methods

force_rm_rf(path,is_serious=false) click to toggle source
# File lib/file_retriever/FileRetriever/spec/TestFileHandler.rb, line 21
def force_rm_rf(path,is_serious=false)
  return unless File.exist?(path) 
  if skip_delete_path?(path)
    raise Errors::DangerousPathError.new(path)
  end
  FileUtils.rm_rf(path) if is_serious
end
make_dir(path) click to toggle source
# File lib/file_retriever/FileRetriever/spec/TestFileHandler.rb, line 74
def make_dir(path)
  return if File.exist?(path)
  FileUtils.mkdir_p(path)
end
make_test_dir(dir_size,base_dir_name) click to toggle source
# File lib/file_retriever/FileRetriever/spec/TestFileHandler.rb, line 10
def make_test_dir(dir_size,base_dir_name)
  dir_size.times do |i|
    path = "#{base_dir_name}/inner_test/inner_dir#{i}"
    dir_size.times do |n|
      path += "/test_dir_name#{n}"
      make_dir(path)
      make_text(path + "/test.txt")
    end
  end
end
make_text(path) click to toggle source
# File lib/file_retriever/FileRetriever/spec/TestFileHandler.rb, line 79
def make_text(path)
  return if File.exist?(path)
  FileUtils.touch(path)
end
set_up_skip_delete_dirs() click to toggle source
# File lib/file_retriever/FileRetriever/spec/TestFileHandler.rb, line 30
  def set_up_skip_delete_dirs
    <<-EOS
    Applications
    etc
    Library
    home
    Network
    System
    net
    Users
    private
    Volumes
    sbin
    bin
    tmp
    usr
    EOS
  end
set_up_skip_delete_list() click to toggle source
# File lib/file_retriever/FileRetriever/spec/TestFileHandler.rb, line 49
def set_up_skip_delete_list
  set_up_skip_delete_dirs
    .split_and_strip
    .map {|s| "/" << s}
    .concat([".","/","./","../"])
end
set_up_skip_delete_reg() click to toggle source
# File lib/file_retriever/FileRetriever/spec/TestFileHandler.rb, line 56
def set_up_skip_delete_reg
    str = '^(\\/+('
    str << set_up_skip_delete_dirs
      .split_and_strip
      .join('|')
    str << ')?\\/?'
    str << '|\\.+\\/?'
    str << ')$'
end
skip_delete_path?(path) click to toggle source
# File lib/file_retriever/FileRetriever/spec/TestFileHandler.rb, line 67
def skip_delete_path?(path)
  if path.match(@skip_reg)
    return true
  end
  return false
end