there is still a trailing blank line without the gsub because the heredoc adds a newline and the `violations_in` adds another trailing line.