Class: Redis::ReceiptedPipeline

Inherits:
Pipeline
  • Object
show all
Defined in:
lib/redis/structured-multi.rb

Defined Under Namespace

Classes: Receipt, Thunk

Instance Method Summary collapse

Constructor Details

#initializeReceiptedPipeline

Returns a new instance of ReceiptedPipeline.



58
59
60
61
# File 'lib/redis/structured-multi.rb', line 58

def initialize
  super
  @tokens_generated = 0
end

Instance Method Details

#call(*args) ⇒ Object



68
69
70
71
# File 'lib/redis/structured-multi.rb', line 68

def call(*args)
  super
  self.generate_reply_receipt
end

#call_pipelined(commands, options = {}) ⇒ Object



73
74
75
76
77
78
79
80
81
# File 'lib/redis/structured-multi.rb', line 73

def call_pipelined(commands, options = {})
  before = @commands.length
  super
  after = @commands.length
  
  receipts = []
  (after - before).times { receipts << self.generate_reply_receipt }
  receipts
end

#generate_reply_receiptObject



63
64
65
66
# File 'lib/redis/structured-multi.rb', line 63

def generate_reply_receipt
  token = (@tokens_generated += 1) - 1
  Receipt.new( self, token )
end