covercache 0.4.2 → 0.5.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/covercache.rb +36 -16
- data/lib/covercache/version.rb +1 -1
- data/spec/covercache.sqlite3 +0 -0
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 962f6170e0cb39b16f31357115797b453742a570
|
4
|
+
data.tar.gz: 3baac74848597eb9c13234c78d7bf8c9ca4a0e93
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4ab5fb62d99dadec2dc2a480f2fe324e92b778c733dbbd1db419278dfacab7645b9639afefdc320ccb0d4d54482e9efbdfa6857f40d2c02fa8aad5584ab95cef
|
7
|
+
data.tar.gz: b0e6e4a5148499ad78f4b8d8c5811825c082402d808d2138ce37dec53bd8a7af16af623517528c653bf5da16d10490df3c9a73aae40d53edfe78234bf86ab3e5
|
data/lib/covercache.rb
CHANGED
@@ -115,8 +115,7 @@ module Covercache
|
|
115
115
|
end
|
116
116
|
|
117
117
|
def push_covercache_key(key)
|
118
|
-
self.covercache_keys << key
|
119
|
-
self.covercache_keys.uniq!
|
118
|
+
self.covercache_keys = (covercache_keys << key).uniq
|
120
119
|
end
|
121
120
|
|
122
121
|
def get_auto_cache_key(_caller)
|
@@ -127,7 +126,7 @@ module Covercache
|
|
127
126
|
end
|
128
127
|
|
129
128
|
def get_class_name
|
130
|
-
self.instance_of?(Class) ?
|
129
|
+
self.instance_of?(Class) ? name : self.class.name
|
131
130
|
end
|
132
131
|
|
133
132
|
def extract_cache_key(*args)
|
@@ -192,11 +191,7 @@ module Covercache
|
|
192
191
|
module ModelConcern
|
193
192
|
extend ActiveSupport::Concern
|
194
193
|
|
195
|
-
included do
|
196
|
-
cattr_accessor :covercache_keys do
|
197
|
-
[]
|
198
|
-
end
|
199
|
-
|
194
|
+
included do
|
200
195
|
cattr_accessor :covercache_model_source do
|
201
196
|
@covercache_caller_source
|
202
197
|
end
|
@@ -204,7 +199,7 @@ module Covercache
|
|
204
199
|
cattr_accessor :covercache_model_digest
|
205
200
|
generate_model_digest!
|
206
201
|
|
207
|
-
after_commit :
|
202
|
+
after_commit :expire_covercache
|
208
203
|
|
209
204
|
extend Base
|
210
205
|
include Base
|
@@ -212,9 +207,17 @@ module Covercache
|
|
212
207
|
|
213
208
|
# Support class methods
|
214
209
|
module ClassMethods
|
210
|
+
def covercache_keys
|
211
|
+
Rails.cache.fetch(cache_keys_key) {[]}
|
212
|
+
end
|
213
|
+
|
214
|
+
def covercache_keys=(keys)
|
215
|
+
Rails.cache.write(cache_keys_key, keys)
|
216
|
+
end
|
217
|
+
|
215
218
|
def generate_model_digest
|
216
219
|
return unless covercache_model_source.present?
|
217
|
-
file = File.read
|
220
|
+
file = File.read covercache_model_source
|
218
221
|
Digest::MD5.hexdigest(file)
|
219
222
|
rescue
|
220
223
|
nil
|
@@ -225,19 +228,36 @@ module Covercache
|
|
225
228
|
self.covercache_model_digest = generate_model_digest
|
226
229
|
end
|
227
230
|
|
228
|
-
def
|
229
|
-
|
231
|
+
def expire_covercache
|
232
|
+
covercache_keys.each do |key|
|
230
233
|
Rails.cache.delete(key)
|
231
|
-
end
|
232
|
-
self.covercache_keys
|
234
|
+
end
|
235
|
+
self.covercache_keys = []
|
233
236
|
covercache_keys.empty?
|
234
237
|
end
|
238
|
+
|
239
|
+
alias_method :covercache_flush!, :expire_covercache
|
240
|
+
|
241
|
+
private
|
242
|
+
def cache_keys_key
|
243
|
+
"covercache_keys/#{name}/#{covercache_model_digest}"
|
244
|
+
end
|
245
|
+
end
|
246
|
+
|
247
|
+
def covercache_keys
|
248
|
+
self.class.send :covercache_keys
|
249
|
+
end
|
250
|
+
|
251
|
+
def covercache_keys=(keys)
|
252
|
+
self.class.send :covercache_keys=, keys
|
235
253
|
end
|
236
254
|
|
237
255
|
# flush cache on after_commit callback
|
238
|
-
def
|
239
|
-
self.class.send :
|
256
|
+
def expire_covercache
|
257
|
+
self.class.send :expire_covercache
|
240
258
|
end
|
259
|
+
|
260
|
+
alias_method :covercache_flush_cache!, :expire_covercache
|
241
261
|
end
|
242
262
|
|
243
263
|
# module CoversWithCache
|
data/lib/covercache/version.rb
CHANGED
data/spec/covercache.sqlite3
CHANGED
Binary file
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: covercache
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.5.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Tõnis Simo
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2014-02-
|
12
|
+
date: 2014-02-15 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: activesupport
|