Class: Houki::Executors::Directory

Inherits:
Object
  • Object
show all
Defined in:
lib/houki/executors/directory.rb

Constant Summary collapse

EXCLUDED_DIRS =
['.', '..']

Class Method Summary collapse

Class Method Details

.run(directories, need_agree: true) ⇒ Object



9
10
11
12
13
14
15
16
17
18
19
20
21
# File 'lib/houki/executors/directory.rb', line 9

def self.run(directories, need_agree: true)
  table = Terminal::Table.new(title: 'Directories', rows: directories.combination(1).to_a)
  $stdout.puts table

  return if need_agree && !agree('Are you sure you want to delete directories? ')

  directories.each do |directory|
    root_dirs = Dir.entries(directory).reject { |f| EXCLUDED_DIRS.include?(f) }
    FileUtils.rm_r(root_dirs.collect { |f| File.join(directory, f) })
  end

  $stdout.puts 'Removed the files under the directories'
end