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.
Files changed (2) hide show
  1. data/lib/dalli-delete-matched.rb +10 -4
  2. metadata +1 -1
@@ -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 << key
12
- return false unless old_write_entry(CACHE_KEYS, keys.to_yaml, {})
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 -= [ key ]
22
- old_write_entry(CACHE_KEYS, keys.to_yaml, {})
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
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dalli-delete-matched
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.0
4
+ version: 1.3.1
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors: