has_cache 0.0.2 → 0.1.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: 1ec96c41ff5a74d6bb7fb4304d418de54d073e63
4
- data.tar.gz: aef6f888d5baca3d6f18c906be02ef321c481cf7
3
+ metadata.gz: f097af5dce6e37cb73c4780e8cd16f278e374451
4
+ data.tar.gz: 8a62ceaa33422e9b19e1b27ee583a77275791451
5
5
  SHA512:
6
- metadata.gz: 3996dcfa0146c3870f4899bcec834712ae1713c877f11c7ca4277a248d55f8465543d011fede76284ece02107d38c0a50775ebd6f0303c21e3e2bdda79631ab4
7
- data.tar.gz: 1e17b5ccf6fcfac329ae80048ab4bcd9bd42d443269fe3653c5f43a1e6bfd4e38d0888dffa6484f4d4210a4236cc63927f948828ed07cb7fb0ed0388c38d3b52
6
+ metadata.gz: 979c91b0b8f95f777b4542a481db3d71503e9e1f2d3bdbf034e178756ca7f5d9f639bcbd213ba65fc49765599b3e63d2fca59d296e59c5ddee5f5351f0f48488
7
+ data.tar.gz: fccff51b978e8ca8b580201b6f407c1041f1f384ddff0b7ca76181ed323eb11a425dd08f516e94aef25ef8707516176293d31b9203c3d2aceb3ff6f9738b68f1
@@ -27,13 +27,17 @@ module HasCache
27
27
  unless o.cache_options.delete(:canonical_key) || block_source.nil?
28
28
  key += [block_source]
29
29
  end
30
- Rails.cache.fetch(key, o.cache_options) do
31
- if o.target.is_a?(Class)
32
- result = o.target.class_eval(&block)
33
- else
34
- result = o.target.instance_eval(&block)
30
+ if o.cache_options.delete(:delete)
31
+ Rails.cache.delete(key)
32
+ else
33
+ Rails.cache.fetch(key, o.cache_options) do
34
+ if o.target.is_a?(Class)
35
+ result = o.target.class_eval(&block)
36
+ else
37
+ result = o.target.instance_eval(&block)
38
+ end
39
+ extract_result(result)
35
40
  end
36
- extract_result(result)
37
41
  end
38
42
  end
39
43
 
@@ -88,8 +92,12 @@ module HasCache
88
92
  key += [method]
89
93
  key += args unless args.empty?
90
94
  end
91
- Rails.cache.fetch(key, cache_options) do
92
- extract_result(target.send(method, *args))
95
+ if cache_options.delete(:delete)
96
+ Rails.cache.delete(key)
97
+ else
98
+ Rails.cache.fetch(key, cache_options) do
99
+ extract_result(target.send(method, *args))
100
+ end
93
101
  end
94
102
  end
95
103
 
@@ -3,9 +3,6 @@ module HasCache
3
3
  module Mixin
4
4
  extend ActiveSupport::Concern
5
5
 
6
- included do
7
- end
8
-
9
6
  # Mixin class methods
10
7
  module ClassMethods
11
8
  def has_cache(*args)
@@ -25,6 +22,11 @@ module HasCache
25
22
  def cached(*args, &block)
26
23
  HasCache::Cache.new(self, *args, &block)
27
24
  end
25
+
26
+ def delete_cached(*args, &block)
27
+ args.push :delete => true
28
+ HasCache::Cache.new(self, *args, &block)
29
+ end
28
30
  end
29
31
  end
30
32
  end
@@ -1,4 +1,4 @@
1
1
  # @private
2
2
  module HasCache
3
- VERSION = '0.0.2'
3
+ VERSION = '0.1.0'
4
4
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: has_cache
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Peter Fern
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-10-29 00:00:00.000000000 Z
11
+ date: 2014-02-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails