Sha256: 660625d9371584019d4b942953d692ead3309446d3b756173b1e428826c636a7

Contents?: true

Size: 1.69 KB

Versions: 3

Compression:

Stored size: 1.69 KB

Contents

require_relative '../puppet-check'

# class to handle outputting diagnostic results in desired format
class OutputResults
  # output the results as text
  def self.text
    unless PuppetCheck.error_files.empty?
      print "\033[31mThe following files have errors:\033[0m\n-- "
      puts PuppetCheck.error_files.join("\n\n-- ")
    end
    unless PuppetCheck.warning_files.empty?
      print "\n\033[33mThe following files have warnings:\033[0m\n-- "
      puts PuppetCheck.warning_files.join("\n\n-- ")
    end
    unless PuppetCheck.clean_files.empty?
      print "\n\033[32mThe following files have no errors or warnings:\033[0m\n-- "
      puts PuppetCheck.clean_files.join("\n-- ")
    end
    return if PuppetCheck.ignored_files.empty?
    print "\n\033[36mThe following files have unrecognized formats and therefore were not processed:\033[0m\n-- "
    puts PuppetCheck.ignored_files.join("\n-- ")
  end

  # output the results as yaml or json
  def self.markup
    # generate output hash
    hash = {}
    hash['errors'] = PuppetCheck.error_files unless PuppetCheck.error_files.empty?
    hash['warnings'] = PuppetCheck.warning_files unless PuppetCheck.warning_files.empty?
    hash['clean'] = PuppetCheck.clean_files unless PuppetCheck.clean_files.empty?
    hash['ignored'] = PuppetCheck.ignored_files unless PuppetCheck.ignored_files.empty?

    # convert hash to markup language
    if PuppetCheck.output_format == 'yaml'
      require 'yaml'
      puts Psych.dump(hash, indentation: 2)
    elsif PuppetCheck.output_format == 'json'
      require 'json'
      puts JSON.pretty_generate(hash)
    else
      raise "puppet-check: Unsupported output format '#{PuppetCheck.output_format}' was specified."
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
puppet-check-1.4.0 lib/puppet-check/output_results.rb
puppet-check-1.3.2 lib/puppet-check/output_results.rb
puppet-check-1.3.1 lib/puppet-check/output_results.rb