libmemcached_store 0.8.0 → 0.8.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 81049d49ca34851708a4420138dcda2e5f066cc3
4
- data.tar.gz: c2a1cab1fa37246d1c9488a826992f06d42582a6
3
+ metadata.gz: 6bdacb0e84cc9933294795e0457a53a8057112d9
4
+ data.tar.gz: a6f3781d7d091169119a24a399af676cf9196c04
5
5
  SHA512:
6
- metadata.gz: 0893cf06da549233d33041a00ada8de50380eb2d3bb0e95ed2534abe24c889622f9a0139272a28927edd88962000c5e6050fccb3f28f28e042043cd50ded332b
7
- data.tar.gz: 5f935624798ce3060f7d0bcd3f0fb67f04d660c84aba61ee0451880da385cb75febc27d56895c7c5a7d2dce1077ae60605f31fcc17785fe1a9f0bc08a2f0adde
6
+ metadata.gz: 07c4437327c1b4faf968a0e63f107c689a35e2a33731de239bd234e75a9628b10ec28544e45626ef28ad5adf14b27fe6749313f63f89c90f4b2e0926bd285581
7
+ data.tar.gz: 1a1b3dd17f528032b63f8e6afb8a5f58884dd49a60531d990d7fc25d7a345ab5a38090d17f7cbc85aa0b8b5ffa121f7e28f5f6a4f9bf35de3df1b09c7c943701
@@ -62,7 +62,7 @@ module ActiveSupport
62
62
  end
63
63
 
64
64
  # memcached returns a fixnum on increment, but the value that is stored is raw / a string
65
- def increment(key, amount, options={})
65
+ def increment(key, amount = 1, options={})
66
66
  result = super
67
67
  if result && (cache = local_cache)
68
68
  cache.write(key, result.to_s)
@@ -71,7 +71,7 @@ module ActiveSupport
71
71
  end
72
72
 
73
73
  # memcached returns a fixnum on decrement, but the value that is stored is raw / a string
74
- def decrement(key, amount, options={})
74
+ def decrement(key, amount = 1, options={})
75
75
  result = super
76
76
  if result && (cache = local_cache)
77
77
  cache.write(key, result.to_s)
@@ -91,7 +91,7 @@ module ActiveSupport
91
91
  if options && options[:race_condition_ttl] && options[:expires_in]
92
92
  fetch_with_race_condition_ttl(key, options, &block)
93
93
  else
94
- key = expanded_key(key)
94
+ key = normalize_key(key)
95
95
  unless options && options[:force]
96
96
  entry = instrument(:read, key, options) do |payload|
97
97
  read_entry(key, options).tap do |result|
@@ -120,7 +120,7 @@ module ActiveSupport
120
120
  end
121
121
 
122
122
  def read(key, options = nil)
123
- key = expanded_key(key)
123
+ key = normalize_key(key)
124
124
  instrument(:read, key, options) do |payload|
125
125
  entry = read_entry(key, options)
126
126
  payload[:hit] = !!entry if payload
@@ -129,24 +129,24 @@ module ActiveSupport
129
129
  end
130
130
 
131
131
  def write(key, value, options = nil)
132
- key = expanded_key(key)
132
+ key = normalize_key(key)
133
133
  instrument(:write, key, options) do |payload|
134
134
  write_entry(key, value, options)
135
135
  end
136
136
  end
137
137
 
138
138
  def delete(key, options = nil)
139
- key = expanded_key(key)
139
+ key = normalize_key(key)
140
140
  instrument(:delete, key) do |payload|
141
141
  delete_entry(key, options)
142
142
  end
143
143
  end
144
144
 
145
145
  def exist?(key, options = nil)
146
- key = expanded_key(key)
146
+ key = normalize_key(key)
147
147
  instrument(:exist?, key) do |payload|
148
148
  if @cache.respond_to?(:exist)
149
- @cache.exist(escape_and_normalize(key))
149
+ @cache.exist(key)
150
150
  true
151
151
  else
152
152
  read_entry(key, options) != nil
@@ -157,9 +157,9 @@ module ActiveSupport
157
157
  end
158
158
 
159
159
  def increment(key, amount = 1, options = nil)
160
- key = expanded_key(key)
160
+ key = normalize_key(key)
161
161
  instrument(:increment, key, amount: amount) do
162
- @cache.incr(escape_and_normalize(key), amount)
162
+ @cache.incr(key, amount)
163
163
  end
164
164
  rescue Memcached::NotFound
165
165
  nil
@@ -169,9 +169,9 @@ module ActiveSupport
169
169
  end
170
170
 
171
171
  def decrement(key, amount = 1, options = nil)
172
- key = expanded_key(key)
172
+ key = normalize_key(key)
173
173
  instrument(:decrement, key, amount: amount) do
174
- @cache.decr(escape_and_normalize(key), amount)
174
+ @cache.decr(key, amount)
175
175
  end
176
176
  rescue Memcached::NotFound
177
177
  nil
@@ -186,7 +186,7 @@ module ActiveSupport
186
186
 
187
187
  return {} if names.empty?
188
188
 
189
- mapping = Hash[names.map {|name| [escape_and_normalize(expanded_key(name)), name] }]
189
+ mapping = Hash[names.map {|name| [normalize_key(name), name] }]
190
190
  keys = mapping.keys
191
191
  raw_values, flags = instrument(:read_multi, keys, options) do
192
192
  @cache.get(keys, false, true)
@@ -216,7 +216,7 @@ module ActiveSupport
216
216
 
217
217
  def read_entry(key, options = nil)
218
218
  options ||= {}
219
- raw_value, flags = @cache.get(escape_and_normalize(key), false, true)
219
+ raw_value, flags = @cache.get(key, false, true)
220
220
  value = deserialize(raw_value, options[:raw], flags)
221
221
  convert_race_condition_entry(value, options)
222
222
  rescue Memcached::NotFound
@@ -237,7 +237,7 @@ module ActiveSupport
237
237
  flags |= FLAG_COMPRESSED
238
238
  end
239
239
 
240
- @cache.send(method, escape_and_normalize(key), entry, options[:expires_in].to_i, false, flags)
240
+ @cache.send(method, key, entry, options[:expires_in].to_i, false, flags)
241
241
  true
242
242
  rescue Memcached::Error => e
243
243
  log_error(e)
@@ -245,7 +245,7 @@ module ActiveSupport
245
245
  end
246
246
 
247
247
  def delete_entry(key, options = nil)
248
- @cache.delete(escape_and_normalize(key))
248
+ @cache.delete(key)
249
249
  true
250
250
  rescue Memcached::NotFound
251
251
  false
@@ -296,6 +296,10 @@ module ActiveSupport
296
296
  value
297
297
  end
298
298
 
299
+ def normalize_key(key)
300
+ escape_and_normalize(expanded_key(key))
301
+ end
302
+
299
303
  def escape_and_normalize(key)
300
304
  key = key.to_s.force_encoding("BINARY").gsub(ESCAPE_KEY_CHARS) { |match| "%#{match.getbyte(0).to_s(16).upcase}" }
301
305
  key_length = key.length
@@ -1,3 +1,3 @@
1
1
  module LibmemcachedStore
2
- VERSION = "0.8.0"
2
+ VERSION = "0.8.1"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: libmemcached_store
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.8.0
4
+ version: 0.8.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Christopher Cocchi-Perrier
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2015-11-20 00:00:00.000000000 Z
13
+ date: 2016-03-07 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: memcached