Method: Redis::PipelinedConnection#multi

Defined in:
lib/redis/pipeline.rb

#multi {|transaction| ... } ⇒ Object

Yields:

  • (transaction)


21
22
23
24
25
26
27
28
29
30
31
32
# File 'lib/redis/pipeline.rb', line 21

def multi
  transaction = MultiConnection.new(@pipeline, @futures)
  send_command([:multi])
  size = @futures.size
  yield transaction
  multi_future = MultiFuture.new(@futures[size..-1])
  @pipeline.call_v([:exec]) do |result|
    multi_future._set(result)
  end
  @futures << multi_future
  multi_future
end