has_cache 0.0.2 → 0.1.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: 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