class OutputResults

class to handle outputting diagnostic results in desired format

Public Class Methods

markup(settings) click to toggle source

output the results as yaml or json

# File lib/puppet-check/output_results.rb, line 25
def self.markup(settings)
  # generate output hash
  hash = {}
  hash['errors'] = PuppetCheck.settings[:error_files] unless PuppetCheck.settings[:error_files].empty?
  hash['warnings'] = PuppetCheck.settings[:warning_files] unless PuppetCheck.settings[:warning_files].empty?
  hash['clean'] = PuppetCheck.settings[:clean_files] unless PuppetCheck.settings[:clean_files].empty?
  hash['ignored'] = PuppetCheck.settings[:ignored_files] unless PuppetCheck.settings[:ignored_files].empty?

  # convert hash to markup language
  case settings[:output_format]
  when 'yaml'
    require 'yaml'
    puts Psych.dump(hash, indentation: 2)
  when 'json'
    require 'json'
    puts JSON.pretty_generate(hash)
  else
    raise "puppet-check: Unsupported output format '#{settings[:output_format]}' was specified."
  end
end
text() click to toggle source

output the results as text

# File lib/puppet-check/output_results.rb, line 6
def self.text
  unless PuppetCheck.settings[:error_files].empty?
    print "\033[31mThe following files have errors:\033[0m\n-- "
    puts PuppetCheck.settings[:error_files].join("\n\n-- ")
  end
  unless PuppetCheck.settings[:warning_files].empty?
    print "\n\033[33mThe following files have warnings:\033[0m\n-- "
    puts PuppetCheck.settings[:warning_files].join("\n\n-- ")
  end
  unless PuppetCheck.settings[:clean_files].empty?
    print "\n\033[32mThe following files have no errors or warnings:\033[0m\n-- "
    puts PuppetCheck.settings[:clean_files].join("\n-- ")
  end
  return if PuppetCheck.settings[:ignored_files].empty?
  print "\n\033[36mThe following files have unrecognized formats and therefore were not processed:\033[0m\n-- "
  puts PuppetCheck.settings[:ignored_files].join("\n-- ")
end