redis-store 0.3.7 → 0.3.8
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/.gitignore +4 -0
- data/Gemfile +13 -7
- data/README.md +11 -1
- data/Rakefile +19 -5
- data/VERSION +1 -1
- data/lib/cache/merb/redis_store.rb +6 -6
- data/lib/cache/rails/redis_store.rb +10 -10
- data/lib/cache/sinatra/redis_store.rb +14 -11
- data/lib/rack/cache/redis_entitystore.rb +2 -2
- data/lib/rack/cache/redis_metastore.rb +5 -5
- data/lib/rack/session/rails.rb +61 -0
- data/lib/rack/session/redis.rb +10 -10
- data/lib/redis-store.rb +8 -4
- data/lib/redis/distributed_marshaled.rb +18 -0
- data/lib/redis/factory.rb +26 -0
- data/lib/redis/marshaled_client.rb +54 -0
- data/lib/redis/namespace.rb +9 -0
- data/redis-store.gemspec +18 -13
- data/spec/cache/merb/redis_store_spec.rb +9 -14
- data/spec/cache/rails/redis_session_store_spec.rb +77 -0
- data/spec/cache/rails/redis_store_spec.rb +13 -17
- data/spec/cache/sinatra/redis_store_spec.rb +9 -14
- data/spec/config/master.conf +5 -5
- data/spec/config/single.conf +5 -5
- data/spec/config/slave.conf +6 -6
- data/spec/rack/cache/entitystore/redis_spec.rb +21 -11
- data/spec/rack/cache/metastore/redis_spec.rb +169 -16
- data/spec/rack/session/redis_spec.rb +7 -11
- data/spec/redis/distributed_marshaled_redis_spec.rb +9 -11
- data/spec/redis/factory_spec.rb +68 -0
- data/spec/redis/marshaled_client_spec.rb +54 -0
- data/spec/spec_helper.rb +11 -5
- data/tasks/redis.tasks.rb +16 -5
- metadata +28 -12
- data/lib/redis/distributed_marshaled_redis.rb +0 -10
- data/lib/redis/marshaled_redis.rb +0 -33
- data/lib/redis/redis_factory.rb +0 -27
- data/spec/redis/marshaled_redis_spec.rb +0 -54
- data/spec/redis/redis_factory_spec.rb +0 -34
data/lib/redis-store.rb
CHANGED
@@ -1,8 +1,8 @@
|
|
1
1
|
require "redis"
|
2
|
-
require "
|
3
|
-
require "redis/
|
4
|
-
require "redis/
|
5
|
-
require "redis/
|
2
|
+
require "redis/namespace"
|
3
|
+
require "redis/factory"
|
4
|
+
require "redis/marshaled_client"
|
5
|
+
require "redis/distributed_marshaled"
|
6
6
|
|
7
7
|
# Cache store
|
8
8
|
if defined?(Sinatra)
|
@@ -22,10 +22,14 @@ if defined?(Rack::Session)
|
|
22
22
|
if defined?(Merb)
|
23
23
|
require "rack/session/merb"
|
24
24
|
end
|
25
|
+
if defined?(Rails)
|
26
|
+
require "rack/session/rails"
|
27
|
+
end
|
25
28
|
end
|
26
29
|
|
27
30
|
# Rack::Cache
|
28
31
|
if defined?(Rack::Cache)
|
32
|
+
require "rack/cache/key"
|
29
33
|
require "rack/cache/redis_metastore"
|
30
34
|
require "rack/cache/redis_entitystore"
|
31
35
|
end
|
@@ -0,0 +1,18 @@
|
|
1
|
+
class Redis
|
2
|
+
class DistributedMarshaled < Distributed
|
3
|
+
attr_reader :ring
|
4
|
+
|
5
|
+
def initialize(addresses)
|
6
|
+
nodes = addresses.map do |address|
|
7
|
+
MarshaledClient.new address
|
8
|
+
end
|
9
|
+
@ring = Redis::HashRing.new nodes
|
10
|
+
end
|
11
|
+
|
12
|
+
def nodes
|
13
|
+
ring.nodes
|
14
|
+
end
|
15
|
+
|
16
|
+
alias_method :flushdb, :delete_cloud!
|
17
|
+
end
|
18
|
+
end
|
@@ -0,0 +1,26 @@
|
|
1
|
+
class Redis
|
2
|
+
class Factory
|
3
|
+
def self.create(*redis_client_options)
|
4
|
+
redis_client_options = redis_client_options.flatten.compact.inject([]) do |result, address|
|
5
|
+
result << convert_to_redis_client_options(address)
|
6
|
+
result
|
7
|
+
end
|
8
|
+
if redis_client_options.size > 1
|
9
|
+
DistributedMarshaled.new redis_client_options
|
10
|
+
else
|
11
|
+
MarshaledClient.new redis_client_options.first || {}
|
12
|
+
end
|
13
|
+
end
|
14
|
+
|
15
|
+
def self.convert_to_redis_client_options(address_or_options)
|
16
|
+
return address_or_options if address_or_options.is_a?(Hash)
|
17
|
+
host, port = address_or_options.split /\:/
|
18
|
+
port, db = port.split /\// if port
|
19
|
+
options = {}
|
20
|
+
options[:host] = host if host
|
21
|
+
options[:port] = port if port
|
22
|
+
options[:db] = db.to_i if db
|
23
|
+
options
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
@@ -0,0 +1,54 @@
|
|
1
|
+
class Redis
|
2
|
+
class MarshaledClient < Client
|
3
|
+
def marshalled_set(key, val, options = nil)
|
4
|
+
val = marshal_value(val, options)
|
5
|
+
if expires_in = expires_in(options)
|
6
|
+
set_with_expire key, val, expires_in
|
7
|
+
else
|
8
|
+
set key, val
|
9
|
+
end
|
10
|
+
end
|
11
|
+
|
12
|
+
def marshalled_setnx(key, val, options = nil)
|
13
|
+
val = marshal_value(val, options)
|
14
|
+
if expires_in = expires_in(options)
|
15
|
+
setnx_with_expire key, val, expires_in
|
16
|
+
else
|
17
|
+
setnx key, val
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
21
|
+
def setnx_with_expire(key, value, ttl)
|
22
|
+
multi do
|
23
|
+
setnx(key, val)
|
24
|
+
expire(key, expires_in)
|
25
|
+
end
|
26
|
+
end
|
27
|
+
|
28
|
+
def marshalled_get(key, options = nil)
|
29
|
+
result = call_command([:get, key])
|
30
|
+
result = Marshal.load result if unmarshal?(result, options)
|
31
|
+
result
|
32
|
+
end
|
33
|
+
|
34
|
+
private
|
35
|
+
def marshal_value(val, options)
|
36
|
+
raw?(options) ? val : Marshal.dump(val)
|
37
|
+
end
|
38
|
+
|
39
|
+
def unmarshal?(result, options)
|
40
|
+
result && result.size > 0 && !raw?(options)
|
41
|
+
end
|
42
|
+
|
43
|
+
def raw?(options)
|
44
|
+
options && options[:raw]
|
45
|
+
end
|
46
|
+
|
47
|
+
def expires_in(options)
|
48
|
+
if options
|
49
|
+
# Rack::Session Merb Rails/Sinatra
|
50
|
+
options[:expire_after] || options[:expires_in] || options[:expire_in]
|
51
|
+
end
|
52
|
+
end
|
53
|
+
end
|
54
|
+
end
|
data/redis-store.gemspec
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
# Generated by jeweler
|
2
|
-
# DO NOT EDIT THIS FILE
|
3
|
-
# Instead, edit Jeweler::Tasks in Rakefile, and run
|
2
|
+
# DO NOT EDIT THIS FILE DIRECTLY
|
3
|
+
# Instead, edit Jeweler::Tasks in Rakefile, and run the gemspec command
|
4
4
|
# -*- encoding: utf-8 -*-
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{redis-store}
|
8
|
-
s.version = "0.3.
|
8
|
+
s.version = "0.3.8"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Luca Guidi"]
|
12
|
-
s.date = %q{
|
12
|
+
s.date = %q{2010-05-21}
|
13
13
|
s.description = %q{Rack::Session, Rack::Cache and cache Redis stores for Ruby web frameworks.}
|
14
14
|
s.email = %q{guidi.luca@gmail.com}
|
15
15
|
s.extra_rdoc_files = [
|
@@ -28,13 +28,16 @@ Gem::Specification.new do |s|
|
|
28
28
|
"lib/rack/cache/redis_entitystore.rb",
|
29
29
|
"lib/rack/cache/redis_metastore.rb",
|
30
30
|
"lib/rack/session/merb.rb",
|
31
|
+
"lib/rack/session/rails.rb",
|
31
32
|
"lib/rack/session/redis.rb",
|
32
33
|
"lib/redis-store.rb",
|
33
|
-
"lib/redis/
|
34
|
-
"lib/redis/
|
35
|
-
"lib/redis/
|
34
|
+
"lib/redis/distributed_marshaled.rb",
|
35
|
+
"lib/redis/factory.rb",
|
36
|
+
"lib/redis/marshaled_client.rb",
|
37
|
+
"lib/redis/namespace.rb",
|
36
38
|
"redis-store.gemspec",
|
37
39
|
"spec/cache/merb/redis_store_spec.rb",
|
40
|
+
"spec/cache/rails/redis_session_store_spec.rb",
|
38
41
|
"spec/cache/rails/redis_store_spec.rb",
|
39
42
|
"spec/cache/sinatra/redis_store_spec.rb",
|
40
43
|
"spec/config/master.conf",
|
@@ -45,26 +48,27 @@ Gem::Specification.new do |s|
|
|
45
48
|
"spec/rack/cache/metastore/redis_spec.rb",
|
46
49
|
"spec/rack/session/redis_spec.rb",
|
47
50
|
"spec/redis/distributed_marshaled_redis_spec.rb",
|
48
|
-
"spec/redis/
|
49
|
-
"spec/redis/
|
51
|
+
"spec/redis/factory_spec.rb",
|
52
|
+
"spec/redis/marshaled_client_spec.rb",
|
50
53
|
"spec/spec_helper.rb",
|
51
54
|
"tasks/redis.tasks.rb"
|
52
55
|
]
|
53
56
|
s.homepage = %q{http://github.com/jodosha/redis-store}
|
54
57
|
s.rdoc_options = ["--charset=UTF-8"]
|
55
58
|
s.require_paths = ["lib"]
|
56
|
-
s.rubygems_version = %q{1.3.
|
59
|
+
s.rubygems_version = %q{1.3.7}
|
57
60
|
s.summary = %q{Rack::Session, Rack::Cache and cache Redis stores for Ruby web frameworks.}
|
58
61
|
s.test_files = [
|
59
62
|
"spec/cache/merb/redis_store_spec.rb",
|
63
|
+
"spec/cache/rails/redis_session_store_spec.rb",
|
60
64
|
"spec/cache/rails/redis_store_spec.rb",
|
61
65
|
"spec/cache/sinatra/redis_store_spec.rb",
|
62
66
|
"spec/rack/cache/entitystore/redis_spec.rb",
|
63
67
|
"spec/rack/cache/metastore/redis_spec.rb",
|
64
68
|
"spec/rack/session/redis_spec.rb",
|
65
69
|
"spec/redis/distributed_marshaled_redis_spec.rb",
|
66
|
-
"spec/redis/
|
67
|
-
"spec/redis/
|
70
|
+
"spec/redis/factory_spec.rb",
|
71
|
+
"spec/redis/marshaled_client_spec.rb",
|
68
72
|
"spec/spec_helper.rb"
|
69
73
|
]
|
70
74
|
|
@@ -72,9 +76,10 @@ Gem::Specification.new do |s|
|
|
72
76
|
current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
|
73
77
|
s.specification_version = 3
|
74
78
|
|
75
|
-
if Gem::Version.new(Gem::
|
79
|
+
if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
|
76
80
|
else
|
77
81
|
end
|
78
82
|
else
|
79
83
|
end
|
80
84
|
end
|
85
|
+
|
@@ -9,35 +9,30 @@ module Merb
|
|
9
9
|
@rabbit = OpenStruct.new :name => "bunny"
|
10
10
|
@white_rabbit = OpenStruct.new :color => "white"
|
11
11
|
with_store_management do |store|
|
12
|
-
store.write
|
12
|
+
store.write "rabbit", @rabbit
|
13
13
|
store.delete "rub-a-dub"
|
14
14
|
end
|
15
15
|
end
|
16
16
|
|
17
17
|
it "should accept connection params" do
|
18
18
|
redis = instantiate_store
|
19
|
-
redis.
|
20
|
-
redis.port.should == 6379
|
21
|
-
redis.db.should == 0
|
19
|
+
redis.to_s.should == "Redis Client connected to 127.0.0.1:6379 against DB 0"
|
22
20
|
|
23
21
|
redis = instantiate_store "localhost"
|
24
|
-
redis.
|
22
|
+
redis.to_s.should == "Redis Client connected to localhost:6379 against DB 0"
|
25
23
|
|
26
24
|
redis = instantiate_store "localhost:6380"
|
27
|
-
redis.
|
28
|
-
redis.port.should == 6380
|
25
|
+
redis.to_s.should == "Redis Client connected to localhost:6380 against DB 0"
|
29
26
|
|
30
27
|
redis = instantiate_store "localhost:6380/13"
|
31
|
-
redis.
|
32
|
-
redis.port.should == 6380
|
33
|
-
redis.db.should == 13
|
28
|
+
redis.to_s.should == "Redis Client connected to localhost:6380 against DB 13"
|
34
29
|
end
|
35
|
-
|
30
|
+
|
36
31
|
it "should instantiate a ring" do
|
37
32
|
store = instantiate_store
|
38
|
-
store.should be_kind_of(
|
33
|
+
store.should be_kind_of(Redis::MarshaledClient)
|
39
34
|
store = instantiate_store ["localhost:6379/0", "localhost:6379/1"]
|
40
|
-
store.should be_kind_of(
|
35
|
+
store.should be_kind_of(Redis::DistributedMarshaled)
|
41
36
|
end
|
42
37
|
|
43
38
|
it "should verify if writable" do
|
@@ -54,7 +49,7 @@ module Merb
|
|
54
49
|
|
55
50
|
it "should read raw data" do
|
56
51
|
with_store_management do |store|
|
57
|
-
store.read("rabbit", {}, :raw => true).should ==
|
52
|
+
store.read("rabbit", {}, :raw => true).should == Marshal.dump(@rabbit)
|
58
53
|
end
|
59
54
|
end
|
60
55
|
|
@@ -0,0 +1,77 @@
|
|
1
|
+
require File.join(File.dirname(__FILE__), "/../../spec_helper")
|
2
|
+
|
3
|
+
module ActionController
|
4
|
+
module Session
|
5
|
+
describe "ActionController::Session::RedisSessionStore" do
|
6
|
+
attr_reader :app
|
7
|
+
before(:each) do
|
8
|
+
@app = Object.new
|
9
|
+
@store = ActionController::Session::RedisSessionStore.new(app)
|
10
|
+
@dstore = ActionController::Session::RedisSessionStore.new app, :servers => ["localhost:6380/1", "localhost:6381/1"]
|
11
|
+
@rabbit = OpenStruct.new :name => "bunny"
|
12
|
+
@white_rabbit = OpenStruct.new :color => "white"
|
13
|
+
with_store_management do |store|
|
14
|
+
class << store
|
15
|
+
attr_reader :pool
|
16
|
+
public :get_session, :set_session
|
17
|
+
end
|
18
|
+
store.set_session({'rack.session.options' => {}}, "rabbit", @rabbit)
|
19
|
+
store.pool.del "counter"
|
20
|
+
store.pool.del "rub-a-dub"
|
21
|
+
end
|
22
|
+
end
|
23
|
+
|
24
|
+
it "should accept connection params" do
|
25
|
+
redis = instantiate_store
|
26
|
+
redis.to_s.should == "Redis Client connected to 127.0.0.1:6379 against DB 0"
|
27
|
+
|
28
|
+
redis = instantiate_store :servers => "localhost"
|
29
|
+
redis.to_s.should == "Redis Client connected to localhost:6379 against DB 0"
|
30
|
+
|
31
|
+
redis = instantiate_store :servers => "localhost:6380"
|
32
|
+
redis.to_s.should == "Redis Client connected to localhost:6380 against DB 0"
|
33
|
+
|
34
|
+
redis = instantiate_store :servers => "localhost:6380/13"
|
35
|
+
redis.to_s.should == "Redis Client connected to localhost:6380 against DB 13"
|
36
|
+
end
|
37
|
+
|
38
|
+
it "should instantiate a ring" do
|
39
|
+
store = instantiate_store
|
40
|
+
store.should be_kind_of(Redis::MarshaledClient)
|
41
|
+
store = instantiate_store :servers => ["localhost:6379/0", "localhost:6379/1"]
|
42
|
+
store.should be_kind_of(Redis::DistributedMarshaled)
|
43
|
+
end
|
44
|
+
|
45
|
+
it "should read the data" do
|
46
|
+
with_store_management do |store|
|
47
|
+
store.get_session({}, "rabbit").should === ["rabbit", @rabbit]
|
48
|
+
end
|
49
|
+
end
|
50
|
+
|
51
|
+
it "should write the data" do
|
52
|
+
with_store_management do |store|
|
53
|
+
store.set_session({"rack.session.options" => {}}, "rabbit", @white_rabbit)
|
54
|
+
store.get_session({}, "rabbit").should === ["rabbit", @white_rabbit]
|
55
|
+
end
|
56
|
+
end
|
57
|
+
|
58
|
+
it "should write the data with expiration time" do
|
59
|
+
with_store_management do |store|
|
60
|
+
store.set_session({"rack.session.options" => {:expires_in => 1.second}}, "rabbit", @white_rabbit)
|
61
|
+
store.get_session({}, "rabbit").should === ["rabbit", @white_rabbit]; sleep 2
|
62
|
+
store.get_session({}, "rabbit").should === ["rabbit", {}]
|
63
|
+
end
|
64
|
+
end
|
65
|
+
|
66
|
+
private
|
67
|
+
def instantiate_store(params={})
|
68
|
+
ActionController::Session::RedisSessionStore.new(app, params).instance_variable_get(:@pool)
|
69
|
+
end
|
70
|
+
|
71
|
+
def with_store_management
|
72
|
+
yield @store
|
73
|
+
yield @dstore
|
74
|
+
end
|
75
|
+
end
|
76
|
+
end
|
77
|
+
end
|
@@ -17,28 +17,23 @@ module ActiveSupport
|
|
17
17
|
|
18
18
|
it "should accept connection params" do
|
19
19
|
redis = instantiate_store
|
20
|
-
redis.
|
21
|
-
redis.port.should == 6379
|
22
|
-
redis.db.should == 0
|
20
|
+
redis.to_s.should == "Redis Client connected to 127.0.0.1:6379 against DB 0"
|
23
21
|
|
24
22
|
redis = instantiate_store "localhost"
|
25
|
-
redis.
|
26
|
-
|
23
|
+
redis.to_s.should == "Redis Client connected to localhost:6379 against DB 0"
|
24
|
+
|
27
25
|
redis = instantiate_store "localhost:6380"
|
28
|
-
redis.
|
29
|
-
redis.port.should == 6380
|
26
|
+
redis.to_s.should == "Redis Client connected to localhost:6380 against DB 0"
|
30
27
|
|
31
28
|
redis = instantiate_store "localhost:6380/13"
|
32
|
-
redis.
|
33
|
-
redis.port.should == 6380
|
34
|
-
redis.db.should == 13
|
29
|
+
redis.to_s.should == "Redis Client connected to localhost:6380 against DB 13"
|
35
30
|
end
|
36
31
|
|
37
32
|
it "should instantiate a ring" do
|
38
33
|
store = instantiate_store
|
39
|
-
store.should be_kind_of(
|
34
|
+
store.should be_kind_of(Redis::MarshaledClient)
|
40
35
|
store = instantiate_store ["localhost:6379/0", "localhost:6379/1"]
|
41
|
-
store.should be_kind_of(
|
36
|
+
store.should be_kind_of(Redis::DistributedMarshaled)
|
42
37
|
end
|
43
38
|
|
44
39
|
it "should read the data" do
|
@@ -57,7 +52,7 @@ module ActiveSupport
|
|
57
52
|
it "should write the data with expiration time" do
|
58
53
|
with_store_management do |store|
|
59
54
|
store.write "rabbit", @white_rabbit, :expires_in => 1.second
|
60
|
-
store.read("rabbit").should
|
55
|
+
store.read("rabbit").should == @white_rabbit ; sleep 2
|
61
56
|
store.read("rabbit").should be_nil
|
62
57
|
end
|
63
58
|
end
|
@@ -65,13 +60,13 @@ module ActiveSupport
|
|
65
60
|
it "should not write data if :unless_exist option is true" do
|
66
61
|
with_store_management do |store|
|
67
62
|
store.write "rabbit", @white_rabbit, :unless_exist => true
|
68
|
-
store.read("rabbit").should
|
63
|
+
store.read("rabbit").should == @rabbit
|
69
64
|
end
|
70
65
|
end
|
71
66
|
|
72
67
|
it "should read raw data" do
|
73
68
|
with_store_management do |store|
|
74
|
-
store.read("rabbit", :raw => true).should ==
|
69
|
+
store.read("rabbit", :raw => true).should == Marshal.dump(@rabbit)
|
75
70
|
end
|
76
71
|
end
|
77
72
|
|
@@ -154,11 +149,12 @@ module ActiveSupport
|
|
154
149
|
store.fetch("rub-a-dub").should === "Flora de Cana"
|
155
150
|
store.fetch("rabbit", :force => true).should be_nil # force cache miss
|
156
151
|
store.fetch("rabbit", :force => true, :expires_in => 1.second) { @white_rabbit }
|
157
|
-
store.fetch("rabbit").should
|
152
|
+
store.fetch("rabbit").should == @white_rabbit
|
153
|
+
sleep 2
|
158
154
|
store.fetch("rabbit").should be_nil
|
159
155
|
end
|
160
156
|
end
|
161
|
-
|
157
|
+
|
162
158
|
private
|
163
159
|
def instantiate_store(addresses = nil)
|
164
160
|
ActiveSupport::Cache::RedisStore.new(addresses).instance_variable_get(:@data)
|
@@ -8,7 +8,7 @@ class App
|
|
8
8
|
def set(key, value)
|
9
9
|
@values[key] = value
|
10
10
|
end
|
11
|
-
|
11
|
+
|
12
12
|
def get(key)
|
13
13
|
@values[key]
|
14
14
|
end
|
@@ -38,28 +38,23 @@ module Sinatra
|
|
38
38
|
|
39
39
|
it "should accept connection params" do
|
40
40
|
redis = instantiate_store
|
41
|
-
redis.
|
42
|
-
redis.port.should == 6379
|
43
|
-
redis.db.should == 0
|
41
|
+
redis.to_s.should == "Redis Client connected to 127.0.0.1:6379 against DB 0"
|
44
42
|
|
45
43
|
redis = instantiate_store "localhost"
|
46
|
-
redis.
|
47
|
-
|
44
|
+
redis.to_s.should == "Redis Client connected to localhost:6379 against DB 0"
|
45
|
+
|
48
46
|
redis = instantiate_store "localhost:6380"
|
49
|
-
redis.
|
50
|
-
redis.port.should == 6380
|
47
|
+
redis.to_s.should == "Redis Client connected to localhost:6380 against DB 0"
|
51
48
|
|
52
49
|
redis = instantiate_store "localhost:6380/13"
|
53
|
-
redis.
|
54
|
-
redis.port.should == 6380
|
55
|
-
redis.db.should == 13
|
50
|
+
redis.to_s.should == "Redis Client connected to localhost:6380 against DB 13"
|
56
51
|
end
|
57
52
|
|
58
53
|
it "should instantiate a ring" do
|
59
54
|
store = instantiate_store
|
60
|
-
store.should be_kind_of(
|
55
|
+
store.should be_kind_of(Redis::MarshaledClient)
|
61
56
|
store = instantiate_store ["localhost:6379/0", "localhost:6379/1"]
|
62
|
-
store.should be_kind_of(
|
57
|
+
store.should be_kind_of(Redis::DistributedMarshaled)
|
63
58
|
end
|
64
59
|
|
65
60
|
it "should read the data" do
|
@@ -92,7 +87,7 @@ module Sinatra
|
|
92
87
|
|
93
88
|
it "should read raw data" do
|
94
89
|
with_store_management do |store|
|
95
|
-
store.read("rabbit", :raw => true).should ==
|
90
|
+
store.read("rabbit", :raw => true).should == Marshal.dump(@rabbit)
|
96
91
|
end
|
97
92
|
end
|
98
93
|
|