Class: MultiRedis::Context
- Inherits:
-
Object
- Object
- MultiRedis::Context
- Defined in:
- lib/multi_redis/context.rb
Instance Attribute Summary collapse
-
#last_replies ⇒ Object
Returns the value of attribute last_replies.
-
#last_result ⇒ Object
Returns the value of attribute last_result.
Instance Method Summary collapse
- #data ⇒ Object
- #execute(operation, *args) ⇒ Object
-
#initialize(redis, shared_context = nil) ⇒ Context
constructor
A new instance of Context.
- #redis ⇒ Object
- #resolve_futures! ⇒ Object
- #shared ⇒ Object
Constructor Details
Instance Attribute Details
#last_replies ⇒ Object
Returns the value of attribute last_replies.
5 6 7 |
# File 'lib/multi_redis/context.rb', line 5 def last_replies @last_replies end |
#last_result ⇒ Object
Returns the value of attribute last_result.
4 5 6 |
# File 'lib/multi_redis/context.rb', line 4 def last_result @last_result end |
Instance Method Details
#data ⇒ Object
32 33 34 |
# File 'lib/multi_redis/context.rb', line 32 def data @data end |
#execute(operation, *args) ⇒ Object
14 15 16 17 18 19 20 21 22 |
# File 'lib/multi_redis/context.rb', line 14 def execute operation, *args @last_result = operation.execute self, *args if @resolve = @redis.client.respond_to?(:futures) @last_replies = @redis.client.futures[@shared_context.last_replies.length, @redis.client.futures.length] @shared_context.last_replies.concat @last_replies end @shared_context.last_result = @last_result @last_result end |
#redis ⇒ Object
28 29 30 |
# File 'lib/multi_redis/context.rb', line 28 def redis @redis end |
#resolve_futures! ⇒ Object
36 37 38 39 40 41 42 |
# File 'lib/multi_redis/context.rb', line 36 def resolve_futures! return unless @resolve @data.each_key do |k| @data[k] = @data[k].value if @data[k].is_a? Redis::Future end @last_replies.collect!{ |r| r.is_a?(Redis::Future) ? r.value : r } end |
#shared ⇒ Object
24 25 26 |
# File 'lib/multi_redis/context.rb', line 24 def shared @shared_context end |