dalli-delete-matched 1.2.0 → 1.3.1
Sign up to get free protection for your applications and to get access to all the features.
- data/lib/dalli-delete-matched.rb +10 -4
- metadata +1 -1
data/lib/dalli-delete-matched.rb
CHANGED
@@ -8,8 +8,11 @@ ActiveSupport::Cache::DalliStore.class_eval do
|
|
8
8
|
alias_method :old_write_entry, :write_entry
|
9
9
|
def write_entry(key, entry, options)
|
10
10
|
keys = get_cache_keys
|
11
|
-
keys
|
12
|
-
|
11
|
+
unless keys.include?(key)
|
12
|
+
keys << key
|
13
|
+
delete CACHE_KEYS
|
14
|
+
return false unless old_write_entry(CACHE_KEYS, keys.to_yaml, {})
|
15
|
+
end
|
13
16
|
old_write_entry(key, entry, options)
|
14
17
|
end
|
15
18
|
|
@@ -18,8 +21,11 @@ ActiveSupport::Cache::DalliStore.class_eval do
|
|
18
21
|
ret = old_delete_entry(key, options)
|
19
22
|
return false unless ret
|
20
23
|
keys = get_cache_keys
|
21
|
-
keys
|
22
|
-
|
24
|
+
if keys.include?(key)
|
25
|
+
keys -= [ key ]
|
26
|
+
delete CACHE_KEYS
|
27
|
+
old_write_entry(CACHE_KEYS, keys.to_yaml, {})
|
28
|
+
end
|
23
29
|
ret
|
24
30
|
end
|
25
31
|
|