INNER CODE UNIT · Ruby
__ensure_batched
exAspArk/batch-loader · lib/batch_loader.rb:86
def __ensure_batched
return if __executor_proxy.value_loaded?(item: @item)
items = __executor_proxy.list_items
loader = __loader
args = {default_value: @default_value, cache: @cache, replace_methods: @replace_methods, key: @key}
@batch_block.call(items, loader, args)
items.each do |item|
next if __executor_proxy.value_loaded?(item: item)
loader.call(item, @default_value)
end
__executor_proxy.delete(items: items)
end
def __loader
mutex = Mutex.new
-> (item, value = (no_value = true; nil), &block) do
if no_value && !block