redis-store 1.0.0.beta3 → 1.0.0.beta4

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.

Potentially problematic release.


This version of redis-store might be problematic. Click here for more details.

data/CHANGELOG CHANGED
@@ -1,3 +1,17 @@
1
+ *1.0.0 [beta4] (December 15, 2010)*
2
+
3
+ * Bump version v1.0.0.beta4
4
+ * Force Rails cache store when ActiveSupport is detected
5
+ * Make sure to accept options when :servers isn't passed
6
+ * Always force session store loading when using Rails
7
+ * Make it compatible with Rails 3 sessions store [Andre Medeiros]
8
+ * Better Rails 3 detection [Andre Medeiros]
9
+ * Added support for password in Redis URI resolution [Jacob Gyllenstierna]
10
+ * fix deleting values from session hash [Calvin Yu]
11
+ * Use defensive design when build options for a store
12
+ * ActiveSupport cache store doesn't accept any argument in Rails 2
13
+ * Updated dependencies
14
+
1
15
  *1.0.0 [beta3] (September 10, 2010)*
2
16
 
3
17
  * Bump version v1.0.0.beta3
data/Gemfile CHANGED
@@ -8,9 +8,9 @@ end
8
8
 
9
9
  group :development, :test, :rails3 do
10
10
  gem "rack"
11
- gem "rspec"
12
11
  gem "rack-cache"
13
12
  gem "merb", "1.1.0"
13
+ gem "rspec", "1.3.0"
14
14
  gem "i18n"
15
15
 
16
16
  if RUBY_VERSION > '1.9'
@@ -22,12 +22,12 @@ end
22
22
 
23
23
  if ENV["REDIS_STORE_ENV"] == "rails3"
24
24
  group :rails3 do
25
- gem "activesupport", "3.0.0"
26
- gem "actionpack", "3.0.0"
25
+ gem "activesupport", "3.0.3"
26
+ gem "actionpack", "3.0.3"
27
27
  end
28
28
  else
29
29
  group :test do
30
- gem "activesupport", "2.3.9"
31
- gem "actionpack", "2.3.9"
30
+ gem "activesupport", "2.3.10"
31
+ gem "actionpack", "2.3.10"
32
32
  end
33
33
  end
@@ -6,15 +6,15 @@ GEM
6
6
  sexp_processor (>= 3.0.0)
7
7
  RubyInline (3.8.6)
8
8
  ZenTest (~> 4.3)
9
- ZenTest (4.4.0)
9
+ ZenTest (4.4.2)
10
10
  abstract (1.0.0)
11
- actionpack (2.3.9)
12
- activesupport (= 2.3.9)
11
+ actionpack (2.3.10)
12
+ activesupport (= 2.3.10)
13
13
  rack (~> 1.1.0)
14
- activesupport (2.3.9)
15
- addressable (2.2.0)
14
+ activesupport (2.3.10)
15
+ addressable (2.2.2)
16
16
  bcrypt-ruby (2.1.2)
17
- columnize (0.3.1)
17
+ columnize (0.3.2)
18
18
  data_objects (0.10.2)
19
19
  addressable (~> 2.1)
20
20
  diff-lcs (1.1.2)
@@ -51,15 +51,14 @@ GEM
51
51
  abstract (>= 1.0.0)
52
52
  extlib (0.9.15)
53
53
  fastercsv (1.5.3)
54
- gemcutter (0.6.1)
55
54
  git (1.2.5)
56
- haml (3.0.18)
55
+ haml (3.0.24)
57
56
  highline (1.6.1)
58
- i18n (0.4.1)
59
- jeweler (1.4.0)
60
- gemcutter (>= 0.1.0)
57
+ i18n (0.5.0)
58
+ jeweler (1.5.1)
59
+ bundler (~> 1.0.0)
61
60
  git (>= 1.2.5)
62
- rubyforge (>= 2.0.0)
61
+ rake
63
62
  json_pure (1.2.4)
64
63
  linecache (0.43)
65
64
  mailfactory (1.4.0)
@@ -139,25 +138,23 @@ GEM
139
138
  merb-core (~> 1.1.0)
140
139
  mime-types (1.16)
141
140
  rack (1.1.0)
142
- rack-cache (0.5.2)
141
+ rack-cache (0.5.3)
143
142
  rack (>= 0.4)
144
143
  rake (0.8.7)
145
144
  randexp (0.1.5)
146
145
  ParseTree
147
- redis (2.0.6)
146
+ redis (2.1.1)
148
147
  rspec (1.3.0)
149
- ruby-debug (0.10.3)
148
+ ruby-debug (0.10.4)
150
149
  columnize (>= 0.1)
151
- ruby-debug-base (~> 0.10.3.0)
152
- ruby-debug-base (0.10.3)
150
+ ruby-debug-base (~> 0.10.4.0)
151
+ ruby-debug-base (0.10.4)
153
152
  linecache (>= 0.3)
154
153
  ruby2ruby (1.2.5)
155
154
  ruby_parser (~> 2.0)
156
155
  sexp_processor (~> 3.0)
157
156
  ruby_parser (2.0.5)
158
157
  sexp_processor (~> 3.0)
159
- rubyforge (2.0.4)
160
- json_pure (>= 1.1.7)
161
158
  sexp_processor (3.0.5)
162
159
  stringex (1.1.0)
163
160
  templater (1.0.0)
@@ -170,8 +167,8 @@ PLATFORMS
170
167
  ruby
171
168
 
172
169
  DEPENDENCIES
173
- actionpack (= 2.3.9)
174
- activesupport (= 2.3.9)
170
+ actionpack (= 2.3.10)
171
+ activesupport (= 2.3.10)
175
172
  git
176
173
  i18n
177
174
  jeweler
@@ -179,5 +176,5 @@ DEPENDENCIES
179
176
  rack
180
177
  rack-cache
181
178
  redis (>= 2.0.0)
182
- rspec
179
+ rspec (= 1.3.0)
183
180
  ruby-debug
data/README.md CHANGED
@@ -29,13 +29,13 @@ By default each store try to connect on `localhost` with the port `6379` and the
29
29
  password: secret
30
30
 
31
31
  If you want to specify the `namespace` optional, you have to pass the `db` param too.
32
- #### __Important__: for now (beta3) `namespace` is only supported for single, non-distributed stores.
32
+ #### __Important__: for now (beta4) `namespace` is only supported for single, non-distributed stores.
33
33
 
34
34
  ### Hash
35
35
 
36
36
  { :host => 192.168.1.100, :port => 23682, :db => 13, :namespace => "theplaylist", :password => "secret" }
37
37
 
38
- #### __Important__: for now (beta3) `namespace` is only supported for single, non-distributed stores.
38
+ #### __Important__: for now (beta4) `namespace` is only supported for single, non-distributed stores.
39
39
 
40
40
  ## Cache store
41
41
 
@@ -46,21 +46,30 @@ Provides a cache store for your Ruby web framework of choice.
46
46
  config.gem "redis-store"
47
47
  config.cache_store = :redis_store
48
48
 
49
+ ### Rails 2.x (with Bundler)
50
+
51
+ # Gemfile
52
+ gem "redis-store"
53
+
54
+ # in your configuration
55
+ config.gem "redis-store"
56
+ config.cache_store = :redis_store, { ... optional configuration ... }
57
+
49
58
  ### Rails 3.x
50
59
 
51
60
  # Gemfile
52
- gem 'rails', '3.0.0'
61
+ gem 'rails', '3.0.3'
53
62
  gem 'redis'
54
- gem 'redis-store', '1.0.0.beta3'
63
+ gem 'redis-store', '1.0.0.beta4'
55
64
 
56
65
  # config/environments/production.rb
57
- config.cache_store = :redis_store
66
+ config.cache_store = :redis_store, { ... optional configuration ... }
58
67
 
59
68
  For advanced configurations scenarios please visit [the wiki](http://wiki.github.com/jodosha/redis-store/rails).
60
69
 
61
70
  ### Merb
62
71
 
63
- dependency "redis-store", "1.0.0.beta3"
72
+ dependency "redis-store", "1.0.0.beta4"
64
73
  dependency("merb-cache", merb_gems_version) do
65
74
  Merb::Cache.setup do
66
75
  register(:redis, Merb::Cache::RedisStore, :servers => ["127.0.0.1:6379"])
@@ -92,15 +101,52 @@ Provides a Redis store for Rack::Session. See [http://rack.rubyforge.org/doc/Rac
92
101
 
93
102
  ### Rails 2.x
94
103
 
104
+ # config/environment.rb
95
105
  config.gem "redis-store"
106
+
107
+ # then configure as following:
108
+
109
+ # config/environments/*.rb
110
+ config.cache_store = :redis_store
111
+
112
+ # or
113
+
114
+ # config/initializers/session_store.rb
115
+ ActionController::Base.session = {
116
+ :key => APPLICATION['session_key'],
117
+ :secret => APPLICATION['session_secret'],
118
+ :key_prefix => Rails.env
119
+ }
120
+
121
+ ActionController::Base.session_store = :redis_session_store
122
+
123
+ ### Rails 2.x (with Bundler)
124
+
125
+ # Gemfile
126
+ gem "redis-store"
127
+
128
+ # then configure as following:
129
+
130
+ # config/environments/*.rb
131
+ config.cache_store = :redis_store
132
+
133
+ # or
134
+
135
+ # config/initializers/session_store.rb
136
+ ActionController::Base.session = {
137
+ :key => APPLICATION['session_key'],
138
+ :secret => APPLICATION['session_secret'],
139
+ :key_prefix => Rails.env
140
+ }
141
+
96
142
  ActionController::Base.session_store = :redis_session_store
97
143
 
98
144
  ### Rails 3.x
99
145
 
100
146
  # Gemfile
101
- gem 'rails', '3.0.0'
147
+ gem 'rails', '3.0.3'
102
148
  gem 'redis'
103
- gem 'redis-store', '1.0.0.beta3'
149
+ gem 'redis-store', '1.0.0.beta4'
104
150
 
105
151
  # config/initializers/session_store.rb
106
152
  MyApp::Application.config.session_store :redis_session_store
@@ -109,7 +155,7 @@ For advanced configurations scenarios please visit [the wiki](http://wiki.github
109
155
 
110
156
  ### Merb
111
157
 
112
- dependency "redis-store", "1.0.0.beta3"
158
+ dependency "redis-store", "1.0.0.beta4"
113
159
  Merb::Config.use do |c|
114
160
  c[:session_store] = "redis"
115
161
  end
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.0.0.beta3
1
+ 1.0.0.beta4
@@ -7,12 +7,12 @@ module RedisStore
7
7
  # the MemCacheStore code, simply dropping in Redis instead.
8
8
  #
9
9
  # Options:
10
- # :key => Same as with the other cookie stores, key name
11
- # :secret => Encryption secret for the key
12
- # :host => Redis host name, default is localhost
13
- # :port => Redis port, default is 6379
14
- # :db => Database number, defaults to 0. Useful to separate your session storage from other data
15
- # :key_prefix => Prefix for keys used in Redis, e.g. myapp-. Useful to separate session storage keys visibly from others
10
+ # :key => Same as with the other cookie stores, key name
11
+ # :secret => Encryption secret for the key
12
+ # :host => Redis host name, default is localhost
13
+ # :port => Redis port, default is 6379
14
+ # :db => Database number, defaults to 0. Useful to separate your session storage from other data
15
+ # :key_prefix => Prefix for keys used in Redis, e.g. myapp-. Useful to separate session storage keys visibly from others
16
16
  # :expire_after => A number in seconds to set the timeout interval for the session. Will map directly to expiry in Redis
17
17
  module Rails
18
18
  def initialize(app, options = {})
@@ -21,12 +21,12 @@ module RedisStore
21
21
 
22
22
  super
23
23
 
24
- servers = [options[:servers]].flatten.compact.map do |server_options|
25
- {
26
- :host => 'localhost',
27
- :port => '6379',
28
- :db => 0
29
- }.update(Redis::Factory.convert_to_redis_client_options(server_options))
24
+ options = options.dup
25
+ servers = [ options.delete(:servers) ].flatten.compact
26
+ servers = [ "redis://localhost:6379/0" ] if servers.empty?
27
+ servers.map! do |server|
28
+ server = Redis::Factory.convert_to_redis_client_options(server)
29
+ server.merge(options)
30
30
  end
31
31
 
32
32
  @pool = Redis::Factory.create(*servers)
@@ -46,7 +46,7 @@ module RedisStore
46
46
  def set_session(env, sid, session_data)
47
47
  options = env['rack.session.options']
48
48
  @pool.set(sid, session_data, options)
49
- return true
49
+ return(::Redis::Store.rails3? ? sid : true)
50
50
  rescue Errno::ECONNREFUSED
51
51
  return false
52
52
  end
@@ -3,6 +3,30 @@ require "redis-store"
3
3
  module ::RedisStore
4
4
  module Cache
5
5
  module Rails2
6
+ # Instantiate the store.
7
+ #
8
+ # Example:
9
+ # RedisStore.new
10
+ # # => host: localhost, port: 6379, db: 0
11
+ #
12
+ # RedisStore.new "example.com"
13
+ # # => host: example.com, port: 6379, db: 0
14
+ #
15
+ # RedisStore.new "example.com:23682"
16
+ # # => host: example.com, port: 23682, db: 0
17
+ #
18
+ # RedisStore.new "example.com:23682/1"
19
+ # # => host: example.com, port: 23682, db: 1
20
+ #
21
+ # RedisStore.new "example.com:23682/1/theplaylist"
22
+ # # => host: example.com, port: 23682, db: 1, namespace: theplaylist
23
+ #
24
+ # RedisStore.new "localhost:6379/0", "localhost:6380/0"
25
+ # # => instantiate a cluster
26
+ def initialize(*addresses)
27
+ @data = ::Redis::Factory.create(addresses)
28
+ end
29
+
6
30
  def write(key, value, options = nil)
7
31
  super
8
32
  method = options && options[:unless_exist] ? :setnx : :set
@@ -42,6 +66,31 @@ module ::RedisStore
42
66
  end
43
67
 
44
68
  module Rails3
69
+ # Instantiate the store.
70
+ #
71
+ # Example:
72
+ # RedisStore.new
73
+ # # => host: localhost, port: 6379, db: 0
74
+ #
75
+ # RedisStore.new "example.com"
76
+ # # => host: example.com, port: 6379, db: 0
77
+ #
78
+ # RedisStore.new "example.com:23682"
79
+ # # => host: example.com, port: 23682, db: 0
80
+ #
81
+ # RedisStore.new "example.com:23682/1"
82
+ # # => host: example.com, port: 23682, db: 1
83
+ #
84
+ # RedisStore.new "example.com:23682/1/theplaylist"
85
+ # # => host: example.com, port: 23682, db: 1, namespace: theplaylist
86
+ #
87
+ # RedisStore.new "localhost:6379/0", "localhost:6380/0"
88
+ # # => instantiate a cluster
89
+ def initialize(*addresses)
90
+ @data = ::Redis::Factory.create(addresses)
91
+ super(addresses.extract_options!)
92
+ end
93
+
45
94
  # Delete objects for matched keys.
46
95
  #
47
96
  # Example:
@@ -98,31 +147,6 @@ module ActiveSupport
98
147
  class RedisStore < Store
99
148
  include ::RedisStore::Cache::Store
100
149
 
101
- # Instantiate the store.
102
- #
103
- # Example:
104
- # RedisStore.new
105
- # # => host: localhost, port: 6379, db: 0
106
- #
107
- # RedisStore.new "example.com"
108
- # # => host: example.com, port: 6379, db: 0
109
- #
110
- # RedisStore.new "example.com:23682"
111
- # # => host: example.com, port: 23682, db: 0
112
- #
113
- # RedisStore.new "example.com:23682/1"
114
- # # => host: example.com, port: 23682, db: 1
115
- #
116
- # RedisStore.new "example.com:23682/1/theplaylist"
117
- # # => host: example.com, port: 23682, db: 1, namespace: theplaylist
118
- #
119
- # RedisStore.new "localhost:6379/0", "localhost:6380/0"
120
- # # => instantiate a cluster
121
- def initialize(*addresses)
122
- @data = ::Redis::Factory.create(addresses)
123
- super(addresses.extract_options!)
124
- end
125
-
126
150
  # Reads multiple keys from the cache using a single call to the
127
151
  # servers for all keys. Options can be passed in the last argument.
128
152
  #
@@ -15,7 +15,7 @@ module Rack
15
15
  def self.resolve(uri)
16
16
  db = uri.path.sub(/^\//, '')
17
17
  db = "0" if db.empty?
18
- server = { :host => uri.host, :port => uri.port || "6379", :db => db }
18
+ server = { :host => uri.host, :port => uri.port || "6379", :db => db, :password => uri.password }
19
19
  new server
20
20
  end
21
21
  end
@@ -10,7 +10,7 @@ module Rack
10
10
  def self.resolve(uri)
11
11
  db = uri.path.sub(/^\//, '')
12
12
  db = "0" if db.empty?
13
- server = { :host => uri.host, :port => uri.port || "6379", :db => db }
13
+ server = { :host => uri.host, :port => uri.port || "6379", :db => db, :password => uri.password }
14
14
  new server
15
15
  end
16
16
  end
@@ -68,7 +68,7 @@ module Rack
68
68
 
69
69
  delete = old.keys - new.keys
70
70
  warn "//@#{sid}: dropping #{delete*','}" if $DEBUG and not delete.empty?
71
- delete.each{|k| cur.del k }
71
+ delete.each{|k| cur.delete k }
72
72
 
73
73
  update = new.keys.select{|k| new[k] != old[k] }
74
74
  warn "//@#{sid}: updating #{update*','}" if $DEBUG and not update.empty?
@@ -16,6 +16,8 @@ elsif defined?(Merb)
16
16
  # HACK for cyclic dependency: redis-store is required before merb-cache
17
17
  module Merb; module Cache; class AbstractStore; end end end
18
18
  require "cache/merb/redis_store"
19
+ elsif defined?(ActiveSupport)
20
+ require "active_support/cache/redis_store"
19
21
  end
20
22
 
21
23
  # Rack::Session
@@ -27,8 +29,7 @@ if defined?(Rack::Session)
27
29
  end
28
30
  end
29
31
 
30
- # ActionDispatch::Session
31
- if ::Redis::Store.rails3?
32
+ if defined?(Rails)
32
33
  require "action_controller/session/redis_session_store"
33
34
  end
34
35
 
@@ -33,11 +33,11 @@ class Redis
33
33
  end
34
34
 
35
35
  options = {}
36
- options[:host] = host || uri.host
37
- options[:port] = port || uri.port
36
+ options[:host] = host || uri && uri.host
37
+ options[:port] = port || uri && uri.port
38
38
  options[:db] = db.to_i if db
39
39
  options[:namespace] = namespace if namespace
40
- options[:password] = password || uri.password
40
+ options[:password] = password || uri && uri.password
41
41
  options
42
42
  end
43
43
  end
@@ -9,7 +9,7 @@ class Redis
9
9
  end
10
10
 
11
11
  def self.rails3? #:nodoc:
12
- defined?(::Rails) && ::Rails.version =~ /3\.0\.0/
12
+ defined?(::Rails) && ::Rails::VERSION::MAJOR == 3
13
13
  end
14
14
 
15
15
  def to_s
@@ -4,7 +4,7 @@ class Redis
4
4
  MAJOR = 1
5
5
  MINOR = 0
6
6
  TINY = 0
7
- BUILD = "beta3"
7
+ BUILD = "beta4"
8
8
 
9
9
  STRING = [MAJOR, MINOR, TINY, BUILD].join('.')
10
10
  end
@@ -1,90 +1,88 @@
1
1
  # Generated by jeweler
2
2
  # DO NOT EDIT THIS FILE DIRECTLY
3
- # Instead, edit Jeweler::Tasks in Rakefile, and run the gemspec command
3
+ # Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
4
4
  # -*- encoding: utf-8 -*-
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{redis-store}
8
- s.version = "1.0.0.beta3"
8
+ s.version = "1.0.0.beta4"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new("> 1.3.1") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Luca Guidi"]
12
- s.date = %q{2010-09-10}
12
+ s.date = %q{2010-12-15}
13
13
  s.description = %q{Namespaced Rack::Session, Rack::Cache, I18n and cache Redis stores for Ruby web frameworks.}
14
14
  s.email = %q{guidi.luca@gmail.com}
15
15
  s.extra_rdoc_files = [
16
16
  "README.md"
17
17
  ]
18
18
  s.files = [
19
- ".gitignore",
20
- "CHANGELOG",
21
- "Gemfile",
22
- "Gemfile.lock",
23
- "MIT-LICENSE",
24
- "README.md",
25
- "Rakefile",
26
- "VERSION",
27
- "lib/action_controller/session/redis_session_store.rb",
28
- "lib/active_support/cache/redis_store.rb",
29
- "lib/cache/merb/redis_store.rb",
30
- "lib/cache/sinatra/redis_store.rb",
31
- "lib/i18n/backend/redis.rb",
32
- "lib/rack/cache/redis_entitystore.rb",
33
- "lib/rack/cache/redis_metastore.rb",
34
- "lib/rack/session/merb.rb",
35
- "lib/rack/session/redis.rb",
36
- "lib/redis-store.rb",
37
- "lib/redis/distributed_store.rb",
38
- "lib/redis/factory.rb",
39
- "lib/redis/store.rb",
40
- "lib/redis/store/interface.rb",
41
- "lib/redis/store/marshalling.rb",
42
- "lib/redis/store/namespace.rb",
43
- "lib/redis/store/ttl.rb",
44
- "lib/redis/store/version.rb",
45
- "redis-store.gemspec",
46
- "spec/action_controller/session/redis_session_store_spec.rb",
47
- "spec/active_support/cache/redis_store_spec.rb",
48
- "spec/cache/merb/redis_store_spec.rb",
49
- "spec/cache/sinatra/redis_store_spec.rb",
50
- "spec/config/master.conf",
51
- "spec/config/single.conf",
52
- "spec/config/slave.conf",
53
- "spec/i18n/backend/redis_spec.rb",
54
- "spec/rack/cache/entitystore/pony.jpg",
55
- "spec/rack/cache/entitystore/redis_spec.rb",
56
- "spec/rack/cache/metastore/redis_spec.rb",
57
- "spec/rack/session/redis_spec.rb",
58
- "spec/redis/distributed_store_spec.rb",
59
- "spec/redis/factory_spec.rb",
60
- "spec/redis/store/interface_spec.rb",
61
- "spec/redis/store/marshalling_spec.rb",
62
- "spec/redis/store/namespace_spec.rb",
63
- "spec/redis/store/version_spec.rb",
64
- "spec/spec_helper.rb",
65
- "tasks/redis.tasks.rb"
19
+ "CHANGELOG",
20
+ "Gemfile",
21
+ "Gemfile.lock",
22
+ "MIT-LICENSE",
23
+ "README.md",
24
+ "Rakefile",
25
+ "VERSION",
26
+ "lib/action_controller/session/redis_session_store.rb",
27
+ "lib/active_support/cache/redis_store.rb",
28
+ "lib/cache/merb/redis_store.rb",
29
+ "lib/cache/sinatra/redis_store.rb",
30
+ "lib/i18n/backend/redis.rb",
31
+ "lib/rack/cache/redis_entitystore.rb",
32
+ "lib/rack/cache/redis_metastore.rb",
33
+ "lib/rack/session/merb.rb",
34
+ "lib/rack/session/redis.rb",
35
+ "lib/redis-store.rb",
36
+ "lib/redis/distributed_store.rb",
37
+ "lib/redis/factory.rb",
38
+ "lib/redis/store.rb",
39
+ "lib/redis/store/interface.rb",
40
+ "lib/redis/store/marshalling.rb",
41
+ "lib/redis/store/namespace.rb",
42
+ "lib/redis/store/ttl.rb",
43
+ "lib/redis/store/version.rb",
44
+ "redis-store.gemspec",
45
+ "spec/action_controller/session/redis_session_store_spec.rb",
46
+ "spec/active_support/cache/redis_store_spec.rb",
47
+ "spec/cache/merb/redis_store_spec.rb",
48
+ "spec/cache/sinatra/redis_store_spec.rb",
49
+ "spec/config/master.conf",
50
+ "spec/config/single.conf",
51
+ "spec/config/slave.conf",
52
+ "spec/i18n/backend/redis_spec.rb",
53
+ "spec/rack/cache/entitystore/pony.jpg",
54
+ "spec/rack/cache/entitystore/redis_spec.rb",
55
+ "spec/rack/cache/metastore/redis_spec.rb",
56
+ "spec/rack/session/redis_spec.rb",
57
+ "spec/redis/distributed_store_spec.rb",
58
+ "spec/redis/factory_spec.rb",
59
+ "spec/redis/store/interface_spec.rb",
60
+ "spec/redis/store/marshalling_spec.rb",
61
+ "spec/redis/store/namespace_spec.rb",
62
+ "spec/redis/store/version_spec.rb",
63
+ "spec/spec_helper.rb",
64
+ "tasks/redis.tasks.rb"
66
65
  ]
67
66
  s.homepage = %q{http://github.com/jodosha/redis-store}
68
- s.rdoc_options = ["--charset=UTF-8"]
69
67
  s.require_paths = ["lib"]
70
68
  s.rubygems_version = %q{1.3.7}
71
69
  s.summary = %q{Namespaced Rack::Session, Rack::Cache, I18n and cache Redis stores for Ruby web frameworks.}
72
70
  s.test_files = [
73
71
  "spec/action_controller/session/redis_session_store_spec.rb",
74
- "spec/active_support/cache/redis_store_spec.rb",
75
- "spec/cache/merb/redis_store_spec.rb",
76
- "spec/cache/sinatra/redis_store_spec.rb",
77
- "spec/i18n/backend/redis_spec.rb",
78
- "spec/rack/cache/entitystore/redis_spec.rb",
79
- "spec/rack/cache/metastore/redis_spec.rb",
80
- "spec/rack/session/redis_spec.rb",
81
- "spec/redis/distributed_store_spec.rb",
82
- "spec/redis/factory_spec.rb",
83
- "spec/redis/store/interface_spec.rb",
84
- "spec/redis/store/marshalling_spec.rb",
85
- "spec/redis/store/namespace_spec.rb",
86
- "spec/redis/store/version_spec.rb",
87
- "spec/spec_helper.rb"
72
+ "spec/active_support/cache/redis_store_spec.rb",
73
+ "spec/cache/merb/redis_store_spec.rb",
74
+ "spec/cache/sinatra/redis_store_spec.rb",
75
+ "spec/i18n/backend/redis_spec.rb",
76
+ "spec/rack/cache/entitystore/redis_spec.rb",
77
+ "spec/rack/cache/metastore/redis_spec.rb",
78
+ "spec/rack/session/redis_spec.rb",
79
+ "spec/redis/distributed_store_spec.rb",
80
+ "spec/redis/factory_spec.rb",
81
+ "spec/redis/store/interface_spec.rb",
82
+ "spec/redis/store/marshalling_spec.rb",
83
+ "spec/redis/store/namespace_spec.rb",
84
+ "spec/redis/store/version_spec.rb",
85
+ "spec/spec_helper.rb"
88
86
  ]
89
87
 
90
88
  if s.respond_to? :specification_version then
@@ -93,11 +91,38 @@ Gem::Specification.new do |s|
93
91
 
94
92
  if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
95
93
  s.add_runtime_dependency(%q<redis>, [">= 2.0.0"])
94
+ s.add_development_dependency(%q<jeweler>, [">= 0"])
95
+ s.add_development_dependency(%q<git>, [">= 0"])
96
+ s.add_development_dependency(%q<rack>, [">= 0"])
97
+ s.add_development_dependency(%q<rack-cache>, [">= 0"])
98
+ s.add_development_dependency(%q<merb>, ["= 1.1.0"])
99
+ s.add_development_dependency(%q<rspec>, ["= 1.3.0"])
100
+ s.add_development_dependency(%q<i18n>, [">= 0"])
101
+ s.add_development_dependency(%q<ruby-debug>, [">= 0"])
102
+ s.add_runtime_dependency(%q<redis>, [">= 2.0.0"])
96
103
  else
97
104
  s.add_dependency(%q<redis>, [">= 2.0.0"])
105
+ s.add_dependency(%q<jeweler>, [">= 0"])
106
+ s.add_dependency(%q<git>, [">= 0"])
107
+ s.add_dependency(%q<rack>, [">= 0"])
108
+ s.add_dependency(%q<rack-cache>, [">= 0"])
109
+ s.add_dependency(%q<merb>, ["= 1.1.0"])
110
+ s.add_dependency(%q<rspec>, ["= 1.3.0"])
111
+ s.add_dependency(%q<i18n>, [">= 0"])
112
+ s.add_dependency(%q<ruby-debug>, [">= 0"])
113
+ s.add_dependency(%q<redis>, [">= 2.0.0"])
98
114
  end
99
115
  else
100
116
  s.add_dependency(%q<redis>, [">= 2.0.0"])
117
+ s.add_dependency(%q<jeweler>, [">= 0"])
118
+ s.add_dependency(%q<git>, [">= 0"])
119
+ s.add_dependency(%q<rack>, [">= 0"])
120
+ s.add_dependency(%q<rack-cache>, [">= 0"])
121
+ s.add_dependency(%q<merb>, ["= 1.1.0"])
122
+ s.add_dependency(%q<rspec>, ["= 1.3.0"])
123
+ s.add_dependency(%q<i18n>, [">= 0"])
124
+ s.add_dependency(%q<ruby-debug>, [">= 0"])
125
+ s.add_dependency(%q<redis>, [">= 2.0.0"])
101
126
  end
102
127
  end
103
128
 
@@ -25,7 +25,7 @@ describe RAILS_SESSION_STORE_CLASS do
25
25
 
26
26
  it "should accept string connection params" do
27
27
  redis = instantiate_store
28
- redis.to_s.should == "Redis Client connected to 127.0.0.1:6379 against DB 0"
28
+ redis.to_s.should == "Redis Client connected to localhost:6379 against DB 0"
29
29
 
30
30
  redis = instantiate_store :servers => "redis://localhost"
31
31
  redis.to_s.should == "Redis Client connected to localhost:6379 against DB 0"
@@ -45,12 +45,17 @@ describe RAILS_SESSION_STORE_CLASS do
45
45
  redis.to_s.should == "Redis Client connected to 192.168.0.1:6379 against DB 0"
46
46
 
47
47
  redis = instantiate_store :servers => [{ :port => "6380" }]
48
- redis.to_s.should == "Redis Client connected to localhost:6380 against DB 0"
48
+ redis.to_s.should == "Redis Client connected to 127.0.0.1:6380 against DB 0"
49
49
 
50
50
  redis = instantiate_store :servers => [{ :db => 13 }]
51
- redis.to_s.should == "Redis Client connected to localhost:6379 against DB 13"
51
+ redis.to_s.should == "Redis Client connected to 127.0.0.1:6379 against DB 13"
52
52
 
53
53
  redis = instantiate_store :servers => [{ :key_prefix => "theplaylist" }]
54
+ redis.to_s.should == "Redis Client connected to 127.0.0.1:6379 against DB 0 with namespace theplaylist"
55
+ end
56
+
57
+ it "should accept options when :servers key isn't passed" do
58
+ redis = RAILS_SESSION_STORE_CLASS.new(app, :key_prefix => "theplaylist").instance_variable_get(:@pool)
54
59
  redis.to_s.should == "Redis Client connected to localhost:6379 against DB 0 with namespace theplaylist"
55
60
  end
56
61
 
@@ -31,6 +31,10 @@ module Rack
31
31
 
32
32
  cache = Rack::Cache::EntityStore::Redis.resolve(uri("redis://127.0.0.1/13")).cache
33
33
  cache.id.should == "redis://127.0.0.1:6379/13"
34
+
35
+ cache = Rack::Cache::EntityStore::Redis.resolve(uri("redis://:secret@127.0.0.1")).cache
36
+ cache.id.should == "redis://127.0.0.1:6379/0"
37
+ cache.client.password.should == 'secret'
34
38
  end
35
39
 
36
40
  # Entity store shared examples ===========================================
@@ -31,6 +31,10 @@ module Rack
31
31
 
32
32
  cache = Rack::Cache::MetaStore::Redis.resolve(uri("redis://127.0.0.1/13")).cache
33
33
  cache.to_s.should == "Redis Client connected to 127.0.0.1:6379 against DB 13"
34
+
35
+ cache = Rack::Cache::MetaStore::Redis.resolve(uri("redis://:secret@127.0.0.1")).cache
36
+ cache.id.should == "redis://127.0.0.1:6379/0"
37
+ cache.client.password.should == 'secret'
34
38
  end
35
39
 
36
40
  # Low-level implementation methods ===========================================
@@ -2,6 +2,6 @@ require 'spec_helper'
2
2
 
3
3
  describe Redis::Store::VERSION do
4
4
  it "should describe Redis::Store version" do
5
- Redis::Store::VERSION::STRING.should == "1.0.0.beta3"
5
+ Redis::Store::VERSION::STRING.should == "1.0.0.beta4"
6
6
  end
7
7
  end
@@ -19,7 +19,11 @@ begin
19
19
  require "action_controller/session/abstract_store" # Rails 2.3.x
20
20
  rescue LoadError
21
21
  require "action_dispatch/middleware/session/abstract_store" # Rails 3.x
22
- module Rails; def self.version; "3.0.0" end end unless defined?(Rails)
22
+ module ::Rails
23
+ module VERSION
24
+ MAJOR = 3
25
+ end
26
+ end
23
27
  end
24
28
  require "active_support/cache/redis_store"
25
29
  require "action_controller/session/redis_session_store"
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: redis-store
3
3
  version: !ruby/object:Gem::Version
4
- hash: -1848230053
4
+ hash: -1848230056
5
5
  prerelease: true
6
6
  segments:
7
7
  - 1
8
8
  - 0
9
9
  - 0
10
- - beta3
11
- version: 1.0.0.beta3
10
+ - beta4
11
+ version: 1.0.0.beta4
12
12
  platform: ruby
13
13
  authors:
14
14
  - Luca Guidi
@@ -16,7 +16,7 @@ autorequire:
16
16
  bindir: bin
17
17
  cert_chain: []
18
18
 
19
- date: 2010-09-10 00:00:00 +02:00
19
+ date: 2010-12-15 00:00:00 +01:00
20
20
  default_executable:
21
21
  dependencies:
22
22
  - !ruby/object:Gem::Dependency
@@ -35,6 +35,138 @@ dependencies:
35
35
  version: 2.0.0
36
36
  type: :runtime
37
37
  version_requirements: *id001
38
+ - !ruby/object:Gem::Dependency
39
+ name: jeweler
40
+ prerelease: false
41
+ requirement: &id002 !ruby/object:Gem::Requirement
42
+ none: false
43
+ requirements:
44
+ - - ">="
45
+ - !ruby/object:Gem::Version
46
+ hash: 3
47
+ segments:
48
+ - 0
49
+ version: "0"
50
+ type: :development
51
+ version_requirements: *id002
52
+ - !ruby/object:Gem::Dependency
53
+ name: git
54
+ prerelease: false
55
+ requirement: &id003 !ruby/object:Gem::Requirement
56
+ none: false
57
+ requirements:
58
+ - - ">="
59
+ - !ruby/object:Gem::Version
60
+ hash: 3
61
+ segments:
62
+ - 0
63
+ version: "0"
64
+ type: :development
65
+ version_requirements: *id003
66
+ - !ruby/object:Gem::Dependency
67
+ name: rack
68
+ prerelease: false
69
+ requirement: &id004 !ruby/object:Gem::Requirement
70
+ none: false
71
+ requirements:
72
+ - - ">="
73
+ - !ruby/object:Gem::Version
74
+ hash: 3
75
+ segments:
76
+ - 0
77
+ version: "0"
78
+ type: :development
79
+ version_requirements: *id004
80
+ - !ruby/object:Gem::Dependency
81
+ name: rack-cache
82
+ prerelease: false
83
+ requirement: &id005 !ruby/object:Gem::Requirement
84
+ none: false
85
+ requirements:
86
+ - - ">="
87
+ - !ruby/object:Gem::Version
88
+ hash: 3
89
+ segments:
90
+ - 0
91
+ version: "0"
92
+ type: :development
93
+ version_requirements: *id005
94
+ - !ruby/object:Gem::Dependency
95
+ name: merb
96
+ prerelease: false
97
+ requirement: &id006 !ruby/object:Gem::Requirement
98
+ none: false
99
+ requirements:
100
+ - - "="
101
+ - !ruby/object:Gem::Version
102
+ hash: 19
103
+ segments:
104
+ - 1
105
+ - 1
106
+ - 0
107
+ version: 1.1.0
108
+ type: :development
109
+ version_requirements: *id006
110
+ - !ruby/object:Gem::Dependency
111
+ name: rspec
112
+ prerelease: false
113
+ requirement: &id007 !ruby/object:Gem::Requirement
114
+ none: false
115
+ requirements:
116
+ - - "="
117
+ - !ruby/object:Gem::Version
118
+ hash: 27
119
+ segments:
120
+ - 1
121
+ - 3
122
+ - 0
123
+ version: 1.3.0
124
+ type: :development
125
+ version_requirements: *id007
126
+ - !ruby/object:Gem::Dependency
127
+ name: i18n
128
+ prerelease: false
129
+ requirement: &id008 !ruby/object:Gem::Requirement
130
+ none: false
131
+ requirements:
132
+ - - ">="
133
+ - !ruby/object:Gem::Version
134
+ hash: 3
135
+ segments:
136
+ - 0
137
+ version: "0"
138
+ type: :development
139
+ version_requirements: *id008
140
+ - !ruby/object:Gem::Dependency
141
+ name: ruby-debug
142
+ prerelease: false
143
+ requirement: &id009 !ruby/object:Gem::Requirement
144
+ none: false
145
+ requirements:
146
+ - - ">="
147
+ - !ruby/object:Gem::Version
148
+ hash: 3
149
+ segments:
150
+ - 0
151
+ version: "0"
152
+ type: :development
153
+ version_requirements: *id009
154
+ - !ruby/object:Gem::Dependency
155
+ name: redis
156
+ prerelease: false
157
+ requirement: &id010 !ruby/object:Gem::Requirement
158
+ none: false
159
+ requirements:
160
+ - - ">="
161
+ - !ruby/object:Gem::Version
162
+ hash: 15
163
+ segments:
164
+ - 2
165
+ - 0
166
+ - 0
167
+ version: 2.0.0
168
+ type: :runtime
169
+ version_requirements: *id010
38
170
  description: Namespaced Rack::Session, Rack::Cache, I18n and cache Redis stores for Ruby web frameworks.
39
171
  email: guidi.luca@gmail.com
40
172
  executables: []
@@ -44,7 +176,6 @@ extensions: []
44
176
  extra_rdoc_files:
45
177
  - README.md
46
178
  files:
47
- - .gitignore
48
179
  - CHANGELOG
49
180
  - Gemfile
50
181
  - Gemfile.lock
@@ -96,8 +227,8 @@ homepage: http://github.com/jodosha/redis-store
96
227
  licenses: []
97
228
 
98
229
  post_install_message:
99
- rdoc_options:
100
- - --charset=UTF-8
230
+ rdoc_options: []
231
+
101
232
  require_paths:
102
233
  - lib
103
234
  required_ruby_version: !ruby/object:Gem::Requirement
data/.gitignore DELETED
@@ -1,11 +0,0 @@
1
- *.rdb
2
- *.swp
3
- *.gem
4
- *-redis-store.gemspec
5
- bin/
6
- coverage/
7
- pkg/
8
- vendor/
9
- tmp/
10
- .idea
11
- .bundle/