dalli-delete-matched 1.0.2 → 1.1.0
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.
- data/lib/dalli-delete-matched.rb +9 -9
- metadata +4 -4
data/lib/dalli-delete-matched.rb
CHANGED
@@ -3,14 +3,14 @@ require 'active_support/core_ext/module/aliasing'
|
|
3
3
|
|
4
4
|
ActiveSupport::Cache::DalliStore.class_eval do
|
5
5
|
|
6
|
-
|
6
|
+
CACHE_KEYS = "CacheKeys"
|
7
7
|
|
8
8
|
alias_method :old_write_entry, :write_entry
|
9
9
|
def write_entry(key, entry, options)
|
10
|
-
keys =
|
10
|
+
keys = get_cache_keys
|
11
11
|
unless keys.include?(key)
|
12
12
|
keys << key
|
13
|
-
return false unless old_write_entry(
|
13
|
+
return false unless old_write_entry(CACHE_KEYS, keys.to_yaml, {})
|
14
14
|
end
|
15
15
|
old_write_entry(key, entry, options)
|
16
16
|
end
|
@@ -19,10 +19,10 @@ ActiveSupport::Cache::DalliStore.class_eval do
|
|
19
19
|
def delete_entry(key, options)
|
20
20
|
ret = old_delete_entry(key, options)
|
21
21
|
return false unless ret
|
22
|
-
keys =
|
22
|
+
keys = get_cache_keys
|
23
23
|
if keys.include?(key)
|
24
24
|
keys -= [ key ]
|
25
|
-
old_write_entry(
|
25
|
+
old_write_entry(CACHE_KEYS, keys.to_yaml, {})
|
26
26
|
end
|
27
27
|
ret
|
28
28
|
end
|
@@ -30,7 +30,7 @@ ActiveSupport::Cache::DalliStore.class_eval do
|
|
30
30
|
def delete_matched(matcher, options = nil)
|
31
31
|
ret = true
|
32
32
|
deleted_keys = []
|
33
|
-
keys =
|
33
|
+
keys = get_cache_keys
|
34
34
|
keys.each do |key|
|
35
35
|
if ret && key.match(matcher)
|
36
36
|
deleted_keys << key if (ret = old_delete_entry(key, options))
|
@@ -38,14 +38,14 @@ ActiveSupport::Cache::DalliStore.class_eval do
|
|
38
38
|
end
|
39
39
|
len = keys.length
|
40
40
|
keys -= deleted_keys
|
41
|
-
old_write_entry(
|
41
|
+
old_write_entry(CACHE_KEYS, keys.to_yaml, {}) if keys.length < len
|
42
42
|
ret
|
43
43
|
end
|
44
44
|
|
45
45
|
private
|
46
|
-
def
|
46
|
+
def get_cache_keys
|
47
47
|
begin
|
48
|
-
YAML.load read(
|
48
|
+
YAML.load read(CACHE_KEYS)
|
49
49
|
rescue TypeError
|
50
50
|
[]
|
51
51
|
end
|
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.0
|
4
|
+
version: 1.1.0
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,11 +9,11 @@ authors:
|
|
9
9
|
autorequire: builder
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2013-01-03 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: dalli
|
16
|
-
requirement: &
|
16
|
+
requirement: &14841340 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ! '>='
|
@@ -21,7 +21,7 @@ dependencies:
|
|
21
21
|
version: '0'
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *14841340
|
25
25
|
description: Provides delete_matched for Dalli store in Rails 3
|
26
26
|
email: phobos98@phobos98.net
|
27
27
|
executables: []
|