chore: refactor how temporary files are created (in tests) #590
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
... by consistently using
File::write
instead ofKernel#open
.At the moment, most temporary files (in tests) are written using
Kernel#open
even though sometimesFile::write
is already being used; this PR refactors all tests to consistently useFile::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" thanKernel#open
as well: we are "writing a (Rake-)file" as opposed to "opening a file for writing" ... small but subtle difference. 😅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! 😃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.