Sha256: c0ab8daa0891de6c288f85c461a8af2760156d27911917ccc2fd89899268e034

Contents?: true

Size: 1.02 KB

Versions: 18

Compression:

Stored size: 1.02 KB

Contents

require 'csv'

class Brakeman::Report::CSV < Brakeman::Report::Base
  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, w.fingerprint]
    end.map do |warning|
      generate_row(headers, warning)
    end

    table = CSV::Table.new(rows)

    table.to_csv
  end

  def generate_row headers, warning
    CSV::Row.new headers, warning_row(warning)
  end

  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
end

Version data entries

18 entries across 18 versions & 3 rubygems

Version Path
brakeman-5.1.1 lib/brakeman/report/report_csv.rb
brakeman-lib-5.1.1 lib/brakeman/report/report_csv.rb
brakeman-min-5.1.1 lib/brakeman/report/report_csv.rb
brakeman-5.1.0 lib/brakeman/report/report_csv.rb
brakeman-lib-5.1.0 lib/brakeman/report/report_csv.rb
brakeman-min-5.1.0 lib/brakeman/report/report_csv.rb
brakeman-min-5.0.4 lib/brakeman/report/report_csv.rb
brakeman-lib-5.0.4 lib/brakeman/report/report_csv.rb
brakeman-5.0.4 lib/brakeman/report/report_csv.rb
brakeman-5.0.2 lib/brakeman/report/report_csv.rb
brakeman-lib-5.0.2 lib/brakeman/report/report_csv.rb
brakeman-min-5.0.2 lib/brakeman/report/report_csv.rb
brakeman-5.0.1 lib/brakeman/report/report_csv.rb
brakeman-lib-5.0.1 lib/brakeman/report/report_csv.rb
brakeman-min-5.0.1 lib/brakeman/report/report_csv.rb
brakeman-5.0.0 lib/brakeman/report/report_csv.rb
brakeman-min-5.0.0 lib/brakeman/report/report_csv.rb
brakeman-lib-5.0.0 lib/brakeman/report/report_csv.rb