Class: String
- Inherits:
-
Object
- Object
- String
- Defined in:
- lib/string/strip.rb
Overview
Borrowed from activesupport, but without the :try method
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 " 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 line in the whole string, and removes that amount of leading whitespace.
22 23 24 25 26 |
# File 'lib/string/strip.rb', line 22 def strip_heredoc matches = scan(/^[ \t]*(?=\S)/).min indent = (matches.respond_to? :size) ? matches.size : 0 gsub(/^[ \t]{#{indent}}/, '') end |