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::writeinstead ofKernel#open.At the moment, most temporary files (in tests) are written using
Kernel#openeven though sometimesFile::writeis 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.writeis a tad more "intention revealing" thanKernel#openas 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.