class Thor::Shell::Basic
Public Instance Methods
print_wrapped(message, options = {})
click to toggle source
# File lib/hodor/cli.rb, line 122 def print_wrapped(message, options = {}) indent = options[:indent] || 0 width = terminal_width - indent - 5 paras = message.split("\n\n") paras.map! do |unwrapped| unwrapped.strip.gsub(/\n([^\s\-\005])/, ' \1').gsub(/.{1,#{width}}(?:\s|\Z)/) { ($& + 5.chr).gsub(/\n\005/, "\n").gsub(/\005/, "\n") } end 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