Sha256: c8a7f088cb5528fad4da0053d6e11ad7b09693a298ba6a1d5d982274db1709e4

Contents?: true

Size: 1.82 KB

Versions: 6

Compression:

Stored size: 1.82 KB

Contents

# frozen_string_literal: true
require_relative 'puppet-debugger/cli'
require_relative 'version'
require 'awesome_print'
require_relative 'awesome_print/ext/awesome_puppet'
require_relative 'trollop'
require 'puppet/util/log'
require_relative 'puppet-debugger/debugger_code'

require_relative 'puppet-debugger/support/errors'
# monkey patch in some color effects string methods
class String
  def red
    "\033[31m#{self}\033[0m"
  end

  def green
    "\033[32m#{self}\033[0m"
  end

  def cyan
    "\033[36m#{self}\033[0m"
  end

  def yellow
    "\033[33m#{self}\033[0m"
  end

  def warning
    yellow
  end

  def fatal
    red
  end

  def info
    green
  end

  def camel_case
    return self if self !~ /_/ && self =~ /[A-Z]+.*/
    split('_').map(&:capitalize).join
  end
end

Puppet::Util::Log.newdesttype :buffer do
  require 'puppet/util/colors'
  include Puppet::Util::Colors

  attr_accessor :err_buffer, :out_buffer

  def initialize(err = $stderr, out = $stdout)
    @err_buffer = err
    @out_buffer = out
  end

  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
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
puppet-debugger-0.6.1 lib/puppet-debugger.rb
puppet-debugger-0.6.0 lib/puppet-debugger.rb
puppet-debugger-0.5.1 lib/puppet-debugger.rb
puppet-debugger-0.4.4 lib/puppet-debugger.rb
puppet-debugger-0.4.3 lib/puppet-debugger.rb
puppet-debugger-0.4.2 lib/puppet-debugger.rb