Class: String

Inherits:
Object
  • Object
show all
Defined in:
lib/aruba/extensions/string/strip.rb

Overview

String

Instance Method Summary collapse

Instance Method Details

#strip_heredocObject

Strips indentation in heredocs.

For example in

if options[:usage] puts <<-USAGE.strip_heredoc This command does such and such.

  Supported options are:
    -h         This message
    ...
USAGE

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.



21
22
23
24
# File 'lib/aruba/extensions/string/strip.rb', line 21

def strip_heredoc
  indent = scan(/^[ \t]*(?=\S)/).min.to_s.size
  gsub(/^[ \t]{#{indent}}/, '')
end