How to delete all contents of a folder with Ruby-Rails?

You can run arbitrary commands using backticks like so:

`rm -fr public/cache/*`

This may be more platform-dependent than what you want, but it opens up a lot of possibilities.


Great answers here already. You might also be interested to know that Rails 5 has a rake task to do this built-in:

rake tmp:cache:clear # Clear cache files from tmp/

Ruby has the *nix rm -rf equivalent in the FileUtils module that you can use to delete both files and non-empty folders/directories:

FileUtils.rm_rf('dir/to/remove')

To keep the directory itself and only remove its contents:

FileUtils.rm_rf(Dir.glob('dir/to/remove/*'))

FileUtils.rm_rf(Dir['dir/to/remove/*'])      # shorter version of above