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 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