Class: ROC::Store::RedisStore

Inherits:
ROCStore
  • Object
show all
Extended by:
Forwardable
Includes:
ObjectInitializers
Defined in:
lib/roc/store/redis_store.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from ObjectInitializers

#class_for_key, #find, #init, #init_float, #init_hash, #init_integer, #init_list, #init_lock, #init_set, #init_sorted_set, #init_string, #init_time

Constructor Details

#initialize(connection) ⇒ RedisStore

Returns a new instance of RedisStore.



19
20
21
22
23
24
25
# File 'lib/roc/store/redis_store.rb', line 19

def initialize(connection)
  if connection.is_a?(Redis)
    @connection = connection
  else
    @connection = Redis.connect(connection)
  end
end

Instance Attribute Details

#connectionObject (readonly)

Returns the value of attribute connection.



17
18
19
# File 'lib/roc/store/redis_store.rb', line 17

def connection
  @connection
end

Instance Method Details

#call(method_name, *args) ⇒ Object



27
28
29
# File 'lib/roc/store/redis_store.rb', line 27

def call(method_name, *args)
  self.connection.send method_name, *args
end

#discardObject



54
55
56
57
58
59
60
# File 'lib/roc/store/redis_store.rb', line 54

def discard
  ret = self.connection.discard
  if @in_multi
    @in_multi = false
  end
  ret
end

#enable_evalObject



70
71
72
# File 'lib/roc/store/redis_store.rb', line 70

def enable_eval
  require 'roc/store/redis_eval'
end

#execObject



46
47
48
49
50
51
52
# File 'lib/roc/store/redis_store.rb', line 46

def exec
  ret = self.connection.exec
  if @in_multi
    @in_multi = false
  end
  ret
end

#in_multi?Boolean

Returns:

  • (Boolean)


62
63
64
# File 'lib/roc/store/redis_store.rb', line 62

def in_multi?
  !!@in_multi
end

#inspectObject



66
67
68
# File 'lib/roc/store/redis_store.rb', line 66

def inspect
  "<#{self.class} @connection=#{self.connection.inspect}>"
end

#multiObject



33
34
35
36
37
38
39
40
41
42
43
44
# File 'lib/roc/store/redis_store.rb', line 33

def multi
  @in_multi = true
  if block_given?          
    ret = self.connection.multi do
      yield
    end           
    @in_multi = false
  else
    ret = self.connection.multi
  end
  ret
end