rails-cache-tags 1.3.1 → 1.3.2

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: e8dbeafaeb77ad8bf678216ab5394736222e516e
4
- data.tar.gz: ff7fd4145f49196921987c8a3822b4b19f5cb7a6
3
+ metadata.gz: ffa3ee36a2bbbdb72b538b31309db833ca3b5edd
4
+ data.tar.gz: d3e0272f5c56ec204d27f64b2eec55809c8f25bc
5
5
  SHA512:
6
- metadata.gz: efe9e5258b6f846832daac2ba26df2754e1ea8b1251d4ad0256bf0fcf7a685082f65a32239d5b04f9fc390a336b4f56405f64465d06f5ee167a233feed569489
7
- data.tar.gz: ac90ec2a280d85e0e07498909e5aaedd441afcb6867ccf771bb3ff78b05a9fc870feba10fc18bd4da5a1a9919876e47519470bef75da52bcbcde911160b33e01
6
+ metadata.gz: 61f8d07dfb0a900e18d82ffb4ec53b760d68e4aebc36fd134dbecdce4052bf0a753d6fb47e82cae24e04de19cee164c6aaef8050216cc1bad2ebaf02d126305a
7
+ data.tar.gz: 3e15df9a5b8aa84b1e5e875c9736d6bba08da4d1f0e946009d38f64d08abc3d9a6169bd8df40238d157bfa0da2d489939a9968a7095a19c3a443c8bf57fd7fa7
@@ -6,8 +6,6 @@ module Rails
6
6
  module Cache
7
7
  module Tags
8
8
  class Set
9
- KEY_PREFIX = '_tags'
10
-
11
9
  # @param [ActiveSupport::Cache::Store] cache
12
10
  def initialize(cache)
13
11
  @cache = cache
@@ -34,7 +34,7 @@ module Rails
34
34
  if entry
35
35
  entry
36
36
  else
37
- delete(name)
37
+ delete(name, options)
38
38
 
39
39
  nil
40
40
  end
@@ -54,12 +54,13 @@ module Rails
54
54
  end
55
55
 
56
56
  def exist_with_tags?(name, options = nil)
57
- exist_without_tags?(name, options) && !read(name).nil?
57
+ exist_without_tags?(name, options) && !read(name, options).nil?
58
58
  end
59
59
 
60
60
  def read_multi_with_tags(*names)
61
61
  result = read_multi_without_tags(*names)
62
62
 
63
+ names.extract_options!
63
64
  names.each_with_object(Hash.new) do |name, hash|
64
65
  hash[name.to_s] = tag_set.check(result[name.to_s])
65
66
  end
@@ -82,7 +83,7 @@ module Rails
82
83
  if (entry = tag_set.check(result))
83
84
  entry
84
85
  else # result is stale
85
- delete(name)
86
+ delete(name, options)
86
87
  fetch(name, options) { yield }
87
88
  end
88
89
  end
@@ -23,7 +23,7 @@ module Rails
23
23
 
24
24
  # Tag constructor
25
25
  def initialize(name)
26
- @name = ActiveSupport::Cache.expand_cache_key name
26
+ @name = ActiveSupport::Cache.expand_cache_key(name)
27
27
  end
28
28
 
29
29
  # real cache key
@@ -1,7 +1,7 @@
1
1
  module Rails
2
2
  module Cache
3
3
  module Tags
4
- VERSION = "1.3.1"
4
+ VERSION = "1.3.2"
5
5
  end
6
6
  end
7
7
  end
@@ -9,8 +9,8 @@ describe Rails::Cache::Tags do
9
9
  before { cache.clear }
10
10
 
11
11
  def assert_read(key, object)
12
- expect(cache.exist?(key)).to eq !!object
13
- expect(cache.read(key)).to eq object
12
+ expect(cache.exist?(key, options)).to eq !!object
13
+ expect(cache.read(key, options)).to eq object
14
14
  end
15
15
 
16
16
  def assert_blank(key)
@@ -18,33 +18,33 @@ describe Rails::Cache::Tags do
18
18
  end
19
19
 
20
20
  it 'reads and writes a key with tags' do
21
- cache.write 'foo', object, :tags => 'baz'
21
+ cache.write('foo', object, options.merge(:tags => 'baz'))
22
22
 
23
23
  assert_read 'foo', object
24
24
  end
25
25
 
26
26
  it 'deletes a key if tag is deleted' do
27
- cache.write('foo', object, :tags => 'baz')
27
+ cache.write('foo', object, options.merge(:tags => 'baz'))
28
28
  cache.delete_tag 'baz'
29
29
 
30
30
  assert_blank 'foo'
31
31
  end
32
32
 
33
33
  it 'reads a key if another tag was deleted' do
34
- cache.write('foo', object, :tags => 'baz')
34
+ cache.write('foo', object, options.merge(:tags => 'baz'))
35
35
  cache.delete_tag 'fu'
36
36
 
37
37
  assert_read 'foo', object
38
38
  end
39
39
 
40
40
  it 'reads and writes if multiple tags given' do
41
- cache.write('foo', object, :tags => [:baz, :kung])
41
+ cache.write('foo', object, options.merge(:tags => [:baz, :kung]))
42
42
 
43
43
  assert_read 'foo', object
44
44
  end
45
45
 
46
46
  it 'deletes a key if one of tags is deleted' do
47
- cache.write('foo', object, :tags => [:baz, :kung])
47
+ cache.write('foo', object, options.merge(:tags => [:baz, :kung]))
48
48
  cache.delete_tag :kung
49
49
 
50
50
  assert_blank 'foo'
@@ -63,7 +63,7 @@ describe Rails::Cache::Tags do
63
63
  #end
64
64
 
65
65
  it 'reads and writes a key if hash of tags given' do
66
- cache.write('foo', object, :tags => {:baz => 1})
66
+ cache.write('foo', object, options.merge(:tags => {:baz => 1}))
67
67
  assert_read 'foo', object
68
68
 
69
69
  cache.delete_tag :baz => 2
@@ -77,7 +77,7 @@ describe Rails::Cache::Tags do
77
77
  tag1 = 1.day.ago
78
78
  tag2 = 2.days.ago
79
79
 
80
- cache.write 'foo', object, :tags => [tag1, tag2]
80
+ cache.write 'foo', object, options.merge(:tags => [tag1, tag2])
81
81
  assert_read 'foo', object
82
82
 
83
83
  cache.delete_tag tag1
@@ -85,8 +85,8 @@ describe Rails::Cache::Tags do
85
85
  end
86
86
 
87
87
  it 'reads multiple keys with tags check' do
88
- cache.write 'foo', object, :tags => :bar
89
- cache.write 'bar', object, :tags => :baz
88
+ cache.write 'foo', object, options.merge(:tags => :bar)
89
+ cache.write 'bar', object, options.merge(:tags => :baz)
90
90
 
91
91
  assert_read 'foo', object
92
92
  assert_read 'bar', object
@@ -96,19 +96,19 @@ describe Rails::Cache::Tags do
96
96
  assert_blank 'foo'
97
97
  assert_read 'bar', object
98
98
 
99
- expect(cache.read_multi('foo', 'bar')).to eq('foo' => nil, 'bar' => object)
99
+ expect(cache.read_multi('foo', 'bar', options)).to eq('foo' => nil, 'bar' => object)
100
100
  end
101
101
 
102
102
  it 'fetches key with tag check' do
103
- cache.write 'foo', object, :tags => :bar
103
+ cache.write 'foo', object, options.merge(:tags => :bar)
104
104
 
105
- expect(cache.fetch('foo') { 'baz' }).to eq object
106
- expect(cache.fetch('foo')).to eq object
105
+ expect(cache.fetch('foo', options) { 'baz' }).to eq object
106
+ expect(cache.fetch('foo', options)).to eq object
107
107
 
108
108
  cache.delete_tag :bar
109
109
 
110
- expect(cache.fetch('foo')).to be_nil
111
- expect(cache.fetch('foo', :tags => :bar) { object }).to eq object
110
+ expect(cache.fetch('foo', options)).to be_nil
111
+ expect(cache.fetch('foo', options.merge(:tags => :bar)) { object }).to eq object
112
112
  assert_read 'foo', object
113
113
 
114
114
  cache.delete_tag :bar
@@ -124,28 +124,40 @@ describe Rails::Cache::Tags do
124
124
  COMPLEX_OBJECT = ComplexObject.new('bar')
125
125
 
126
126
  shared_examples 'cache with tags support' do |*tags|
127
- context '', tags do
128
- include_examples 'cache with tags support for', SCALAR_OBJECT
129
- include_examples 'cache with tags support for', COMPLEX_OBJECT
127
+ shared_examples 'cache with tags support with options' do
128
+ context '', tags do
129
+ include_examples 'cache with tags support for', SCALAR_OBJECT
130
+ include_examples 'cache with tags support for', COMPLEX_OBJECT
131
+
132
+ # test everything with locale cache
133
+ include_examples 'cache with tags support for', SCALAR_OBJECT do
134
+ include ActiveSupport::Cache::Strategy::LocalCache
135
+
136
+ around(:each) do |example|
137
+ if cache.respond_to?(:with_local_cache)
138
+ cache.with_local_cache { example.run }
139
+ end
140
+ end
141
+ end
130
142
 
131
- # test everything with locale cache
132
- include_examples 'cache with tags support for', SCALAR_OBJECT do
133
- include ActiveSupport::Cache::Strategy::LocalCache
143
+ include_examples 'cache with tags support for', COMPLEX_OBJECT do
144
+ include ActiveSupport::Cache::Strategy::LocalCache
134
145
 
135
- around(:each) do |example|
136
- if cache.respond_to?(:with_local_cache)
146
+ around(:each) do |example|
137
147
  cache.with_local_cache { example.run }
138
148
  end
139
149
  end
140
150
  end
151
+ end
141
152
 
142
- include_examples 'cache with tags support for', COMPLEX_OBJECT do
143
- include ActiveSupport::Cache::Strategy::LocalCache
153
+ context "without namespace option" do
154
+ let(:options) { {} }
155
+ include_examples 'cache with tags support with options'
156
+ end
144
157
 
145
- around(:each) do |example|
146
- cache.with_local_cache { example.run }
147
- end
148
- end
158
+ context "with namespace option" do
159
+ let(:options) { {namespace: 'namespace'} }
160
+ include_examples 'cache with tags support with options'
149
161
  end
150
162
  end
151
163
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rails-cache-tags
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.3.1
4
+ version: 1.3.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Alexei Mikhailov
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-05-21 00:00:00.000000000 Z
11
+ date: 2015-09-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -184,7 +184,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
184
184
  version: '0'
185
185
  requirements: []
186
186
  rubyforge_project:
187
- rubygems_version: 2.2.2
187
+ rubygems_version: 2.4.3
188
188
  signing_key:
189
189
  specification_version: 4
190
190
  summary: Tagged caching support for Rails