class Bundler::Thor::Shell::WrappedPrinter
Public Instance Methods
print(message)
click to toggle source
# File bundler/vendor/thor/lib/thor/shell/wrapped_printer.rb, line 7 def print(message) width = Terminal.terminal_width - @indent paras = message.split("\n\n") paras.map! do |unwrapped| words = unwrapped.split(" ") counter = words.first.length words.inject do |memo, word| word = word.gsub(/\n\005/, "\n").gsub(/\005/, "\n") counter = 0 if word.include? "\n" if (counter + word.length + 1) < width memo = "#{memo} #{word}" counter += (word.length + 1) else memo = "#{memo}\n#{word}" counter = word.length end memo end end.compact! paras.each do |para| para.split("\n").each do |line| stdout.puts line.insert(0, " " * @indent) end stdout.puts unless para == paras.last end end