Sha256: 0614590ed532b6f1277234fd07d19f8ab4c30baa5c2c18a674776358a4f86ae2
Contents?: true
Size: 859 Bytes
Versions: 1
Compression:
Stored size: 859 Bytes
Contents
require 'nkf' module ReVIEW module TextUtils def detab(str, ts = 8) add = 0 len = nil str.gsub("\t") do len = ts - ($`.size + add) % ts add += len - 1 ' ' * len end end def split_paragraph(lines) pre = pre_paragraph post = post_paragraph trimmed_lines = trim_lines(lines) blocked_lines = [[]] trimmed_lines.each do |element| if element.empty? blocked_lines << [] if blocked_lines.last != [] else blocked_lines.last << element end end blocked_lines.map! { |i| [pre] + i + [post] } if pre && post blocked_lines.map(&:join) end private def trim_lines(lines) new_lines = lines.dup new_lines.pop while new_lines[-1] && new_lines[-1].strip.empty? new_lines end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
review-2.5.0 | lib/review/textutils.rb |