Module: DTC::Utils::Text

Defined in:
lib/dtc/utils/text.rb,
lib/dtc/utils/text/ansi.rb,
lib/dtc/utils/text/html.rb,
lib/dtc/utils/text/line_writer.rb

Defined Under Namespace

Modules: ANSI, HTML Classes: LineWriter

Class Method Summary collapse

Class Method Details

.lines(str) ⇒ Object



5
6
7
# File 'lib/dtc/utils/text.rb', line 5

def self.lines str
  str.split(/\r?\n/).to_a
end

.lines_without_indent(lines) ⇒ Object

Remove common space-only indent to all non-empty lines



9
10
11
12
13
14
15
16
# File 'lib/dtc/utils/text.rb', line 9

def self.lines_without_indent lines
  lines = self.lines(lines) unless lines.is_a?(Array)
  lines.shift if lines.first.empty?
  min_spaces = lines.map { |l|
    l == "" ? nil : (l =~ /^( +)/ ? $1.length : 0)
  }.select{ |e| e }.min || 0
  lines.map { |l| (min_spaces == 0 ? l : l[min_spaces..-1]) || "" }
end