Sha256: 03399edc71daaff066c27ce286895a94a57899b49473f7dae3abdd5f44e3327d

Contents?: true

Size: 1.95 KB

Versions: 15

Compression:

Stored size: 1.95 KB

Contents

# frozen_string_literal: true

require 'puppet-debugger/cli'
require 'puppet-debugger/version'
require 'awesome_print'
require 'awesome_print/ext/awesome_puppet'
require 'puppet-debugger/trollop'
require 'puppet/util/log'
require 'puppet-debugger/debugger_code'
require 'puppet-debugger/support/errors'
require 'plugins/puppet-debugger/input_responders/commands'


# monkey patch in some color effects string methods
class String
  def red
    "\033[31m#{self}\033[0m"
  end

  def bold
    "\033[1m#{self}\033[22m"
  end

  def black
    "\033[30m#{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

15 entries across 15 versions & 1 rubygems

Version Path
puppet-debugger-0.16.0 lib/puppet-debugger.rb
puppet-debugger-0.15.2 lib/puppet-debugger.rb
puppet-debugger-0.15.1 lib/puppet-debugger.rb
puppet-debugger-0.15.0 lib/puppet-debugger.rb
puppet-debugger-0.14.0 lib/puppet-debugger.rb
puppet-debugger-0.13.0 lib/puppet-debugger.rb
puppet-debugger-0.12.3 lib/puppet-debugger.rb
puppet-debugger-0.12.2 lib/puppet-debugger.rb
puppet-debugger-0.12.1 lib/puppet-debugger.rb
puppet-debugger-0.12.0 lib/puppet-debugger.rb
puppet-debugger-0.11.0 lib/puppet-debugger.rb
puppet-debugger-0.10.3 lib/puppet-debugger.rb
puppet-debugger-0.10.2 lib/puppet-debugger.rb
puppet-debugger-0.10.1 lib/puppet-debugger.rb
puppet-debugger-0.10.0 lib/puppet-debugger.rb