perma_cache 0.0.3 → 0.0.4
Sign up to get free protection for your applications and to get access to all the features.
- data/lib/perma_cache.rb +12 -1
- data/lib/perma_cache/version.rb +1 -1
- data/test/perma_cache_test.rb +2 -0
- metadata +2 -2
data/lib/perma_cache.rb
CHANGED
@@ -85,9 +85,20 @@ module PermaCache
|
|
85
85
|
PermaCache.cache.read(send("#{method_name}_perma_cache_key"))
|
86
86
|
end
|
87
87
|
|
88
|
+
was_rebuilt_inst_var = "@#{method_name}_was_rebuilt"
|
89
|
+
|
88
90
|
define_method "#{method_name}_with_perma_cache" do
|
91
|
+
instance_variable_set(was_rebuilt_inst_var , false)
|
92
|
+
|
89
93
|
send("#{method_name}_get_perma_cache") ||
|
90
|
-
|
94
|
+
(
|
95
|
+
instance_variable_set(was_rebuilt_inst_var , true) &&
|
96
|
+
send("#{method_name}!")
|
97
|
+
)
|
98
|
+
end
|
99
|
+
|
100
|
+
define_method "#{method_name}_was_rebuilt?" do
|
101
|
+
instance_variable_get(was_rebuilt_inst_var ) == true
|
91
102
|
end
|
92
103
|
|
93
104
|
alias_method_chain method_name, :perma_cache
|
data/lib/perma_cache/version.rb
CHANGED
data/test/perma_cache_test.rb
CHANGED
@@ -107,6 +107,7 @@ class PermaCacheTest < Test::Unit::TestCase
|
|
107
107
|
PermaCache.cache = cache_obj
|
108
108
|
obj.expects(:sleep).with(1).once
|
109
109
|
assert_equal 1, obj.method1
|
110
|
+
assert obj.method1_was_rebuilt?
|
110
111
|
end
|
111
112
|
|
112
113
|
should "calling #method1 should read the cache, but not write it, if the cache is present" do
|
@@ -117,6 +118,7 @@ class PermaCacheTest < Test::Unit::TestCase
|
|
117
118
|
PermaCache.cache = cache_obj
|
118
119
|
obj.expects(:sleep).never
|
119
120
|
assert_equal 123, obj.method1
|
121
|
+
assert !obj.method1_was_rebuilt?
|
120
122
|
end
|
121
123
|
|
122
124
|
should "calling #method1! should write the cache, but not read from it" do
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: perma_cache
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.4
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2014-
|
12
|
+
date: 2014-02-04 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rails
|