Class: TestFileHandler

Inherits:
Object
  • Object
show all
Defined in:
lib/file_retriever/FileRetriever/spec/TestFileHandler.rb

Instance Method Summary collapse

Constructor Details

#initializeTestFileHandler

Returns a new instance of TestFileHandler.



6
7
8
# File 'lib/file_retriever/FileRetriever/spec/TestFileHandler.rb', line 6

def initialize
  @skip_reg = set_up_skip_delete_reg
end

Instance Method Details

#force_rm_rf(path, is_serious = false) ⇒ Object



21
22
23
24
25
26
27
# 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) ⇒ Object



74
75
76
77
# 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) ⇒ Object



10
11
12
13
14
15
16
17
18
19
# 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) ⇒ Object



79
80
81
82
# 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_dirsObject



30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
# File 'lib/file_retriever/FileRetriever/spec/TestFileHandler.rb', line 30

def set_up_skip_delete_dirs
  "  Applications\n  etc\n  Library\n  home\n  Network\n  System\n  net\n  Users\n  private\n  Volumes\n  sbin\n  bin\n  tmp\n  usr\n  EOS\nend\n"

#set_up_skip_delete_listObject



49
50
51
52
53
54
# 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_regObject



56
57
58
59
60
61
62
63
64
# 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) ⇒ Boolean

Returns:

  • (Boolean)


67
68
69
70
71
72
# 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