Module: MultiRedis

Defined in:
lib/multi_redis.rb,
lib/multi_redis/data.rb,
lib/multi_redis/context.rb

Defined Under Namespace

Modules: Extension Classes: Context, Data, Executor, Operation, Step

Constant Summary collapse

VERSION =
'0.2.0'

Class Method Summary collapse

Class Method Details

.execute(*args, &block) ⇒ Object



22
23
24
25
26
27
28
29
30
31
32
33
34
# File 'lib/multi_redis.rb', line 22

def self.execute *args, &block

  operations, arguments = @mutex.synchronize do
    @operations = args.dup
    @arguments = []
    @executing = true
    yield if block_given?
    @executing = false
    [ @operations.dup.tap{ |ops| @operations.clear }, @arguments ]
  end

  Executor.new(operations, args: arguments).execute
end

.executing?Boolean

Returns:

  • (Boolean)


36
37
38
# File 'lib/multi_redis.rb', line 36

def self.executing?
  @executing
end

.redisObject



18
19
20
# File 'lib/multi_redis.rb', line 18

def self.redis
  @redis
end

.redis=(redis) ⇒ Object



14
15
16
# File 'lib/multi_redis.rb', line 14

def self.redis= redis
  @redis = redis
end

.register_operation(op, *args) ⇒ Object



40
41
42
43
44
45
# File 'lib/multi_redis.rb', line 40

def self.register_operation op, *args
  op.tap do |op|
    @operations << op
    @arguments << args
  end
end