Consistent output error

I would like to make the output produced by various linters like coffeelint, rubocop and other more consistent to improve readability. 
Is this any cleaner? This method has a lot of smarts.

```ruby
def to_s
  return message.to_s if empty?(file)

  result = [message, file].select      { |s| !empty?(s) }.join("\n")
  result = [result, line, code].select { |s| !empty?(s) }.join(":")
end
```