24 lines
728 B
Ruby
24 lines
728 B
Ruby
|
# frozen_string_literal: true
|
||
|
|
||
|
module Gitlab
|
||
|
module Utils
|
||
|
module BatchLoader
|
||
|
# Clears batched items under the specified batch key
|
||
|
# https://github.com/exAspArk/batch-loader#batch-key
|
||
|
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
|
||
|
end
|
||
|
end
|
||
|
end
|