Method: MasterLoader::Batch#queue
- Defined in:
- lib/master_loader.rb
#queue(key) ⇒ Object
63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 |
# File 'lib/master_loader.rb', line 63 def queue(key) @queue << key DelayedResult.new do results = if @fulfilled @results else @fulfilled = true r = @loader_block.call(@queue) @results = if r.is_a?(DelayedResult) normalize_results(r.value!) else normalize_results(r) end end unless results.key?(key) raise StandardError, "Batch loader didn't resolve a key: #{key}. Resolved keys: #{results.keys}" end results[key] end end |