class String

String

Public Instance Methods

strip_heredoc() click to toggle source

Strips indentation in heredocs.

For example in

if options[:usage]
  puts "    This command does such and such.

    Supported options are:
      -h         This message
      ...
".strip_heredoc
end

the user would see the usage message aligned against the left margin.

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

# File lib/aruba/extensions/string/strip.rb, line 21
def strip_heredoc
  indent = scan(/^[ \t]*(?=\S)/).min.to_s.size
  gsub(/^[ \t]{#{indent}}/, '')
end