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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 55e16d283b58bb6ebd956383b4566649afc61921
4
- data.tar.gz: 22a54a11b422d63e722474e81d1bda1107e93a2a
3
+ metadata.gz: 962f6170e0cb39b16f31357115797b453742a570
4
+ data.tar.gz: 3baac74848597eb9c13234c78d7bf8c9ca4a0e93
5
5
  SHA512:
6
- metadata.gz: 87f3fdcb8117a30cda97a7c028d2e59f0bb6889e2f71868e4a08847381c3c4d8f86755df2bfb418206274a046a60d9a66784f642ca47e24db98db0059fa8846c
7
- data.tar.gz: 960ad18ab101b9a696e384965c011c7d11e864b4298bb0bf19aa0a3e653dc972366306c5e3880beb01166a95ded3f1a5da892ad86cf8b235057db344d24504b8
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) ? self.name : self.class.name
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 :covercache_flush_cache!
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 self.covercache_model_source
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 covercache_flush!
229
- self.covercache_keys.each do |key|
231
+ def expire_covercache
232
+ covercache_keys.each do |key|
230
233
  Rails.cache.delete(key)
231
- end # if Rails.cache.exist?(key)
232
- self.covercache_keys.clear
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 covercache_flush_cache!
239
- self.class.send :covercache_flush!
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
@@ -1,3 +1,3 @@
1
1
  module Covercache
2
- VERSION = "0.4.2"
2
+ VERSION = "0.5.0"
3
3
  end
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.2
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-08 00:00:00.000000000 Z
12
+ date: 2014-02-15 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: activesupport