redis-rack-cache 1.2.2 → 1.2.3

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: a27c0697f87a2be8df345a9574fd2a147757a436
4
- data.tar.gz: 4f8dbacc0dc99c8c090df77eb6ed43c5df11bf1e
3
+ metadata.gz: f3caa665e3dee89bd21a7085aea42e75b4d3cad6
4
+ data.tar.gz: 5897df28cb8746aa90ab45263a27bd600881a724
5
5
  SHA512:
6
- metadata.gz: 0052d77cf8c4def6a8ed6b1e6c469254b83a17829e16f78302aca94257f5a94b72119598148f5e8c3b66ddd9d483a613f06f2a09e64cbe86e216bf61579bd088
7
- data.tar.gz: 2328953e9d8b85c3b0e581cba5f4aade3d03924c3045bedaa75671df79d418e5c59d6752d59a91dc0ccb3ece04e8d6f238cec2785398f28183d26f828de7351f
6
+ metadata.gz: 8c0e010d1f2e16f01a2d879ffd7ad825d683cdcfccdea568d98f86a8e316a7200d66f70b460228f297bc8a4d15e99eeb1a611f0efd0cb1ea46b7697a919933d1
7
+ data.tar.gz: 924de8a2b5e29fb57dfd5fb404b4c55d284f77968d4e6d0a43dfd2f8634d02224bdbd8abf27cf12bf67a97981e17a6cc9930a42c1dc6327357f36df7d8c121b4
data/.gitignore CHANGED
@@ -1,5 +1,3 @@
1
- *.gem
2
- .bundle
3
1
  Gemfile.lock
4
- pkg/*
5
- tmp/*
2
+ *.gem
3
+ tmp/
@@ -0,0 +1,14 @@
1
+ language: ruby
2
+ script: 'bundle exec rake'
3
+ rvm:
4
+ - 1.9.3
5
+ - 2.0.0
6
+ - ruby-head
7
+ - rbx-19mode
8
+ - jruby-19mode
9
+ - jruby-head
10
+
11
+ matrix:
12
+ allow_failures:
13
+ - rvm: jruby-head
14
+ - rvm: ruby-head
data/Gemfile CHANGED
@@ -1,4 +1,6 @@
1
1
  source 'https://rubygems.org'
2
2
  gemspec
3
3
 
4
- gem 'redis-store', '~> 1.1.0', path: '../redis-store'
4
+ if ::File.directory?(gem_path = '../redis-store')
5
+ gem 'redis-store', '~> 1.1.0', path: gem_path
6
+ end
data/README.md CHANGED
@@ -1,35 +1,49 @@
1
1
  # Redis stores for Rack::Cache
2
2
 
3
- __`redis-rack-cache`__ provides a Redis backed store for __Rack::Cache__, an HTTP cache. See the main [redis-store readme](https://github.com/jodosha/redis-store) for general guidelines.
3
+ ## New maintainer required
4
+
5
+ **I am currently looking for a new maintainer for this gem. I am no longer doing any more work on this myself. Please contact me@ryanbigg.com if you'd like to take over this project.**
6
+
7
+ __`redis-rack-cache`__ provides a Redis backed store for __Rack::Cache__, an HTTP cache. See the main [redis-store readme](https://github.com/redis-store/redis-store) for general guidelines.
4
8
 
5
9
  ## Installation
6
10
 
7
- # Gemfile
8
- gem 'redis-rack-cache'
11
+ ```ruby
12
+ # Gemfile
13
+ gem 'redis-rack-cache'
14
+ ```
9
15
 
10
- ### Usage
16
+ ## Usage
11
17
 
12
- If you are using redis-store with Rails, consider using the [redis-rails gem](https://github.com/jodosha/redis-store/tree/master/redis-rails) instead. For standalone usage:
18
+ If you are using redis-store with Rails, consider using the [redis-rails gem](https://github.com/redis-store/redis-rails) instead. For standalone usage:
13
19
 
14
- # config.ru
15
- require 'rack'
16
- require 'rack/cache'
17
- require 'redis-rack-cache'
20
+ ```ruby
21
+ # config.ru
22
+ require 'rack'
23
+ require 'rack/cache'
24
+ require 'redis-rack-cache'
18
25
 
19
- use Rack::Cache,
20
- metastore: 'redis://localhost:6379/0/metastore',
21
- entitystore: 'redis://localhost:6380/0/entitystore'
26
+ use Rack::Cache,
27
+ metastore: 'redis://localhost:6379/0/metastore',
28
+ entitystore: 'redis://localhost:6380/0/entitystore'
29
+ ```
22
30
 
23
31
  ## Running tests
24
32
 
25
- gem install bundler
26
- git clone git://github.com/jodosha/redis-store.git
27
- cd redis-store/redis-rack-cache
28
- bundle install
29
- bundle exec rake
33
+ ```shell
34
+ gem install bundler
35
+ git clone git://github.com/redis-store/redis-rack-cache.git
36
+ cd redis-rack-cache
37
+ bundle install
38
+ bundle exec rake
39
+ ```
30
40
 
31
41
  If you are on **Snow Leopard** you have to run `env ARCHFLAGS="-arch x86_64" bundle exec rake`
32
42
 
43
+ ## Status
44
+
45
+ [![Gem Version](https://badge.fury.io/rb/redis-rack-cache.png)](http://badge.fury.io/rb/redis-rack-cache) [![Build Status](https://secure.travis-ci.org/redis-store/redis-rack-cache.png?branch=master)](http://travis-ci.org/jodosha/redis-rack-cache?branch=master) [![Code Climate](https://codeclimate.com/github/jodosha/redis-store.png)](https://codeclimate.com/github/redis-store/redis-rack-cache)
46
+
33
47
  ## Copyright
34
48
 
35
- (c) 2009 - 2011 Luca Guidi - [http://lucaguidi.com](http://lucaguidi.com), released under the MIT license
49
+ 2009 - 2013 Luca Guidi - [http://lucaguidi.com](http://lucaguidi.com), released under the MIT license
data/Rakefile CHANGED
@@ -1,7 +1,4 @@
1
- require 'bundler'
2
- Bundler.setup
1
+ require 'bundler/setup'
3
2
  require 'rake'
4
3
  require 'bundler/gem_tasks'
5
-
6
- load 'tasks/redis.tasks.rb'
7
- task :default => 'redis:test:suite'
4
+ require 'redis-store/testing/tasks'
@@ -1,4 +1,5 @@
1
1
  require 'rack/cache/entitystore'
2
+ require 'redis-rack-cache/constants'
2
3
 
3
4
  module Rack
4
5
  module Cache
@@ -36,11 +37,8 @@ module Rack
36
37
  buf = StringIO.new
37
38
  key, size = slurp(body){|part| buf.write(part) }
38
39
 
39
- if ttl.zero?
40
- [key, size] if cache.set(key, buf.string)
41
- else
42
- [key, size] if cache.setex(key, ttl, buf.string)
43
- end
40
+ ttl = ::Redis::Rack::Cache::DEFAULT_TTL if ttl.zero?
41
+ [key, size] if cache.setex(key, ttl, buf.string)
44
42
  end
45
43
 
46
44
  def purge(key)
@@ -2,6 +2,7 @@ require 'digest/sha1'
2
2
  require 'rack/utils'
3
3
  require 'rack/cache/key'
4
4
  require 'rack/cache/metastore'
5
+ require 'redis-rack-cache/constants'
5
6
 
6
7
  module Rack
7
8
  module Cache
@@ -29,8 +30,9 @@ module Rack
29
30
  cache.get(hexdigest(key)) || []
30
31
  end
31
32
 
32
- def write(key, entries)
33
- cache.set(hexdigest(key), entries)
33
+ def write(key, entries, ttl=0)
34
+ ttl = ::Redis::Rack::Cache::DEFAULT_TTL if ttl.zero?
35
+ cache.setex(hexdigest(key), ttl, entries)
34
36
  end
35
37
 
36
38
  def purge(key)
@@ -0,0 +1,7 @@
1
+ class Redis
2
+ module Rack
3
+ module Cache
4
+ DEFAULT_TTL = 86_400 * 365 # 1 year
5
+ end
6
+ end
7
+ end
@@ -1,7 +1,7 @@
1
1
  class Redis
2
2
  module Rack
3
3
  module Cache
4
- VERSION = '1.2.2'
4
+ VERSION = '1.2.3'
5
5
  end
6
6
  end
7
7
  end
@@ -1,22 +1,23 @@
1
1
  # -*- encoding: utf-8 -*-
2
- $:.push File.expand_path("../lib", __FILE__)
3
- require "redis-rack-cache/version"
2
+ $:.push File.expand_path('../lib', __FILE__)
3
+ require 'redis-rack-cache/version'
4
4
 
5
5
  Gem::Specification.new do |s|
6
- s.name = "redis-rack-cache"
6
+ s.name = 'redis-rack-cache'
7
7
  s.version = Redis::Rack::Cache::VERSION
8
- s.authors = ["Luca Guidi"]
9
- s.email = ["me@lucaguidi.com"]
10
- s.homepage = "http://redis-store.org/redis-rack-cache"
8
+ s.authors = ['Luca Guidi']
9
+ s.email = ['me@lucaguidi.com']
10
+ s.homepage = 'http://redis-store.org/redis-rack-cache'
11
11
  s.summary = %q{Redis for Rack::Cache}
12
12
  s.description = %q{Redis for Rack::Cache}
13
+ s.license = 'MIT'
13
14
 
14
- s.rubyforge_project = "redis-rack-cache"
15
+ s.rubyforge_project = 'redis-rack-cache'
15
16
 
16
17
  s.files = `git ls-files`.split("\n")
17
18
  s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
18
19
  s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
19
- s.require_paths = ["lib"]
20
+ s.require_paths = ['lib']
20
21
 
21
22
  s.add_dependency 'redis-store', '~> 1.1.0'
22
23
  s.add_dependency 'rack-cache', '~> 1.2'
@@ -25,4 +26,5 @@ Gem::Specification.new do |s|
25
26
  s.add_development_dependency 'bundler', '~> 1.3'
26
27
  s.add_development_dependency 'mocha', '~> 0.14.0'
27
28
  s.add_development_dependency 'minitest', '~> 5'
29
+ s.add_development_dependency 'redis-store-testing'
28
30
  end
@@ -113,6 +113,13 @@ describe Rack::Cache::MetaStore::Redis do
113
113
  store_simple_entry('/bad', { 'SOME_THING' => Proc.new {} })
114
114
  end
115
115
 
116
+ it 'takes a ttl parameter for #write' do
117
+ @store.write('/foo', [[{},{}]], 123)
118
+ data = @store.read('/foo')
119
+ data.must_equal([[{},{}]])
120
+ end
121
+
122
+
116
123
  # Abstract methods ===========================================================
117
124
 
118
125
  it 'stores a cache entry' do
@@ -266,4 +273,4 @@ describe Rack::Cache::MetaStore::Redis do
266
273
  define_method :uri do |uri|
267
274
  URI.parse uri
268
275
  end
269
- end
276
+ end
metadata CHANGED
@@ -1,99 +1,113 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: redis-rack-cache
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.2
4
+ version: 1.2.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Luca Guidi
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-08-20 00:00:00.000000000 Z
11
+ date: 2015-11-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: redis-store
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ~>
17
+ - - "~>"
18
18
  - !ruby/object:Gem::Version
19
19
  version: 1.1.0
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - ~>
24
+ - - "~>"
25
25
  - !ruby/object:Gem::Version
26
26
  version: 1.1.0
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: rack-cache
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - ~>
31
+ - - "~>"
32
32
  - !ruby/object:Gem::Version
33
33
  version: '1.2'
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - ~>
38
+ - - "~>"
39
39
  - !ruby/object:Gem::Version
40
40
  version: '1.2'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: rake
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - ~>
45
+ - - "~>"
46
46
  - !ruby/object:Gem::Version
47
47
  version: '10'
48
48
  type: :development
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - ~>
52
+ - - "~>"
53
53
  - !ruby/object:Gem::Version
54
54
  version: '10'
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: bundler
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
- - - ~>
59
+ - - "~>"
60
60
  - !ruby/object:Gem::Version
61
61
  version: '1.3'
62
62
  type: :development
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
- - - ~>
66
+ - - "~>"
67
67
  - !ruby/object:Gem::Version
68
68
  version: '1.3'
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: mocha
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
- - - ~>
73
+ - - "~>"
74
74
  - !ruby/object:Gem::Version
75
75
  version: 0.14.0
76
76
  type: :development
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
- - - ~>
80
+ - - "~>"
81
81
  - !ruby/object:Gem::Version
82
82
  version: 0.14.0
83
83
  - !ruby/object:Gem::Dependency
84
84
  name: minitest
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
- - - ~>
87
+ - - "~>"
88
88
  - !ruby/object:Gem::Version
89
89
  version: '5'
90
90
  type: :development
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
- - - ~>
94
+ - - "~>"
95
95
  - !ruby/object:Gem::Version
96
96
  version: '5'
97
+ - !ruby/object:Gem::Dependency
98
+ name: redis-store-testing
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - ">="
102
+ - !ruby/object:Gem::Version
103
+ version: '0'
104
+ type: :development
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - ">="
109
+ - !ruby/object:Gem::Version
110
+ version: '0'
97
111
  description: Redis for Rack::Cache
98
112
  email:
99
113
  - me@lucaguidi.com
@@ -101,7 +115,8 @@ executables: []
101
115
  extensions: []
102
116
  extra_rdoc_files: []
103
117
  files:
104
- - .gitignore
118
+ - ".gitignore"
119
+ - ".travis.yml"
105
120
  - Gemfile
106
121
  - MIT-LICENSE
107
122
  - README.md
@@ -109,6 +124,7 @@ files:
109
124
  - lib/rack/cache/redis_entitystore.rb
110
125
  - lib/rack/cache/redis_metastore.rb
111
126
  - lib/redis-rack-cache.rb
127
+ - lib/redis-rack-cache/constants.rb
112
128
  - lib/redis-rack-cache/version.rb
113
129
  - redis-rack-cache.gemspec
114
130
  - test/rack/cache/entitystore/pony.jpg
@@ -117,7 +133,8 @@ files:
117
133
  - test/redis-rack-cache/version_test.rb
118
134
  - test/test_helper.rb
119
135
  homepage: http://redis-store.org/redis-rack-cache
120
- licenses: []
136
+ licenses:
137
+ - MIT
121
138
  metadata: {}
122
139
  post_install_message:
123
140
  rdoc_options: []
@@ -125,17 +142,17 @@ require_paths:
125
142
  - lib
126
143
  required_ruby_version: !ruby/object:Gem::Requirement
127
144
  requirements:
128
- - - '>='
145
+ - - ">="
129
146
  - !ruby/object:Gem::Version
130
147
  version: '0'
131
148
  required_rubygems_version: !ruby/object:Gem::Requirement
132
149
  requirements:
133
- - - '>='
150
+ - - ">="
134
151
  - !ruby/object:Gem::Version
135
152
  version: '0'
136
153
  requirements: []
137
154
  rubyforge_project: redis-rack-cache
138
- rubygems_version: 2.0.3
155
+ rubygems_version: 2.4.5
139
156
  signing_key:
140
157
  specification_version: 4
141
158
  summary: Redis for Rack::Cache