# File lib/brakeman/report/report_table.rb, line 9
  def generate_report
    summary_option = tracker.options[:summary_only]
    out = ""

    unless summary_option == :no_summary
      out << text_header <<
        "\n\n+SUMMARY+\n\n" <<
        truncate_table(generate_overview.to_s) << "\n\n" <<
        truncate_table(generate_warning_overview.to_s) << "\n"
    end

    #Return output early if only summarizing
    if summary_option == :summary_only or summary_option == true
      return out
    end

    if tracker.options[:report_routes] or tracker.options[:debug]
      out << "\n+CONTROLLERS+\n" <<
      truncate_table(generate_controllers.to_s) << "\n"
    end

    if tracker.options[:debug]
      out << "\n+TEMPLATES+\n\n" <<
      truncate_table(generate_templates.to_s) << "\n"
    end

    output_table("+Obsolete Ignore Entries+", generate_obsolete, out)
    output_table("+Errors+", generate_errors, out)
    output_table("+SECURITY WARNINGS+", generate_warnings, out)
    output_table("Controller Warnings:", generate_controller_warnings, out)
    output_table("Model Warnings:", generate_model_warnings, out)
    output_table("View Warnings:", generate_template_warnings, out)

    out << "\n"
    out
  end