Method: String#fold
- Defined in:
- lib/wavefront-cli/stdlib/string.rb
#fold(twidth = TW, indent = 10, prefix = '') ⇒ String
Fold long lines with a hanging indent. Originally a special case for option folding, now addded the prefix parameter to make it more general. Don’t line-break default values, because it also breaks docopt.
37 38 39 40 41 42 43 44 45 46 47 |
# File 'lib/wavefront-cli/stdlib/string.rb', line 37 def fold(twidth = TW, indent = 10, prefix = '') chunks = gsub('default: ', 'default:^').scan_line(twidth - 8) first_line = format("%<padding>s%<text>s\n", padding: prefix, text: chunks.shift) return first_line.restored if chunks.empty? rest = indent_folded_lines(chunks, twidth, indent, prefix) (first_line + rest.join("\n")).restored end |