dalli-delete-matched 1.2.0 → 1.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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: