Method: PDK::Report#write_text

Defined in:
lib/pdk/report.rb

#write_text(target = self.class.default_target) ⇒ Object

Renders the report as plain text.

This report is designed for interactive use by a human and so excludes all passing events in order to be consise.

Parameters:

  • target (#write) (defaults to: self.class.default_target)

    an IO object that the report will be written to. Defaults to PDK::Report.default_target.



98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
# File 'lib/pdk/report.rb', line 98

def write_text(target = self.class.default_target)
  coverage_report = nil
  report = []

  events.each do |_tool, tool_events|
    tool_events.each do |event|
      if event.rspec_puppet_coverage?
        coverage_report = event.to_text
      else
        report << event.to_text unless event.pass? || event.skipped?
      end
    end
  end

  report << "\n#{coverage_report}" if coverage_report

  if target.is_a?(String)
    PDK::Util::Filesystem.write_file(target, report.join("\n"))
  elsif !report.empty?
    target << report.join("\n") << "\n"
  end
end