Module: ReVIEW::TextUtils

Instance Method Summary collapse

Instance Method Details

#detab(str, ts = 8) ⇒ Object



6
7
8
9
10
11
12
13
14
# File 'lib/review/textutils.rb', line 6

def detab(str, ts = 8)
  add = 0
  len = nil
  str.gsub(/\t/) {
    len = ts - ($`.size + add) % ts
    add += len - 1
    ' ' * len
  }
end

#split_paragraph(lines) ⇒ Object



16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
# File 'lib/review/textutils.rb', line 16

def split_paragraph(lines)
  pre = pre_paragraph
  post = post_paragraph

  blocked_lines = [[]]
  lines.each {|element|
    if element == ""
      if blocked_lines.last != []
        blocked_lines << []
      end
    else
      blocked_lines.last << element
    end
  }

  if !pre.nil? and !post.nil?
    blocked_lines.map!{|i| [pre] + i + [post] }
  end

  blocked_lines.map{|l| l.join("")}
end