Class: NPlusInsight::Analyzer
- Inherits:
-
Object
- Object
- NPlusInsight::Analyzer
- Defined in:
- lib/n_plus_insight/analyzer.rb
Instance Method Summary collapse
- #call ⇒ Object
-
#initialize(request:, queries:) ⇒ Analyzer
constructor
A new instance of Analyzer.
Constructor Details
#initialize(request:, queries:) ⇒ Analyzer
Returns a new instance of Analyzer.
3 4 5 6 |
# File 'lib/n_plus_insight/analyzer.rb', line 3 def initialize(request:, queries:) @request = request @queries = queries end |
Instance Method Details
#call ⇒ Object
8 9 10 11 12 13 14 15 16 |
# File 'lib/n_plus_insight/analyzer.rb', line 8 def call repeated_shapes = @queries.group_by { |query| repeated_shape_key(query) }.values.select do |queries| queries.length >= NPlusInsight.configuration.minimum_repetitions end repeated_shapes .group_by { |queries| location_key(dominant_location(queries), queries.first.binds_signature) } .map { |_key, query_groups| build_detection(query_groups) } end |