chore: refactor how temporary files are created (in tests)
... by consistently using File::write instead of Kernel#open.
At the moment, most temporary files (in tests) are written using Kernel#open even though sometimes File::write is already being used; this PR refactors all tests to consistently use File::write.
It's possibly a matter of style/preference/opinion, but this also makes things slightly more readable and slightly less convoluted; either way, I think File.write is a tad more "intention revealing" than Kernel#open as well: we are "writing a (Rake-)file" as opposed to "opening a file for writing" ... small but subtle difference. :sweat_smile:
In addition, the content of temporary files is refactored to consistently use heredocs, instead of a (quite random) mix of heredocs and IO#<< ... double win! :smiley:
PS - so as to not introduce any different behaviour, and to keep things functionally identical, I introduced a couple of newline characters ("\n") even though these appear to be immaterial (the tests run green with and without them) so I'm happy to take them out again.