Read more

Ruby: Removing leading whitespace from HEREDOCs

Henning Koch
March 19, 2015Software engineer at makandra GmbH

If you're on Ruby 2.3+ there's a <<~ operator to automatically unindent HEREDOCs:

str = <<~MESSAGE
  Hello Universe!
  This is me.
             Bye!
MESSAGE
Illustration online protection

Rails Long Term Support

Rails LTS provides security patches for old versions of Ruby on Rails (2.3, 3.2, 4.2 and 5.2)

  • Prevents you from data breaches and liability risks
  • Upgrade at your own pace
  • Works with modern Rubies
Read more Show archive.org snapshot

If you have an older Ruby, you can use the String#strip_heredoc Show archive.org snapshot method from ActiveSupport. See Summarizing heredoc in ruby and rails for an example.

Technically, it looks for the least indented line in the whole string, and removes that amount of leading whitespace.

Posted by Henning Koch to makandra dev (2015-03-19 08:40)