Method: StringExt.word_wrap
- Defined in:
- lib/vex/base/string/string_ext.rb
.word_wrap(line, line_len) ⇒ Object
81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 |
# File 'lib/vex/base/string/string_ext.rb', line 81 def self.word_wrap(line, line_len) r = [] while line.length > line_len # find last space in the first line_len characters. Failing that we # take the *first* (sic!) space in the entire line. firstline = line[0..line_len] space_idx = firstline.rindex(/\s/) || line.index(/\s/, line_len) if !space_idx r << line line = "" else r << line[0...space_idx] line = line[space_idx+1..-1] end end r << line unless line.blank? r.join("\n") end |