Class: QueryGuard::Analysis::RiskDetector

Inherits:
Object
  • Object
show all
Defined in:
lib/query_guard/analysis/risk_detectors.rb

Overview

Base class for query risk detectors. Detectors analyze specific SQL patterns and return risks.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(name) ⇒ RiskDetector

Returns a new instance of RiskDetector.



10
11
12
# File 'lib/query_guard/analysis/risk_detectors.rb', line 10

def initialize(name)
  @name = name.to_sym
end

Instance Attribute Details

#name ⇒ Object (readonly)

Returns the value of attribute name.



8
9
10
# File 'lib/query_guard/analysis/risk_detectors.rb', line 8

def name
  @name
end

Instance Method Details

#detect(query, config) ⇒ Array<Hash>

Analyze a query and return risks

Parameters:

  • query (Core::Query) —

    The query to analyze

  • config (Config) —

    Configuration with thresholds

Returns:

  • (Array<Hash>) —

    List of detected risks with :pattern, :risk_level, :message, :metadata

Raises:

  • (NotImplementedError)


18
19
20
# File 'lib/query_guard/analysis/risk_detectors.rb', line 18

def detect(query, config)
  raise NotImplementedError, "#{self.class} must implement #detect"
end