Class: MultiRedis::Operation
- Inherits:
-
Object
- Object
- MultiRedis::Operation
- Defined in:
- lib/multi_redis.rb
Instance Method Summary collapse
- #execute ⇒ Object
-
#initialize(*args, &block) ⇒ Operation
constructor
A new instance of Operation.
- #multi(&block) ⇒ Object
- #run(&block) ⇒ Object
Constructor Details
#initialize(*args, &block) ⇒ Operation
Returns a new instance of Operation.
9 10 11 12 13 14 15 16 17 |
# File 'lib/multi_redis.rb', line 9 def initialize *args, &block = args.last.kind_of?(Hash) ? args.pop : {} @target = args.shift || self @redis = [:redis] || Redis.new @data = Data.new @block = block end |
Instance Method Details
#execute ⇒ Object
19 20 21 |
# File 'lib/multi_redis.rb', line 19 def execute instance_eval &@block end |
#multi(&block) ⇒ Object
23 24 25 26 27 28 |
# File 'lib/multi_redis.rb', line 23 def multi &block @data.to_a = @redis.multi do @target.instance_exec @redis, @data, &block end @data.resolve_futures! end |
#run(&block) ⇒ Object
30 31 32 |
# File 'lib/multi_redis.rb', line 30 def run &block @target.instance_exec @data, &block end |