class Object

Public Class Methods

new(err=$stderr, out=$stdout) click to toggle source
# File lib/puppet-repl.rb, line 32
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-repl.rb, line 37
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