redis-activesupport 4.1.6.pre → 5.0.0.pre

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