class WordWrap

file: wordwrap.rb

Attributes

to_s[R]

Public Class Methods

new(s, cols=80) click to toggle source
# File lib/wordwrap.rb, line 10
def initialize(s, cols=80)

  a = s.split(/ /).inject(['']) do |r,word|

    word.lines.each.with_index do |x,i|

      if ((r[-1] + x).length < cols) or x[/[=]/] then
        r[-1] << (r[-1].empty? ? x : ' ' + x)
      else
        r +=  [x]
      end
      r[-1] = r[-1].chomp ; r += [''] if x[-1] == "\n"

    end

    r

  end

  @a = a
  @to_s = a.join("\n")

end

Public Instance Methods

each_line(&blk) click to toggle source
# File lib/wordwrap.rb, line 34
def each_line(&blk)
  @a.each(&blk)
end
to_a() click to toggle source
# File lib/wordwrap.rb, line 38
def to_a()
  @a
end