class Object

Public Class Methods

new(err = $stderr, out = $stdout) click to toggle source
# File lib/puppet-debugger.rb, line 20
def initialize(err = $stderr, out = $stdout)
  @err_buffer = err
  @out_buffer = out
end

Public Instance Methods

handle(msg) click to toggle source
# File lib/puppet-debugger.rb, line 25
def handle(msg)
  levels = {
    emerg: { name: 'Emergency', color: :hred,  stream: err_buffer },
    alert: { name: 'Alert',     color: :hred,  stream: err_buffer },
    crit: { name: 'Critical', color: :hred, stream: err_buffer },
    err: { name: 'Error', color: :hred, stream: err_buffer },
    warning: { name: 'Warning', color: :hred, stream: err_buffer },
    notice: { name: 'Notice', color: :reset, stream: out_buffer },
    info: { name: 'Info', color: :green, stream: out_buffer },
    debug: { name: 'Debug', color: :cyan, stream: out_buffer }
  }

  str = msg.respond_to?(:multiline) ? msg.multiline : msg.to_s
  str = msg.source == 'Puppet' ? str : "#{msg.source}: #{str}"

  level = levels[msg.level]
  level[:stream].puts colorize(level[:color], "#{level[:name]}: #{str}")
end