Class: NOne::Runner

Inherits:
Object
  • Object
show all
Defined in:
lib/n_one/runner.rb

Overview

:nodoc:

Instance Method Summary collapse

Constructor Details

#initialize(whitelist: []) ⇒ Runner

Returns a new instance of Runner.



5
6
7
# File 'lib/n_one/runner.rb', line 5

def initialize(whitelist: [])
  @whitelist = ['active_record/validations/uniqueness'] + whitelist
end

Instance Method Details

#scan(&block) ⇒ Object



9
10
11
12
13
# File 'lib/n_one/runner.rb', line 9

def scan(&block)
  init_store
  record_sql(&block)
  detect_n_plus_ones
end

#scan!(&block) ⇒ Object

Raises:



15
16
17
18
19
# File 'lib/n_one/runner.rb', line 15

def scan!(&block)
  report = scan(&block)

  raise NPlusOneDetected, report unless report.empty?
end