class BatchLoader::ExecutorProxy
Attributes
block[R]
default_value[R]
global_executor[R]
Public Class Methods
new(default_value, key, &block)
click to toggle source
# File lib/batch_loader/executor_proxy.rb, line 8 def initialize(default_value, key, &block) @default_value = default_value @block = block @block_hash_key = "#{key}#{block.source_location}" @global_executor = BatchLoader::Executor.ensure_current end
Public Instance Methods
add(item:)
click to toggle source
# File lib/batch_loader/executor_proxy.rb, line 15 def add(item)) items_to_load << item end
delete(items:)
click to toggle source
# File lib/batch_loader/executor_proxy.rb, line 23 def delete(items)) global_executor.items_by_block[@block_hash_key] = items_to_load - items end
list_items()
click to toggle source
# File lib/batch_loader/executor_proxy.rb, line 19 def list_items items_to_load.to_a end
load(item:, value:)
click to toggle source
# File lib/batch_loader/executor_proxy.rb, line 27 def load(item,, value)) loaded[item] = value end
loaded_value(item:)
click to toggle source
# File lib/batch_loader/executor_proxy.rb, line 31 def loaded_value(item)) if value_loaded?(item: item) loaded[item] else @default_value.dup end end
unload_value(item:)
click to toggle source
# File lib/batch_loader/executor_proxy.rb, line 43 def unload_value(item)) loaded.delete(item) end
value_loaded?(item:)
click to toggle source
# File lib/batch_loader/executor_proxy.rb, line 39 def value_loaded?(item)) loaded.key?(item) end
Private Instance Methods
items_to_load()
click to toggle source
# File lib/batch_loader/executor_proxy.rb, line 49 def items_to_load global_executor.items_by_block[@block_hash_key] end
loaded()
click to toggle source
# File lib/batch_loader/executor_proxy.rb, line 53 def loaded global_executor.loaded_values_by_block[@block_hash_key] end