Class: String

Inherits:
Object
  • Object
show all
Defined in:
lib/activerecord-update/core_ext/string/strip.rb

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 non-empty line in the whole string, and removes that amount of leading whitespace.



20
21
22
# File 'lib/activerecord-update/core_ext/string/strip.rb', line 20

def strip_heredoc
  gsub(/^#{scan(/^[ \t]*(?=\S)/).min}/, "".freeze)
end