Class: EagerEye::Detectors::ValidationNPlusOne

Inherits:
Base
  • Object
show all
Defined in:
lib/eager_eye/detectors/validation_n_plus_one.rb

Constant Summary collapse

ITERATION_METHODS =
%i[each map select find_all reject collect detect find_index flat_map
find_each find_in_batches in_batches array!].freeze
CREATE_METHODS =
%i[create create!].freeze
SAVE_METHODS =
%i[save save!].freeze

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from Base

default_severity

Class Method Details

.detector_nameObject



11
12
13
# File 'lib/eager_eye/detectors/validation_n_plus_one.rb', line 11

def self.detector_name
  :validation_n_plus_one
end

Instance Method Details

#detect(ast, file_path, uniqueness_models = Set.new) ⇒ Object



15
16
17
18
19
20
21
22
23
24
25
# File 'lib/eager_eye/detectors/validation_n_plus_one.rb', line 15

def detect(ast, file_path, uniqueness_models = Set.new)
  return [] unless ast

  @issues = []
  @file_path = file_path
  @uniqueness_models = uniqueness_models
  return [] if @uniqueness_models.empty?

  find_iteration_blocks(ast)
  @issues
end