covercache 0.4.2 → 0.5.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.
- 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
|