redis-activesupport 4.1.6.pre → 5.0.0.pre

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: 6919fcaa1c61e64d94d7cbcd20e320956c385247
4
- data.tar.gz: 2528731435eb7102d7dd9ca9ec62253cad7ec2c3
3
+ metadata.gz: a98062292b59f80d8d89a7b1db3a732720642669
4
+ data.tar.gz: 703f6b6011f45dd87da2fedcc96c42205a152a29
5
5
  SHA512:
6
- metadata.gz: c6684dfa22128db951fe854d82634b1c512c03605fc2f5b70f943293bb2228d8c051d33430c1e3a0d27670643a00847a4bdf0138f9525fb93393e90a70d48be7
7
- data.tar.gz: 73d58c822be26ffb4cbe56137c26be9f3d28e4d1d7d859611e8c1664cb53abb5830361e8f60bb87c5e6b4faaeee147a2927fec530d51aad73e6dc723c16d78f8
6
+ metadata.gz: 83fd09a12f8edaef3add9470dc6e3dec67cf873c3f4abcb96329dd3ca0b3cffc25f7d3e4b38d25c8732a32e77c98c97f2fd44cbd6024741a1c423a4882b73af2
7
+ data.tar.gz: e155abf7e66411075c8cbec8840cb59d6262ea8079cdaeb9ca21b8db43d56605f5ef8bc306202c0fdb0aeb0b52b154b6985ab2f91181908154698da9fa4a834b
data/.travis.yml CHANGED
@@ -3,11 +3,13 @@ script: 'bundle exec rake'
3
3
  gemfile:
4
4
  - gemfiles/Gemfile.activesupport-3.x
5
5
  - gemfiles/Gemfile.activesupport-4.x
6
+ - gemfiles/Gemfile.activesupport-5.x
6
7
  rvm:
7
8
  - 1.9.3
8
9
  - 2.0.0
9
10
  - 2.1.5
10
- - 2.2.3
11
+ - 2.2.4
12
+ - 2.3.0
11
13
  - ruby-head
12
14
  - rbx-19mode
13
15
  - jruby-19mode
@@ -16,6 +18,15 @@ services:
16
18
  - redis-server
17
19
  matrix:
18
20
  allow_failures:
19
- - rvm: rbx-19mode
20
21
  - rvm: jruby-head
21
22
  - rvm: ruby-head
23
+ - rvm: 1.9.3
24
+ gemfile: gemfiles/Gemfile.activesupport-5.x
25
+ - rvm: 2.0.0
26
+ gemfile: gemfiles/Gemfile.activesupport-5.x
27
+ - rvm: 2.1.5
28
+ gemfile: gemfiles/Gemfile.activesupport-5.x
29
+ - rvm: rbx-19mode
30
+ gemfile: gemfiles/Gemfile.activesupport-5.x
31
+ - rvm: jruby-19mode
32
+ gemfile: gemfiles/Gemfile.activesupport-5.x
data/Gemfile CHANGED
@@ -2,7 +2,7 @@ source 'https://rubygems.org'
2
2
  gemspec
3
3
 
4
4
  if ::File.directory?(gem_path = '../redis-store')
5
- gem 'redis-store', '~> 1.1.0', path: gem_path
5
+ gem 'redis-store', '~> 1.2.0.pre', path: gem_path
6
6
  end
7
7
 
8
8
  gem 'i18n'
data/README.md CHANGED
@@ -17,40 +17,6 @@ If you are using redis-store with Rails, consider using the [redis-rails gem](ht
17
17
  ActiveSupport::Cache.lookup_store :redis_store # { ... optional configuration ... }
18
18
  ```
19
19
 
20
- ### Usage with Redis Sentinel
21
-
22
- ```ruby
23
- sentinel_config = {
24
- url: "redis://mymaster/0",
25
- role: "master",
26
- sentinels: [{
27
- host: "127.0.0.1",
28
- port: 26379
29
- },{
30
- host: "127.0.0.1",
31
- port: 26380
32
- },{
33
- host: "127.0.0.1",
34
- port: 26381
35
- }]
36
- }
37
-
38
- # configure cache, merging opts with sentinel conf
39
- config.cache_store = :redis_store, sentinel_config.merge(
40
- :namespace => "cache",
41
- :expires_in => 1.days
42
- )
43
-
44
- # configure sessions, setting the sentinel config as the
45
- # servers value, merging opts with the sentinel conf.
46
- config.session_store :redis_store, {
47
- :servers => sentinel_config.merge(
48
- :namespace => "sessions"
49
- ),
50
- :expires_in => 2.days
51
- }
52
- ```
53
-
54
20
  ## Running tests
55
21
 
56
22
  ```shell
@@ -0,0 +1,13 @@
1
+ source "http://rubygems.org"
2
+
3
+ gem 'redis-store', '~> 1.1.0'
4
+ gem 'activesupport', '>= 5.0.0.beta1', '< 5.1'
5
+
6
+ group :development do
7
+ gem 'rake', '~> 10'
8
+ gem 'bundler', '~> 1.3'
9
+ gem 'mocha', '~> 0.14.0'
10
+ gem 'minitest', '~> 5.1'
11
+ gem 'connection_pool', '~> 1.2.0'
12
+ gem 'redis-store-testing'
13
+ end
@@ -57,7 +57,7 @@ module ActiveSupport
57
57
  options = merged_options(options)
58
58
  instrument(:write, name, options) do |payload|
59
59
  entry = options[:raw].present? ? value : Entry.new(value, options)
60
- write_entry(namespaced_key(name, options), entry, options)
60
+ write_entry(normalize_key(name, options), entry, options)
61
61
  end
62
62
  end
63
63
 
@@ -78,7 +78,7 @@ module ActiveSupport
78
78
  with do |store|
79
79
  !(keys = store.keys(matcher)).empty? && store.del(*keys)
80
80
  end
81
- rescue Errno::ECONNREFUSED, Errno::EHOSTUNREACH, Redis::CannotConnectError => e
81
+ rescue Errno::ECONNREFUSED, Errno::EHOSTUNREACH, Redis::CannotConnectError
82
82
  raise if raise_errors?
83
83
  false
84
84
  end
@@ -92,31 +92,27 @@ module ActiveSupport
92
92
  # cache.read_multi "rabbit", "white-rabbit"
93
93
  # cache.read_multi "rabbit", "white-rabbit", :raw => true
94
94
  def read_multi(*names)
95
- # Remove the options hash before mapping keys to values
96
95
  options = names.extract_options!
97
- return {} if names == []
98
-
99
- keys = names.map{|name| namespaced_key(name, options)}
96
+ keys = names.map{|name| normalize_key(name, options)}
100
97
  values = with { |c| c.mget(*keys) }
101
98
  values.map! { |v| v.is_a?(ActiveSupport::Cache::Entry) ? v.value : v }
102
99
 
103
- result = Hash[keys.zip(values)]
100
+ # Remove the options hash before mapping keys to values
101
+ names.extract_options!
102
+
103
+ result = Hash[names.zip(values)]
104
104
  result.reject!{ |k,v| v.nil? }
105
105
  result
106
106
  end
107
107
 
108
108
  def fetch_multi(*names)
109
+ results = read_multi(*names)
109
110
  options = names.extract_options!
110
- return {} if names == []
111
-
112
- results = read_multi(*names, options)
113
111
  fetched = {}
114
-
115
112
  need_writes = {}
116
113
 
117
- fetched = names.inject({}) do |memo, name|
118
- key = namespaced_key(name, options)
119
- memo[key] = results.fetch(key) do
114
+ fetched = names.inject({}) do |memo, (name, _)|
115
+ memo[name] = results.fetch(name) do
120
116
  value = yield name
121
117
  need_writes[name] = value
122
118
  value
@@ -157,9 +153,10 @@ module ActiveSupport
157
153
  #
158
154
  # cache.increment "rabbit"
159
155
  # cache.read "rabbit", :raw => true # => "1"
160
- def increment(key, amount = 1)
156
+ def increment(key, amount = 1, options = {})
157
+ options = merged_options(options)
161
158
  instrument(:increment, key, :amount => amount) do
162
- with{|c| c.incrby key, amount}
159
+ with{|c| c.incrby namespaced_key(key, options), amount}
163
160
  end
164
161
  end
165
162
 
@@ -184,15 +181,16 @@ module ActiveSupport
184
181
  #
185
182
  # cache.decrement "rabbit"
186
183
  # cache.read "rabbit", :raw => true # => "-1"
187
- def decrement(key, amount = 1)
184
+ def decrement(key, amount = 1, options = {})
185
+ options = merged_options(options)
188
186
  instrument(:decrement, key, :amount => amount) do
189
- with{|c| c.decrby key, amount}
190
-
187
+ with{|c| c.decrby namespaced_key(key, options), amount}
191
188
  end
192
189
  end
193
190
 
194
191
  def expire(key, ttl)
195
- with { |c| c.expire key, ttl }
192
+ options = merged_options(nil)
193
+ with { |c| c.expire namespaced_key(key, options), ttl }
196
194
  end
197
195
 
198
196
  # Clear all the data from the store.
@@ -214,7 +212,7 @@ module ActiveSupport
214
212
  end
215
213
 
216
214
  def with(&block)
217
- if @pooled
215
+ if defined?(@pooled) && @pooled
218
216
  @data.with(&block)
219
217
  else
220
218
  block.call(@data)
@@ -229,7 +227,7 @@ module ActiveSupport
229
227
  def write_entry(key, entry, options)
230
228
  method = options && options[:unless_exist] ? :setnx : :set
231
229
  with { |client| client.send method, key, entry, options }
232
- rescue Errno::ECONNREFUSED, Errno::EHOSTUNREACH, Redis::CannotConnectError => e
230
+ rescue Errno::ECONNREFUSED, Errno::EHOSTUNREACH, Redis::CannotConnectError
233
231
  raise if raise_errors?
234
232
  false
235
233
  end
@@ -239,7 +237,7 @@ module ActiveSupport
239
237
  if entry
240
238
  entry.is_a?(ActiveSupport::Cache::Entry) ? entry : ActiveSupport::Cache::Entry.new(entry)
241
239
  end
242
- rescue Errno::ECONNREFUSED, Errno::EHOSTUNREACH, Redis::CannotConnectError => e
240
+ rescue Errno::ECONNREFUSED, Errno::EHOSTUNREACH, Redis::CannotConnectError
243
241
  raise if raise_errors?
244
242
  nil
245
243
  end
@@ -250,8 +248,8 @@ module ActiveSupport
250
248
  # It's really needed and use
251
249
  #
252
250
  def delete_entry(key, options)
253
- entry = with { |c| c.del key }
254
- rescue Errno::ECONNREFUSED, Errno::EHOSTUNREACH, Redis::CannotConnectError => e
251
+ with { |c| c.del key }
252
+ rescue Errno::ECONNREFUSED, Errno::EHOSTUNREACH, Redis::CannotConnectError
255
253
  raise if raise_errors?
256
254
  false
257
255
  end
@@ -275,6 +273,14 @@ module ActiveSupport
275
273
  pattern
276
274
  end
277
275
  end
276
+
277
+ private
278
+
279
+ if ActiveSupport::VERSION::MAJOR < 5
280
+ def normalize_key(*args)
281
+ namespaced_key(*args)
282
+ end
283
+ end
278
284
  end
279
285
  end
280
286
  end
@@ -1,3 +1,3 @@
1
1
  require 'redis-store'
2
2
  require 'active_support'
3
- require 'active_support/cache/redis_store'
3
+ require 'active_support/cache/redis_store'
@@ -3,7 +3,7 @@ $:.push File.expand_path('../lib', __FILE__)
3
3
 
4
4
  Gem::Specification.new do |s|
5
5
  s.name = 'redis-activesupport'
6
- s.version = '4.1.6.pre'
6
+ s.version = '5.0.0.pre'
7
7
  s.authors = ['Luca Guidi', 'Ryan Bigg']
8
8
  s.email = ['me@lucaguidi.com', 'me@ryanbigg.com']
9
9
  s.homepage = 'http://redis-store.org/redis-activesupport'
@@ -18,13 +18,13 @@ Gem::Specification.new do |s|
18
18
  s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
19
19
  s.require_paths = ['lib']
20
20
 
21
- s.add_runtime_dependency 'redis-store', '~> 1.1.0'
22
- s.add_runtime_dependency 'activesupport', '>= 3', '< 5'
21
+ s.add_runtime_dependency 'redis-store', '~> 1.2.0.pre'
22
+ s.add_runtime_dependency 'activesupport', '>= 3', '< 6'
23
23
 
24
24
  s.add_development_dependency 'rake', '~> 10'
25
25
  s.add_development_dependency 'bundler', '~> 1.3'
26
26
  s.add_development_dependency 'mocha', '~> 0.14.0'
27
- s.add_development_dependency 'minitest', '~> 4.2'
27
+ s.add_development_dependency 'minitest', '>= 4.2', '< 6'
28
28
  s.add_development_dependency 'connection_pool', '~> 1.2.0'
29
29
  s.add_development_dependency 'redis-store-testing'
30
30
  end
data/stdout ADDED
File without changes
@@ -22,6 +22,7 @@ describe ActiveSupport::Cache::RedisStore do
22
22
  store.write "rabbit", @rabbit
23
23
  store.delete "counter"
24
24
  store.delete "rub-a-dub"
25
+ store.delete({hkey: 'test'})
25
26
  end
26
27
  end
27
28
 
@@ -144,6 +145,16 @@ describe ActiveSupport::Cache::RedisStore do
144
145
  end
145
146
  end
146
147
 
148
+ it "respects expiration time in seconds for object key" do
149
+ with_store_management do |store|
150
+ store.write({ hkey: 'test' }, @white_rabbit)
151
+ store.read({ hkey: 'test' }).must_equal(@white_rabbit)
152
+ store.expire({ hkey: 'test' }, 1.second)
153
+ sleep 2
154
+ store.read({ hkey: 'test' }).must_be_nil
155
+ end
156
+ end
157
+
147
158
  it "does't write data if :unless_exist option is true" do
148
159
  with_store_management do |store|
149
160
  store.write "rabbit", @white_rabbit, :unless_exist => true
@@ -220,6 +231,21 @@ describe ActiveSupport::Cache::RedisStore do
220
231
  end
221
232
  end
222
233
 
234
+ it "increments an object key" do
235
+ with_store_management do |store|
236
+ 3.times { store.increment({ hkey: 'test' }) }
237
+ store.read({ hkey: 'test' }, :raw => true).to_i.must_equal(3)
238
+ end
239
+ end
240
+
241
+ it "decrements an object key" do
242
+ with_store_management do |store|
243
+ 3.times { store.increment({ hkey: 'test' }) }
244
+ 2.times { store.decrement({ hkey: 'test' }) }
245
+ store.read({hkey: 'test'}, :raw => true).to_i.must_equal(1)
246
+ end
247
+ end
248
+
223
249
  it "increments a raw key" do
224
250
  with_store_management do |store|
225
251
  assert store.write("raw-counter", 1, :raw => true)
@@ -228,6 +254,14 @@ describe ActiveSupport::Cache::RedisStore do
228
254
  end
229
255
  end
230
256
 
257
+ it "increments a key with options argument" do
258
+ with_store_management do |store|
259
+ assert store.write("raw-counter", 1, :raw => true)
260
+ store.increment("raw-counter", 2, nil)
261
+ store.read("raw-counter", :raw => true).to_i.must_equal(3)
262
+ end
263
+ end
264
+
231
265
  it "decrements a raw key" do
232
266
  with_store_management do |store|
233
267
  assert store.write("raw-counter", 3, :raw => true)
@@ -251,6 +285,14 @@ describe ActiveSupport::Cache::RedisStore do
251
285
  end
252
286
  end
253
287
 
288
+ it "decrements a key with an options argument" do
289
+ with_store_management do |store|
290
+ 3.times { store.increment "counter" }
291
+ store.decrement "counter", 2, nil
292
+ store.read("counter", :raw => true).to_i.must_equal(1)
293
+ end
294
+ end
295
+
254
296
  it "clears the store" do
255
297
  with_store_management do |store|
256
298
  store.clear
@@ -309,18 +351,8 @@ describe ActiveSupport::Cache::RedisStore do
309
351
  @store.write "rub-a-dub", "Flora de Cana", namespace:'namespaced'
310
352
  @store.write "irish whisky", "Jameson", namespace:'namespaced'
311
353
  result = @store.read_multi "rub-a-dub", "irish whisky", namespace:'namespaced'
312
- result['namespaced:rub-a-dub'].must_equal("Flora de Cana")
313
- result['namespaced:irish whisky'].must_equal("Jameson")
314
- end
315
-
316
- it "read_multi return an empty {} when given an empty array" do
317
- result = @store.read_multi(*[])
318
- result.must_equal({})
319
- end
320
-
321
- it "read_multi return an empty {} when given an empty array with option" do
322
- result = @store.read_multi(*[], option: true)
323
- result.must_equal({})
354
+ result['rub-a-dub'].must_equal("Flora de Cana")
355
+ result['irish whisky'].must_equal("Jameson")
324
356
  end
325
357
 
326
358
  describe "fetch_multi" do
@@ -349,16 +381,6 @@ describe ActiveSupport::Cache::RedisStore do
349
381
  @store.read("rye").must_equal("rye-was-missing")
350
382
  @store.read("inner-rye").must_equal("rye-was-missing")
351
383
  end
352
-
353
- it "return an empty {} when given an empty array" do
354
- result = @store.fetch_multi(*[]) { 1 }
355
- result.must_equal({})
356
- end
357
-
358
- it "return an empty {} when given an empty array with option" do
359
- result = @store.fetch_multi(*[], option: true)
360
- result.must_equal({})
361
- end
362
384
  end
363
385
 
364
386
  describe "fetch_multi namespaced keys" do
@@ -369,7 +391,7 @@ describe ActiveSupport::Cache::RedisStore do
369
391
  "#{key}-was-missing"
370
392
  end
371
393
 
372
- result.must_equal({ "namespaced:bourbon" => "makers", "namespaced:rye" => "rye-was-missing" })
394
+ result.must_equal({ "bourbon" => "makers", "rye" => "rye-was-missing" })
373
395
  @store.read("namespaced:rye").must_equal("rye-was-missing")
374
396
  end
375
397
 
@@ -383,28 +405,12 @@ describe ActiveSupport::Cache::RedisStore do
383
405
  end
384
406
  end
385
407
 
386
- result.must_equal({ "namespaced:bourbon" => "makers", "namespaced:rye" => "rye-was-missing" })
408
+ result.must_equal({ "bourbon" => "makers", "rye" => "rye-was-missing" })
387
409
  @store.read("namespaced:rye").must_equal("rye-was-missing")
388
410
  @store.read("namespaced:inner-rye").must_equal("rye-was-missing")
389
411
  end
390
412
  end
391
413
 
392
- describe "fetch_multi nested keys" do
393
- it "reads existing keys and fills in anything missing" do
394
- @store.write ["bourbon", "bourbon-extended"], "makers"
395
-
396
- bourbon_key = ["bourbon", "bourbon-extended"]
397
- rye_key = ["rye", "rye-extended"]
398
-
399
- result = @store.fetch_multi(bourbon_key, rye_key) do |key|
400
- "#{key}-was-missing"
401
- end
402
-
403
- result.must_equal({ "bourbon/bourbon-extended" => "makers", "rye/rye-extended" => "#{rye_key}-was-missing" })
404
- @store.read(rye_key).must_equal("#{rye_key}-was-missing")
405
- end
406
- end
407
-
408
414
  describe "notifications" do
409
415
  it "notifies on #fetch" do
410
416
  with_notifications do
@@ -412,9 +418,14 @@ describe ActiveSupport::Cache::RedisStore do
412
418
  end
413
419
 
414
420
  read, generate, write = @events
421
+ if ActiveSupport::VERSION::MAJOR < 5
422
+ read_payload = { :key => 'radiohead', :super_operation => :fetch }
423
+ else
424
+ read_payload = { :key => 'radiohead', :super_operation => :fetch, hit: false }
425
+ end
415
426
 
416
427
  read.name.must_equal('cache_read.active_support')
417
- read.payload.must_equal({ :key => 'radiohead', :super_operation => :fetch })
428
+ read.payload.must_equal(read_payload)
418
429
 
419
430
  generate.name.must_equal('cache_generate.active_support')
420
431
  generate.payload.must_equal({ :key => 'radiohead' })
@@ -574,12 +585,19 @@ describe ActiveSupport::Cache::RedisStore do
574
585
 
575
586
  def with_notifications
576
587
  @events = [ ]
577
- ActiveSupport::Cache::RedisStore.instrument = true
588
+ ActiveSupport::Cache::RedisStore.instrument = true if instrument?
578
589
  ActiveSupport::Notifications.subscribe(/^cache_(.*)\.active_support$/) do |*args|
579
590
  @events << ActiveSupport::Notifications::Event.new(*args)
580
591
  end
581
592
  yield
582
- ActiveSupport::Cache::RedisStore.instrument = false
593
+ ensure
594
+ ActiveSupport::Cache::RedisStore.instrument = false if instrument?
595
+ end
596
+
597
+ # ActiveSupport::Cache.instrument is always +true+ since Rails 4.2.0
598
+ def instrument?
599
+ ActiveSupport::VERSION::MAJOR < 4 ||
600
+ ActiveSupport::VERSION::MAJOR == 4 && ActiveSupport::VERSION::MINOR < 2
583
601
  end
584
602
  end
585
603
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: redis-activesupport
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.1.6.pre
4
+ version: 5.0.0.pre
5
5
  platform: ruby
6
6
  authors:
7
7
  - Luca Guidi
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2017-03-31 00:00:00.000000000 Z
12
+ date: 2016-05-09 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: redis-store
@@ -17,14 +17,14 @@ dependencies:
17
17
  requirements:
18
18
  - - ~>
19
19
  - !ruby/object:Gem::Version
20
- version: 1.1.0
20
+ version: 1.2.0.pre
21
21
  type: :runtime
22
22
  prerelease: false
23
23
  version_requirements: !ruby/object:Gem::Requirement
24
24
  requirements:
25
25
  - - ~>
26
26
  - !ruby/object:Gem::Version
27
- version: 1.1.0
27
+ version: 1.2.0.pre
28
28
  - !ruby/object:Gem::Dependency
29
29
  name: activesupport
30
30
  requirement: !ruby/object:Gem::Requirement
@@ -34,7 +34,7 @@ dependencies:
34
34
  version: '3'
35
35
  - - <
36
36
  - !ruby/object:Gem::Version
37
- version: '5'
37
+ version: '6'
38
38
  type: :runtime
39
39
  prerelease: false
40
40
  version_requirements: !ruby/object:Gem::Requirement
@@ -44,7 +44,7 @@ dependencies:
44
44
  version: '3'
45
45
  - - <
46
46
  - !ruby/object:Gem::Version
47
- version: '5'
47
+ version: '6'
48
48
  - !ruby/object:Gem::Dependency
49
49
  name: rake
50
50
  requirement: !ruby/object:Gem::Requirement
@@ -91,16 +91,22 @@ dependencies:
91
91
  name: minitest
92
92
  requirement: !ruby/object:Gem::Requirement
93
93
  requirements:
94
- - - ~>
94
+ - - '>='
95
95
  - !ruby/object:Gem::Version
96
96
  version: '4.2'
97
+ - - <
98
+ - !ruby/object:Gem::Version
99
+ version: '6'
97
100
  type: :development
98
101
  prerelease: false
99
102
  version_requirements: !ruby/object:Gem::Requirement
100
103
  requirements:
101
- - - ~>
104
+ - - '>='
102
105
  - !ruby/object:Gem::Version
103
106
  version: '4.2'
107
+ - - <
108
+ - !ruby/object:Gem::Version
109
+ version: '6'
104
110
  - !ruby/object:Gem::Dependency
105
111
  name: connection_pool
106
112
  requirement: !ruby/object:Gem::Requirement
@@ -145,9 +151,11 @@ files:
145
151
  - Rakefile
146
152
  - gemfiles/Gemfile.activesupport-3.x
147
153
  - gemfiles/Gemfile.activesupport-4.x
154
+ - gemfiles/Gemfile.activesupport-5.x
148
155
  - lib/active_support/cache/redis_store.rb
149
156
  - lib/redis-activesupport.rb
150
157
  - redis-activesupport.gemspec
158
+ - stdout
151
159
  - test/active_support/cache/redis_store_test.rb
152
160
  - test/test_helper.rb
153
161
  homepage: http://redis-store.org/redis-activesupport