class CC::Analyzer::EngineOutputFilter

Constants

ISSUE_TYPE

Public Class Methods

new(config = {}) click to toggle source
# File lib/cc/analyzer/engine_output_filter.rb, line 6
def initialize(config = {})
  @config = config
end

Public Instance Methods

filter?(output) click to toggle source
# File lib/cc/analyzer/engine_output_filter.rb, line 10
def filter?(output)
  output.blank? || (output.issue? && ignore_issue?(output.as_issue))
end

Private Instance Methods

check_config(check_name) click to toggle source
# File lib/cc/analyzer/engine_output_filter.rb, line 30
def check_config(check_name)
  @checks ||= @config.fetch("checks", {})
  @checks.fetch(check_name, {})
end
check_disabled?(issue) click to toggle source
# File lib/cc/analyzer/engine_output_filter.rb, line 20
def check_disabled?(issue)
  !check_config(issue.check_name).fetch("enabled", true)
end
ignore_fingerprint?(issue) click to toggle source
# File lib/cc/analyzer/engine_output_filter.rb, line 24
def ignore_fingerprint?(issue)
  @config.fetch("exclude_fingerprints", []).include?(issue.fingerprint)
rescue SourceExtractor::InvalidLocation
  false
end
ignore_issue?(issue) click to toggle source
# File lib/cc/analyzer/engine_output_filter.rb, line 16
def ignore_issue?(issue)
  check_disabled?(issue) || ignore_fingerprint?(issue)
end