Class: Stacks::Backends::NamespacedBackend
- Inherits:
-
Object
- Object
- Stacks::Backends::NamespacedBackend
show all
- Includes:
- Backend
- Defined in:
- lib/stacks/backends/namespaced_backend.rb
Instance Attribute Summary collapse
Instance Method Summary
collapse
Methods included from Backend
#fill, #get_or_set, #key, #prefix_key, #suffix_key
Instance Attribute Details
#namespace ⇒ Object
Returns the value of attribute namespace.
5
6
7
|
# File 'lib/stacks/backends/namespaced_backend.rb', line 5
def namespace
@namespace
end
|
Instance Method Details
#backend_key ⇒ Object
7
8
9
|
# File 'lib/stacks/backends/namespaced_backend.rb', line 7
def backend_key
"n"
end
|
#clear_cache ⇒ Object
31
32
33
|
# File 'lib/stacks/backends/namespaced_backend.rb', line 31
def clear_cache
Stacks.redis.del(prefix_key)
end
|
#del(item) ⇒ Object
43
44
45
|
# File 'lib/stacks/backends/namespaced_backend.rb', line 43
def del(item)
del_key(suffix_key(item))
end
|
#del_key(key) ⇒ Object
39
40
41
|
# File 'lib/stacks/backends/namespaced_backend.rb', line 39
def del_key(key)
Stacks.redis.hdel(prefix_key, key)
end
|
#expire(item, ttl) ⇒ Object
27
28
29
|
# File 'lib/stacks/backends/namespaced_backend.rb', line 27
def expire(item, ttl)
Stacks.redis.expire(prefix_key, ttl)
end
|
#get(item) ⇒ Object
15
16
17
18
19
|
# File 'lib/stacks/backends/namespaced_backend.rb', line 15
def get(item)
potential_value = Stacks.redis.hget(prefix_key, suffix_key(item))
raise Stacks::NoValueException unless potential_value
return Marshal.load(potential_value) if potential_value
end
|
#keys ⇒ Object
35
36
37
|
# File 'lib/stacks/backends/namespaced_backend.rb', line 35
def keys
Stacks.redis.hkeys(prefix_key)
end
|
#prefix_keys ⇒ Object
11
12
13
|
# File 'lib/stacks/backends/namespaced_backend.rb', line 11
def prefix_keys
super << @namespace
end
|
#set(item) ⇒ Object
21
22
23
24
25
|
# File 'lib/stacks/backends/namespaced_backend.rb', line 21
def set(item)
value = item.value
Stacks.redis.hset(prefix_key, suffix_key(item), Marshal.dump(value))
value
end
|