Module: NPlusOneControl::Executor
- Defined in:
- lib/n_plus_one_control/executor.rb
Overview
Runs code for every scale factor and returns collected queries.
Defined Under Namespace
Classes: Collector
Class Attribute Summary collapse
-
.transaction_begin ⇒ Object
Returns the value of attribute transaction_begin.
-
.transaction_rollback ⇒ Object
Returns the value of attribute transaction_rollback.
Class Method Summary collapse
Class Attribute Details
.transaction_begin ⇒ Object
Returns the value of attribute transaction_begin.
29 30 31 |
# File 'lib/n_plus_one_control/executor.rb', line 29 def transaction_begin @transaction_begin end |
.transaction_rollback ⇒ Object
Returns the value of attribute transaction_rollback.
30 31 32 |
# File 'lib/n_plus_one_control/executor.rb', line 30 def transaction_rollback @transaction_rollback end |
Class Method Details
.call(population:, scale_factors: nil, matching: nil) ⇒ Object
32 33 34 35 36 37 38 39 40 41 42 43 44 45 |
# File 'lib/n_plus_one_control/executor.rb', line 32 def call(population:, scale_factors: nil, matching: nil) raise ArgumentError, "Block is required!" unless block_given? results = [] collector = Collector.new(matching) (scale_factors || NPlusOneControl.default_scale_factors).each do |scale| with_transaction do population.call(scale) results << [scale, collector.call { yield }] end end results end |