class Brakeman::Report::CSV

Public Instance Methods

generate_report() click to toggle source
# File lib/brakeman/report/report_csv.rb, line 4
def generate_report
  headers = [
    "Confidence",
    "Warning Type",
    "File",
    "Line",
    "Message",
    "Code",
    "User Input",
    "Check Name",
    "Warning Code",
    "Fingerprint",
    "Link"
  ]

  rows = tracker.filtered_warnings.sort_by do |w|
    [w.confidence, w.warning_type, w.file, w.line || 0, w.fingerprint]
  end.map do |warning|
    generate_row(headers, warning)
  end

  table = CSV::Table.new(rows)

  table.to_csv
end
generate_row(headers, warning) click to toggle source
# File lib/brakeman/report/report_csv.rb, line 30
def generate_row headers, warning
  CSV::Row.new headers, warning_row(warning)
end
warning_row(warning) click to toggle source
# File lib/brakeman/report/report_csv.rb, line 34
def warning_row warning
  [
    warning.confidence_name,
    warning.warning_type,
    warning_file(warning),
    warning.line,
    warning.message,
    warning.code && warning.format_code(false),
    warning.user_input && warning.format_user_input(false),
    warning.check_name,
    warning.warning_code,
    warning.fingerprint,
    warning.link,
  ]
end