Module: CounterCachier
- Defined in:
- lib/counter_cachier/cachier.rb,
lib/counter_cachier/mounter.rb,
lib/counter_cachier/version.rb,
lib/counter_cachier/counter_cachier.rb
Defined Under Namespace
Modules: ClassMethods
Classes: Cachier, Mounter
Constant Summary
collapse
- VERSION =
"0.0.3"
Class Method Summary
collapse
Class Method Details
.included(base) ⇒ Object
29
30
31
32
33
34
|
# File 'lib/counter_cachier/counter_cachier.rb', line 29
def self.included(base)
base.extend ClassMethods
class << base
attr_accessor :cachiers
end
end
|
.key(object, name) ⇒ Object
12
13
14
|
# File 'lib/counter_cachier/counter_cachier.rb', line 12
def key(object, name)
"counter_cachier::#{object.class.to_s}::#{object.id}::#{name}"
end
|
.read(object, cachier) ⇒ Object
16
17
18
19
20
21
22
|
# File 'lib/counter_cachier/counter_cachier.rb', line 16
def read(object, cachier)
value = redis.get(key(object, cachier.name))
if value.nil?
value = cachier.write(object)
end
value.to_i
end
|
.redis ⇒ Object
8
9
10
|
# File 'lib/counter_cachier/counter_cachier.rb', line 8
def redis
@redis ||= $redis
end
|
.redis=(r) ⇒ Object
4
5
6
|
# File 'lib/counter_cachier/counter_cachier.rb', line 4
def redis=(r)
@redis = r
end
|
.write(object, name, value) ⇒ Object
24
25
26
|
# File 'lib/counter_cachier/counter_cachier.rb', line 24
def write(object, name, value)
redis.set key(object, name), value
end
|