Sha256: 50e82c05c4f3fd1cdecfe4767d697177a413d42814cbb745ea5632c4ef2b9e6d

Contents?: true

Size: 802 Bytes

Versions: 7

Compression:

Stored size: 802 Bytes

Contents

module RepoAnalyzer
  class BrakemanExtractor < ProjectInfoExtractor
    CONFIDENCE = {
      0 => "High",
      1 => "Medium",
      2 => "Weak"
    }

    private

    def extracted_info
      { warnings: brakeman_info }
    end

    def brakeman_info
      @brakeman_info ||= begin
        tracker = Brakeman.run(app_path: project_data_bridge.project_path)
        tracker.checks.warnings.map do |warning|
          {
            warning_type: warning.warning_type,
            check: warning.check,
            message: warning.message.to_s,
            file_path: warning.file.relative,
            link: warning.link,
            line: warning.line,
            confidence: CONFIDENCE[warning.confidence],
            code: warning.format_code
          }
        end
      end
    end
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
repo_analyzer-1.6.0 app/extractors/repo_analyzer/brakeman_extractor.rb
repo_analyzer-1.5.0 app/extractors/repo_analyzer/brakeman_extractor.rb
repo_analyzer-1.4.0 app/extractors/repo_analyzer/brakeman_extractor.rb
repo_analyzer-1.3.0 app/extractors/repo_analyzer/brakeman_extractor.rb
repo_analyzer-1.2.0 app/extractors/repo_analyzer/brakeman_extractor.rb
repo_analyzer-1.1.0 app/extractors/repo_analyzer/brakeman_extractor.rb
repo_analyzer-1.0.0 app/extractors/repo_analyzer/brakeman_extractor.rb