Sha256: 3d78e220ea708c536cb44df63703b9dc1e2b1de18c68d9511844fd9e512dfdd4
Contents?: true
Size: 667 Bytes
Versions: 44
Compression:
Stored size: 667 Bytes
Contents
module Ramaze module CoreExtensions # Extensions for String module String # Useful for writing indented String and unindent on demand, based on the # first line with indentation. def unindent find_indent = proc{ |l| l.find{|l| !l.strip.empty?}.to_s[/^(\s+)/, 1] } lines = self.split("\n") space = find_indent[lines] space = find_indent[lines.reverse] unless space strip.gsub(/^#{space}/, '') end alias ui unindent # Destructive variant of undindent, replacing the String def unindent! self.replace unindent end alias ui! unindent! end end end
Version data entries
44 entries across 44 versions & 5 rubygems