memcached_store 2.1.3 → 2.2.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.
- checksums.yaml +5 -5
- data/lib/active_support/cache/memcached_store.rb +19 -6
- data/lib/memcached_store/version.rb +1 -1
- metadata +35 -7
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 8c2e6e07846db81c341bc513b655a969c805145f55c52f601692a5b6a8044c82
|
4
|
+
data.tar.gz: 0fb5ae2adb9fabee93ee7f0b5256a0f768354434cb6adc6b1191f987ce8198f4
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1ac0741c64d3a5fe6d58915656d6d29984a133d41d6ce84f07535486ea1a707acad670831458f60b6d4fa8a25ea4de1b7e2cee7c03948b6c11c676b9bd595572
|
7
|
+
data.tar.gz: f683b364d84ebd7672ca9cfd3c6f00e5941730aec8636a07147f1a0a8277d3cc0c73eb686a028f316a2c36c7d34e43051621e4f15bc14860dac781246acc6d19
|
@@ -58,6 +58,8 @@ module ActiveSupport
|
|
58
58
|
|
59
59
|
attr_accessor :read_only, :swallow_exceptions
|
60
60
|
|
61
|
+
prepend(Strategy::LocalCache)
|
62
|
+
|
61
63
|
def initialize(*addresses, **options)
|
62
64
|
addresses = addresses.flatten
|
63
65
|
options[:codec] ||= Codec.new
|
@@ -76,8 +78,19 @@ module ActiveSupport
|
|
76
78
|
UNIVERSAL_OPTIONS.each { |name| mem_cache_options.delete(name) }
|
77
79
|
@connection = Memcached.new([*addresses, *servers], mem_cache_options)
|
78
80
|
end
|
81
|
+
end
|
82
|
+
|
83
|
+
def append(name, value, options = nil)
|
84
|
+
return true if read_only
|
85
|
+
options = merged_options(options)
|
86
|
+
normalized_key = normalize_key(name, options)
|
79
87
|
|
80
|
-
|
88
|
+
handle_exceptions(return_value_on_error: nil, on_miss: false, miss_exceptions: [Memcached::NotStored]) do
|
89
|
+
instrument(:append, name) do
|
90
|
+
@connection.append(normalized_key, value)
|
91
|
+
end
|
92
|
+
true
|
93
|
+
end
|
81
94
|
end
|
82
95
|
|
83
96
|
def write(*)
|
@@ -121,7 +134,7 @@ module ActiveSupport
|
|
121
134
|
entry = deserialize_entry(raw_value)
|
122
135
|
value = yield entry.value
|
123
136
|
break true if read_only
|
124
|
-
serialize_entry(Entry.new(value, options), options)
|
137
|
+
serialize_entry(Entry.new(value, **options), options)
|
125
138
|
end
|
126
139
|
end
|
127
140
|
true
|
@@ -149,7 +162,7 @@ module ActiveSupport
|
|
149
162
|
break true if read_only
|
150
163
|
|
151
164
|
serialized_values = values.map do |name, value|
|
152
|
-
[normalize_key(name, options), serialize_entry(Entry.new(value, options), options)]
|
165
|
+
[normalize_key(name, options), serialize_entry(Entry.new(value, **options), options)]
|
153
166
|
end
|
154
167
|
|
155
168
|
Hash[serialized_values]
|
@@ -256,7 +269,7 @@ module ActiveSupport
|
|
256
269
|
end
|
257
270
|
|
258
271
|
def deserialize_entry(value)
|
259
|
-
|
272
|
+
unless value.nil?
|
260
273
|
value.is_a?(Entry) ? value : Entry.new(value, compress: false)
|
261
274
|
end
|
262
275
|
end
|
@@ -277,9 +290,9 @@ module ActiveSupport
|
|
277
290
|
expires_in
|
278
291
|
end
|
279
292
|
|
280
|
-
def handle_exceptions(return_value_on_error:, on_miss: return_value_on_error)
|
293
|
+
def handle_exceptions(return_value_on_error:, on_miss: return_value_on_error, miss_exceptions: [])
|
281
294
|
yield
|
282
|
-
rescue Memcached::NotFound, Memcached::ConnectionDataExists
|
295
|
+
rescue Memcached::NotFound, Memcached::ConnectionDataExists, *miss_exceptions
|
283
296
|
on_miss
|
284
297
|
rescue Memcached::Error => e
|
285
298
|
log_warning(e)
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: memcached_store
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.1
|
4
|
+
version: 2.2.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Camilo Lopez
|
@@ -11,7 +11,7 @@ authors:
|
|
11
11
|
autorequire:
|
12
12
|
bindir: bin
|
13
13
|
cert_chain: []
|
14
|
-
date:
|
14
|
+
date: 2021-05-27 00:00:00.000000000 Z
|
15
15
|
dependencies:
|
16
16
|
- !ruby/object:Gem::Dependency
|
17
17
|
name: activesupport
|
@@ -33,14 +33,14 @@ dependencies:
|
|
33
33
|
requirements:
|
34
34
|
- - "~>"
|
35
35
|
- !ruby/object:Gem::Version
|
36
|
-
version: 1.8
|
36
|
+
version: '1.8'
|
37
37
|
type: :runtime
|
38
38
|
prerelease: false
|
39
39
|
version_requirements: !ruby/object:Gem::Requirement
|
40
40
|
requirements:
|
41
41
|
- - "~>"
|
42
42
|
- !ruby/object:Gem::Version
|
43
|
-
version: 1.8
|
43
|
+
version: '1.8'
|
44
44
|
- !ruby/object:Gem::Dependency
|
45
45
|
name: rake
|
46
46
|
requirement: !ruby/object:Gem::Requirement
|
@@ -55,6 +55,34 @@ dependencies:
|
|
55
55
|
- - ">="
|
56
56
|
- !ruby/object:Gem::Version
|
57
57
|
version: '0'
|
58
|
+
- !ruby/object:Gem::Dependency
|
59
|
+
name: mocha
|
60
|
+
requirement: !ruby/object:Gem::Requirement
|
61
|
+
requirements:
|
62
|
+
- - ">="
|
63
|
+
- !ruby/object:Gem::Version
|
64
|
+
version: '0'
|
65
|
+
type: :development
|
66
|
+
prerelease: false
|
67
|
+
version_requirements: !ruby/object:Gem::Requirement
|
68
|
+
requirements:
|
69
|
+
- - ">="
|
70
|
+
- !ruby/object:Gem::Version
|
71
|
+
version: '0'
|
72
|
+
- !ruby/object:Gem::Dependency
|
73
|
+
name: timecop
|
74
|
+
requirement: !ruby/object:Gem::Requirement
|
75
|
+
requirements:
|
76
|
+
- - ">="
|
77
|
+
- !ruby/object:Gem::Version
|
78
|
+
version: '0'
|
79
|
+
type: :development
|
80
|
+
prerelease: false
|
81
|
+
version_requirements: !ruby/object:Gem::Requirement
|
82
|
+
requirements:
|
83
|
+
- - ">="
|
84
|
+
- !ruby/object:Gem::Version
|
85
|
+
version: '0'
|
58
86
|
description: Plugin-able Memcached adapters to add features (compression, safety)
|
59
87
|
email:
|
60
88
|
- camilo@camilolopez.com
|
@@ -75,7 +103,8 @@ files:
|
|
75
103
|
homepage: https://github.com/Shopify/memcached_store/
|
76
104
|
licenses:
|
77
105
|
- MIT
|
78
|
-
metadata:
|
106
|
+
metadata:
|
107
|
+
allowed_push_host: https://rubygems.org
|
79
108
|
post_install_message:
|
80
109
|
rdoc_options: []
|
81
110
|
require_paths:
|
@@ -91,8 +120,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
91
120
|
- !ruby/object:Gem::Version
|
92
121
|
version: '0'
|
93
122
|
requirements: []
|
94
|
-
|
95
|
-
rubygems_version: 2.6.14
|
123
|
+
rubygems_version: 3.2.17
|
96
124
|
signing_key:
|
97
125
|
specification_version: 4
|
98
126
|
summary: Plugin-able Memcached adapters to add features (compression, safety)
|