Class: String
- Inherits:
-
Object
- Object
- String
- Defined in:
- lib/activerecord-update/core_ext/string/strip.rb
Instance Method Summary collapse
-
#strip_heredoc ⇒ Object
Strips indentation in heredocs.
Instance Method Details
#strip_heredoc ⇒ Object
Strips indentation in heredocs.
For example in
if [: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 |