class Chef::Compliance::Reporter::Cli
Public Instance Methods
send_report(report)
click to toggle source
# File lib/chef/compliance/reporter/cli.rb, line 5 def send_report(report) # iterate over each profile and control output = ["\nCompliance report:"] report[:profiles].each do |profile| next if profile[:controls].nil? output << " * #{profile[:title]}" profile[:controls].each do |control| next if control[:results].nil? output << "#{" " * 6}#{control[:title]}" control[:results].each do |result| output << format_result(result) end end end output << "\n" puts output.join("\n") end
validate_config!()
click to toggle source
# File lib/chef/compliance/reporter/cli.rb, line 25 def validate_config! true end
Private Instance Methods
format_result(result)
click to toggle source
# File lib/chef/compliance/reporter/cli.rb, line 39 def format_result(result) output = [] found = false if result[:status] == "failed" if result[:code_desc] found = true output << pastel.red("#{" " * 9}- #{result[:code_desc]}") end if result[:message] if found result[:message].split(/\n/).reject(&:empty?).each do |m| output << pastel.red("#{" " * 12}#{m}") end else result[:message].split(/\n/).reject(&:empty?).each do |m| output << pastel.red("#{" " * 9}#{m}") end end found = true end unless found output << pastel.red("#{" " * 9}- #{result[:status]}") end else found = false if result[:code_desc] found = true output << pastel.green("#{" " * 9}+ #{result[:code_desc]}") end unless found output << pastel.green("#{" " * 9}+ #{result[:status]}") end end output end
pastel()
click to toggle source
pastel.decorate is a lightweight replacement for highline.color
# File lib/chef/compliance/reporter/cli.rb, line 32 def pastel @pastel ||= begin require "pastel" unless defined?(Pastel) Pastel.new end end