Bypass the shell when running commands from Rake
In Ruby, when you run a command like this:
system("foo bar > baz")
What actually happens is that ruby runs:
sh -c 'foo bar > baz'
While this is easy to write it can lead to all sorts of trouble with quoting. When you run your command like this:
system('foo', 'bar', out: 'baz')
You bypass the shell. This is more reliable. Also see: