Module: Gitlab::Utils::BatchLoader

Defined in:
lib/gitlab/utils/batch_loader.rb

Class Method Summary collapse

Class Method Details

.clear_key(batch_key) ⇒ Object

Clears batched items under the specified batch key github.com/exAspArk/batch-loader#batch-key



8
9
10
11
12
13
14
15
16
17
18
19
20
# File 'lib/gitlab/utils/batch_loader.rb', line 8

def self.clear_key(batch_key)
  return if ::BatchLoader::Executor.current.nil?

  items_to_clear = ::BatchLoader::Executor.current.items_by_block.select do |k, v|
    # The Hash key here is [source_location, batch_key], so we just check k[1]
    k[1] == batch_key
  end

  items_to_clear.each do |k, v|
    ::BatchLoader::Executor.current.items_by_block.delete(k)
    ::BatchLoader::Executor.current.loaded_values_by_block.delete(k)
  end
end