Class: QueryGuard::Analysis::RiskDetector
- Inherits:
-
Object
- Object
- QueryGuard::Analysis::RiskDetector
- Defined in:
- lib/query_guard/analysis/risk_detectors.rb
Overview
Base class for query risk detectors. Detectors analyze specific SQL patterns and return risks.
Direct Known Subclasses
AggregationRiskDetector, ComplexJoinRiskDetector, MissingIndexRiskDetector, RepeatedQueryRiskDetector, SelectStarRiskDetector, SubqueryRiskDetector, UnionRiskDetector
Instance Attribute Summary collapse
-
#name ⇒ Object
readonly
Returns the value of attribute name.
Instance Method Summary collapse
-
#detect(query, config) ⇒ Array<Hash>
Analyze a query and return risks.
-
#initialize(name) ⇒ RiskDetector
constructor
A new instance of RiskDetector.
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
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 |