Method: Dir.rm_rf

Defined in:
lib/rwd/ftools.rb

.rm_rf(entry) ⇒ Object



30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
# File 'lib/rwd/ftools.rb', line 30

def self.rm_rf(entry)
  File.chmod(0755, entry)

  if File.ftype(entry) == "directory"
    pdir  = Dir.pwd

    Dir.chdir(entry)
      Dir.new(".").each do |e|
        Dir.rm_rf(e)  if not [".", ".."].include?(e)
      end
    Dir.chdir(pdir)

    begin
      Dir.delete(entry)
    rescue => e
      $stderr.puts e.message
    end
  else
    begin
      File.delete(entry)
    rescue => e
      $stderr.puts e.message
    end
  end
end