Puppet Function: complyadm::checks::format_summary
- Defined in:
- lib/puppet/functions/complyadm/checks/format_summary.rb
- Function type:
- Ruby 4.x API
Overview
Creates summary for the end of check output
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 |
# File 'lib/puppet/functions/complyadm/checks/format_summary.rb', line 2 Puppet::Functions.create_function(:'complyadm::checks::format_summary') do # Creates summary for the end of check output # @param [Array] results list of results hashes that need to be summarized # @returns [String] gorgeous formatted output, complete with colors dispatch :format_summary do param 'Array', :results return_type 'String' end def format_summary(results) = '' total_results_count = results.length failed_results_list = extract_failed_results(results) if !failed_results_list.empty? += (total_results_count, failed_results_list.length) failed_results_list.each do |result| += failures_per_result(result) end else += (total_results_count, 0) end end def red() "\e[31m#{}\e[0m" end def pluralize_check(number) (number == 1) ? 'check' : 'checks' end def extract_failed_results(results) results.filter { |result| !result['failed'].empty? } end def failures_per_result(failed_result) failed_result['failed'].map { |failure| " . #{red(failure)}\n" }.join end def (total_count, failed_count) if failed_count > 0 "#{total_count} #{pluralize_check(total_count)} completed, #{failed_count} failed.\n" else "#{total_count} #{pluralize_check(total_count)} completed.\n" end end end |