# class Formatter

### Public Class Methods

new(width) click to toggle source

    # File lib/puppet/application/describe.rb, line 5
    def initialize(width)
      @width = width
    end

### Public Instance Methods

header(txt, sep = "-") click to toggle source

    # File lib/puppet/application/describe.rb, line 31
    def header(txt, sep = "-")
      "\n#{txt}\n" + sep * txt.size
    end

wrap(txt, opts) click to toggle source

    # File lib/puppet/application/describe.rb, line 9
    def wrap(txt, opts)
      return "" unless txt && !txt.empty?
      work = (opts[:scrub] ? scrub(txt) : txt)
      indent = (opts[:indent] ? opts[:indent] : 0)
      textLen = @width - indent
      patt = Regexp.new("^(.{0,#{textLen}})[ \n]")
      prefix = " " * indent

      res = []

      while work.length > textLen
        if work =~ patt
          res << $1
          work.slice!(0, $MATCH.length)
        else
          res << work.slice!(0, textLen)
        end
      end
      res << work if work.length.nonzero?
      prefix + res.join("\n#{prefix}")
    end