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 "    This command does such and such.\n\n    Supported options are:\n      -h         This message\n      ...\n  USAGE\nend\n".strip_heredoc

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