Method: FileUtils2#rmdir

Defined in:
lib/fileutils2.rb

#rmdir(list, options = {}) ⇒ Object

Options: noop, verbose

Removes one or more directories.

FileUtils.rmdir 'somedir'
FileUtils.rmdir %w(somedir anydir otherdir)
# Does not really remove directory; outputs message.
FileUtils.rmdir 'somedir', :verbose => true, :noop => true


352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
# File 'lib/fileutils2.rb', line 352

def rmdir(list, options = {})
  fu_check_options options, OPT_TABLE['rmdir']
  list = fu_list(list)
  parents = options[:parents]
  fu_output_message "rmdir #{parents ? '-p ' : ''}#{list.join ' '}" if options[:verbose]
  return if options[:noop]
  list.each do |dir|
    begin
      Dir.rmdir(dir = dir.chomp(?/))
      if parents
        until (parent = File.dirname(dir)) == '.' or parent == dir
          Dir.rmdir(dir)
        end
      end
    rescue Errno::ENOTEMPTY, Errno::ENOENT
    end
  end
end