You are an expert in writing code in many different languages. Your goal is to perform code completion for the following code, keeping in mind the rest of the code and the file meta data.
    Metadata details:
    filename: executor.rb
    path of file: ./repos/n_plus_one_control/lib/n_plus_one_control
    
    the code of the file until where you have to start completion: # frozen_string_literal: true

module NPlusOneControl
  # Runs code for every scale factor
  # and returns collected queries.
  class Executor
    # Subscribes to ActiveSupport notifications and collect matching queries.
    class Collector
      def ini
    
    def call
      raise ArgumentError, "Block is required!" unless block_given?

      results = []
      collector = Collector.new(matching)

      (scale_factors || NPlusOneControl.default_scale_factors).each do |scale|
        @current_scale = scale
        with_transaction do
          population&.call(scale)
          results << [scale, collector.call { yield }]
        end
      end
      results
    end