riak-sessions 0.9.7 → 1.0.0.beta
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.
- data/.gitignore +31 -0
- data/Gemfile +2 -6
- data/Rakefile +8 -40
- data/lib/riak-sessions.rb +0 -13
- data/lib/riak-sessions/version.rb +5 -0
- data/lib/riak/session_store.rb +1 -13
- data/lib/ripple/session_store.rb +1 -13
- data/riak-sessions.gemspec +25 -44
- data/spec/fixtures/session_autoload_test/session_autoload_test/foo.rb +0 -13
- data/spec/riak_session_store_spec.rb +9 -17
- data/spec/ripple_session_store_spec.rb +6 -19
- data/spec/spec_helper.rb +7 -17
- data/spec/support/ripple_session_support.rb +0 -13
- data/spec/support/rspec-rails-neuter.rb +2 -1
- data/spec/support/test_server.rb +19 -11
- data/spec/support/test_server.yml.example +14 -2
- metadata +139 -77
data/.gitignore
ADDED
@@ -0,0 +1,31 @@
|
|
1
|
+
## MAC OS
|
2
|
+
.DS_Store
|
3
|
+
|
4
|
+
## TEXTMATE
|
5
|
+
*.tmproj
|
6
|
+
tmtags
|
7
|
+
|
8
|
+
## EMACS
|
9
|
+
*~
|
10
|
+
\#*
|
11
|
+
.\#*
|
12
|
+
|
13
|
+
## VIM
|
14
|
+
*.swp
|
15
|
+
|
16
|
+
## PROJECT::GENERAL
|
17
|
+
coverage/**/*
|
18
|
+
rdoc/**/*
|
19
|
+
pkg/**/*
|
20
|
+
|
21
|
+
## PROJECT::SPECIFIC
|
22
|
+
.yardoc
|
23
|
+
.bundle
|
24
|
+
spec/support/test_server.yml
|
25
|
+
Gemfile.lock
|
26
|
+
**/bin
|
27
|
+
*.rbc
|
28
|
+
.rvmrc
|
29
|
+
|
30
|
+
.ripplenode
|
31
|
+
.riaktest
|
data/Gemfile
CHANGED
@@ -1,12 +1,8 @@
|
|
1
1
|
source :rubygems
|
2
2
|
|
3
3
|
gem 'bundler'
|
4
|
-
gem 'riak-client', :path =>
|
5
|
-
|
6
|
-
gem 'rails', '~>3.0.0'
|
7
|
-
gem 'rspec', '~>2.4.0'
|
8
|
-
gem 'rspec-rails', '~>2.4.0'
|
9
|
-
gem 'rake'
|
4
|
+
gem 'riak-client', :path => '../riak-client'
|
5
|
+
gemspec
|
10
6
|
|
11
7
|
platforms :mri do
|
12
8
|
gem 'yajl-ruby'
|
data/Rakefile
CHANGED
@@ -1,51 +1,22 @@
|
|
1
1
|
require 'rubygems'
|
2
|
-
require '
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
gemspec = Gem::Specification.new do |gem|
|
7
|
-
gem.name = "riak-sessions"
|
8
|
-
gem.summary = %Q{riak-sessions is a session store backed by Riak, the distributed database by Basho.}
|
9
|
-
gem.description = %Q{riak-sessions is a session store backed by Riak, the distributed database by Basho. It includes session implementations for both Rack and Rails 3.}
|
10
|
-
gem.version = version
|
11
|
-
gem.email = "sean@basho.com"
|
12
|
-
gem.homepage = "http://seancribbs.github.com/ripple"
|
13
|
-
gem.authors = ["Sean Cribbs"]
|
14
|
-
gem.add_development_dependency "rspec", "~>2.4.0"
|
15
|
-
gem.add_development_dependency "rspec-rails", "~>2.4.0"
|
16
|
-
gem.add_development_dependency "yajl-ruby"
|
17
|
-
gem.add_development_dependency "rails", "~>3.0.0"
|
18
|
-
gem.add_development_dependency "rake"
|
19
|
-
gem.add_dependency "riak-client", "~>#{version}"
|
20
|
-
gem.add_dependency "rack", ">=1.0"
|
21
|
-
|
22
|
-
files = FileList["**/*"]
|
23
|
-
# Editor and O/S files
|
24
|
-
files.exclude ".DS_Store", "*~", "\#*", ".\#*", "*.swp", "*.tmproj", "tmtags"
|
25
|
-
# Generated artifacts
|
26
|
-
files.exclude "coverage", "rdoc", "pkg", "doc", ".bundle", "*.rbc", ".rvmrc", ".watchr", ".rspec"
|
27
|
-
# Project-specific
|
28
|
-
files.exclude "Gemfile.lock", %r{spec/support/test_server.yml$}, "bin"
|
29
|
-
# Remove directories
|
30
|
-
files.exclude {|d| File.directory?(d) }
|
31
|
-
|
32
|
-
gem.files = files.to_a
|
2
|
+
require 'rubygems/package_task'
|
3
|
+
require 'rspec/core'
|
4
|
+
require 'rspec/core/rake_task'
|
33
5
|
|
34
|
-
|
6
|
+
def gemspec
|
7
|
+
$riaksessions_gemspec ||= Gem::Specification.load("riak-sessions.gemspec")
|
35
8
|
end
|
36
9
|
|
37
|
-
|
38
|
-
Rake::GemPackageTask.new(gemspec) do |pkg|
|
10
|
+
Gem::PackageTask.new(gemspec) do |pkg|
|
39
11
|
pkg.need_zip = false
|
40
12
|
pkg.need_tar = false
|
41
13
|
end
|
42
14
|
|
43
15
|
task :gem => :gemspec
|
44
16
|
|
45
|
-
desc %{
|
17
|
+
desc %{Validate the gemspec file.}
|
46
18
|
task :gemspec do
|
47
19
|
gemspec.validate
|
48
|
-
File.open("#{gemspec.name}.gemspec", 'w'){|f| f.write gemspec.to_ruby }
|
49
20
|
end
|
50
21
|
|
51
22
|
desc %{Release the gem to RubyGems.org}
|
@@ -53,12 +24,9 @@ task :release => :gem do
|
|
53
24
|
system "gem push pkg/#{gemspec.name}-#{gemspec.version}.gem"
|
54
25
|
end
|
55
26
|
|
56
|
-
require 'rspec/core'
|
57
|
-
require 'rspec/core/rake_task'
|
58
|
-
|
59
27
|
desc "Run Specs"
|
60
28
|
RSpec::Core::RakeTask.new(:spec) do |spec|
|
61
|
-
spec.
|
29
|
+
spec.rspec_opts = %w[--profile]
|
62
30
|
end
|
63
31
|
|
64
32
|
task :default => :spec
|
data/lib/riak-sessions.rb
CHANGED
@@ -1,16 +1,3 @@
|
|
1
|
-
# Copyright 2010 Sean Cribbs, Sonian Inc., and Basho Technologies, Inc.
|
2
|
-
#
|
3
|
-
# Licensed under the Apache License, Version 2.0 (the "License");
|
4
|
-
# you may not use this file except in compliance with the License.
|
5
|
-
# You may obtain a copy of the License at
|
6
|
-
#
|
7
|
-
# http://www.apache.org/licenses/LICENSE-2.0
|
8
|
-
#
|
9
|
-
# Unless required by applicable law or agreed to in writing, software
|
10
|
-
# distributed under the License is distributed on an "AS IS" BASIS,
|
11
|
-
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
12
|
-
# See the License for the specific language governing permissions and
|
13
|
-
# limitations under the License.
|
14
1
|
require 'rack'
|
15
2
|
require 'riak/session_store'
|
16
3
|
|
data/lib/riak/session_store.rb
CHANGED
@@ -1,16 +1,4 @@
|
|
1
|
-
|
2
|
-
#
|
3
|
-
# Licensed under the Apache License, Version 2.0 (the "License");
|
4
|
-
# you may not use this file except in compliance with the License.
|
5
|
-
# You may obtain a copy of the License at
|
6
|
-
#
|
7
|
-
# http://www.apache.org/licenses/LICENSE-2.0
|
8
|
-
#
|
9
|
-
# Unless required by applicable law or agreed to in writing, software
|
10
|
-
# distributed under the License is distributed on an "AS IS" BASIS,
|
11
|
-
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
12
|
-
# See the License for the specific language governing permissions and
|
13
|
-
# limitations under the License.
|
1
|
+
|
14
2
|
require 'riak'
|
15
3
|
require 'rack/session/abstract/id'
|
16
4
|
|
data/lib/ripple/session_store.rb
CHANGED
@@ -1,16 +1,4 @@
|
|
1
|
-
|
2
|
-
#
|
3
|
-
# Licensed under the Apache License, Version 2.0 (the "License");
|
4
|
-
# you may not use this file except in compliance with the License.
|
5
|
-
# You may obtain a copy of the License at
|
6
|
-
#
|
7
|
-
# http://www.apache.org/licenses/LICENSE-2.0
|
8
|
-
#
|
9
|
-
# Unless required by applicable law or agreed to in writing, software
|
10
|
-
# distributed under the License is distributed on an "AS IS" BASIS,
|
11
|
-
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
12
|
-
# See the License for the specific language governing permissions and
|
13
|
-
# limitations under the License.
|
1
|
+
|
14
2
|
begin
|
15
3
|
require 'action_dispatch/middleware/session/abstract_store'
|
16
4
|
rescue LoadError, NameError
|
data/riak-sessions.gemspec
CHANGED
@@ -1,48 +1,29 @@
|
|
1
|
-
|
1
|
+
$:.push File.expand_path("../lib", __FILE__)
|
2
|
+
require 'riak-sessions/version'
|
2
3
|
|
3
|
-
Gem::Specification.new do |
|
4
|
-
|
5
|
-
|
4
|
+
Gem::Specification.new do |gem|
|
5
|
+
# Meta
|
6
|
+
gem.name = "riak-sessions"
|
7
|
+
gem.summary = %Q{riak-sessions is a session store backed by Riak, the distributed database by Basho.}
|
8
|
+
gem.description = %Q{riak-sessions is a session store backed by Riak, the distributed database by Basho. It includes session implementations for both Rack and Rails 3.}
|
9
|
+
gem.version = Riak::Sessions::VERSION
|
10
|
+
gem.email = ["sean@basho.com"]
|
11
|
+
gem.homepage = "http://seancribbs.github.com/ripple"
|
12
|
+
gem.authors = ["Sean Cribbs"]
|
6
13
|
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
s.rubygems_version = %q{1.8.5}
|
16
|
-
s.summary = %q{riak-sessions is a session store backed by Riak, the distributed database by Basho.}
|
17
|
-
s.test_files = [%q{spec/riak_session_store_spec.rb}, %q{spec/ripple_session_store_spec.rb}]
|
14
|
+
# Deps
|
15
|
+
gem.add_development_dependency "rspec", "~>2.6.0"
|
16
|
+
gem.add_development_dependency "rspec-rails", "~>2.6.0"
|
17
|
+
gem.add_development_dependency "yajl-ruby"
|
18
|
+
gem.add_development_dependency "rails", "~>3.0.0"
|
19
|
+
gem.add_development_dependency "rake"
|
20
|
+
gem.add_dependency "riak-client", "~>#{Riak::Sessions::VERSION}"
|
21
|
+
gem.add_dependency "rack", ">=1.0"
|
18
22
|
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
s.add_development_dependency(%q<yajl-ruby>, [">= 0"])
|
26
|
-
s.add_development_dependency(%q<rails>, ["~> 3.0.0"])
|
27
|
-
s.add_development_dependency(%q<rake>, [">= 0"])
|
28
|
-
s.add_runtime_dependency(%q<riak-client>, ["~> 0.9.7"])
|
29
|
-
s.add_runtime_dependency(%q<rack>, [">= 1.0"])
|
30
|
-
else
|
31
|
-
s.add_dependency(%q<rspec>, ["~> 2.4.0"])
|
32
|
-
s.add_dependency(%q<rspec-rails>, ["~> 2.4.0"])
|
33
|
-
s.add_dependency(%q<yajl-ruby>, [">= 0"])
|
34
|
-
s.add_dependency(%q<rails>, ["~> 3.0.0"])
|
35
|
-
s.add_dependency(%q<rake>, [">= 0"])
|
36
|
-
s.add_dependency(%q<riak-client>, ["~> 0.9.7"])
|
37
|
-
s.add_dependency(%q<rack>, [">= 1.0"])
|
38
|
-
end
|
39
|
-
else
|
40
|
-
s.add_dependency(%q<rspec>, ["~> 2.4.0"])
|
41
|
-
s.add_dependency(%q<rspec-rails>, ["~> 2.4.0"])
|
42
|
-
s.add_dependency(%q<yajl-ruby>, [">= 0"])
|
43
|
-
s.add_dependency(%q<rails>, ["~> 3.0.0"])
|
44
|
-
s.add_dependency(%q<rake>, [">= 0"])
|
45
|
-
s.add_dependency(%q<riak-client>, ["~> 0.9.7"])
|
46
|
-
s.add_dependency(%q<rack>, [">= 1.0"])
|
47
|
-
end
|
23
|
+
# Files
|
24
|
+
ignores = File.read(".gitignore").split(/\r?\n/).reject{ |f| f =~ /^(#.+|\s*)$/ }.map {|f| Dir[f] }.flatten
|
25
|
+
gem.files = (Dir['**/*','.gitignore'] - ignores).reject {|f| !File.file?(f) }
|
26
|
+
gem.test_files = (Dir['spec/**/*','.gitignore'] - ignores).reject {|f| !File.file?(f) }
|
27
|
+
# gem.executables = Dir['bin/*'].map { |f| File.basename(f) }
|
28
|
+
gem.require_paths = ['lib']
|
48
29
|
end
|
@@ -1,16 +1,3 @@
|
|
1
|
-
# Copyright 2010 Sean Cribbs, Sonian Inc., and Basho Technologies, Inc.
|
2
|
-
#
|
3
|
-
# Licensed under the Apache License, Version 2.0 (the "License");
|
4
|
-
# you may not use this file except in compliance with the License.
|
5
|
-
# You may obtain a copy of the License at
|
6
|
-
#
|
7
|
-
# http://www.apache.org/licenses/LICENSE-2.0
|
8
|
-
#
|
9
|
-
# Unless required by applicable law or agreed to in writing, software
|
10
|
-
# distributed under the License is distributed on an "AS IS" BASIS,
|
11
|
-
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
12
|
-
# See the License for the specific language governing permissions and
|
13
|
-
# limitations under the License.
|
14
1
|
|
15
2
|
module SessionAutoloadTest
|
16
3
|
class Foo
|
@@ -1,22 +1,10 @@
|
|
1
|
-
|
2
|
-
#
|
3
|
-
# Licensed under the Apache License, Version 2.0 (the "License");
|
4
|
-
# you may not use this file except in compliance with the License.
|
5
|
-
# You may obtain a copy of the License at
|
6
|
-
#
|
7
|
-
# http://www.apache.org/licenses/LICENSE-2.0
|
8
|
-
#
|
9
|
-
# Unless required by applicable law or agreed to in writing, software
|
10
|
-
# distributed under the License is distributed on an "AS IS" BASIS,
|
11
|
-
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
12
|
-
# See the License for the specific language governing permissions and
|
13
|
-
# limitations under the License.
|
14
|
-
require File.expand_path("../spec_helper", __FILE__)
|
1
|
+
require 'spec_helper'
|
15
2
|
require 'rack/mock'
|
16
3
|
|
17
|
-
|
18
4
|
describe Riak::SessionStore do
|
19
|
-
|
5
|
+
before do
|
6
|
+
Riak::SessionStore::DEFAULT_OPTIONS[:http_port] = $test_server.http_port
|
7
|
+
end
|
20
8
|
session_key = Riak::SessionStore::DEFAULT_OPTIONS[:key]
|
21
9
|
session_match = /#{session_key}=([0-9a-fA-F]+);/
|
22
10
|
incrementor = lambda do |env|
|
@@ -69,8 +57,11 @@ describe Riak::SessionStore do
|
|
69
57
|
cookie = res["Set-Cookie"][session_match]
|
70
58
|
cookie.should_not match(/#{bad_cookie}/)
|
71
59
|
end
|
72
|
-
|
60
|
+
|
73
61
|
it "maintains freshness" do
|
62
|
+
now = Time.now
|
63
|
+
old_now = Time.method(:now)
|
64
|
+
Time.stub(:now).and_return(now)
|
74
65
|
pool = Riak::SessionStore.new(incrementor, :expire_after => 3)
|
75
66
|
res = Rack::MockRequest.new(pool).get('/')
|
76
67
|
res.body.should include '"counter"=>1'
|
@@ -80,6 +71,7 @@ describe Riak::SessionStore do
|
|
80
71
|
res.body.should include '"counter"=>2'
|
81
72
|
puts 'Sleeping to expire session' if $DEBUG
|
82
73
|
sleep 4
|
74
|
+
Time.stub(:now, &old_now)
|
83
75
|
res = Rack::MockRequest.new(pool).get('/', "HTTP_COOKIE" => cookie)
|
84
76
|
res["Set-Cookie"].should_not == cookie
|
85
77
|
res.body.should include '"counter"=>1'
|
@@ -1,17 +1,4 @@
|
|
1
|
-
|
2
|
-
#
|
3
|
-
# Licensed under the Apache License, Version 2.0 (the "License");
|
4
|
-
# you may not use this file except in compliance with the License.
|
5
|
-
# You may obtain a copy of the License at
|
6
|
-
#
|
7
|
-
# http://www.apache.org/licenses/LICENSE-2.0
|
8
|
-
#
|
9
|
-
# Unless required by applicable law or agreed to in writing, software
|
10
|
-
# distributed under the License is distributed on an "AS IS" BASIS,
|
11
|
-
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
12
|
-
# See the License for the specific language governing permissions and
|
13
|
-
# limitations under the License.
|
14
|
-
require File.expand_path("../spec_helper", __FILE__)
|
1
|
+
require 'spec_helper'
|
15
2
|
require 'ripple/session_store'
|
16
3
|
|
17
4
|
describe "Ripple::SessionStore" do
|
@@ -21,7 +8,7 @@ describe "Ripple::SessionStore" do
|
|
21
8
|
|
22
9
|
before :each do
|
23
10
|
@app = build_app do |middleware|
|
24
|
-
middleware.use Ripple::SessionStore, :key => '_session_id', :http_port =>
|
11
|
+
middleware.use Ripple::SessionStore, :key => '_session_id', :http_port => $test_server.http_port
|
25
12
|
middleware.delete "ActionDispatch::ShowExceptions"
|
26
13
|
end
|
27
14
|
@app.routes.draw do
|
@@ -88,7 +75,7 @@ describe "Ripple::SessionStore" do
|
|
88
75
|
response.should be_success
|
89
76
|
session_id.should_not == response.body
|
90
77
|
end
|
91
|
-
|
78
|
+
|
92
79
|
it "should get the session id when the session exists" do
|
93
80
|
get '/set_session_value'
|
94
81
|
response.should be_success
|
@@ -99,7 +86,7 @@ describe "Ripple::SessionStore" do
|
|
99
86
|
response.should be_success
|
100
87
|
session_id.should == response.body
|
101
88
|
end
|
102
|
-
|
89
|
+
|
103
90
|
it "should deserialize an unloaded class" do
|
104
91
|
with_autoload_path "session_autoload_test" do
|
105
92
|
get '/set_serialized_session_value'
|
@@ -116,7 +103,7 @@ describe "Ripple::SessionStore" do
|
|
116
103
|
'foo: #<SessionAutoloadTest::Foo bar:"baz">'.should == response.body
|
117
104
|
end
|
118
105
|
end
|
119
|
-
|
106
|
+
|
120
107
|
it "should not send the session cookie again if the ID already exists" do
|
121
108
|
get '/set_session_value'
|
122
109
|
response.should be_success
|
@@ -126,7 +113,7 @@ describe "Ripple::SessionStore" do
|
|
126
113
|
response.should be_success
|
127
114
|
headers['Set-Cookie'].should be_nil
|
128
115
|
end
|
129
|
-
|
116
|
+
|
130
117
|
it "should prevent session fixation" do
|
131
118
|
get '/set_session_value'
|
132
119
|
response.should be_success
|
data/spec/spec_helper.rb
CHANGED
@@ -1,16 +1,3 @@
|
|
1
|
-
# Copyright 2010 Sean Cribbs, Sonian Inc., and Basho Technologies, Inc.
|
2
|
-
#
|
3
|
-
# Licensed under the Apache License, Version 2.0 (the "License");
|
4
|
-
# you may not use this file except in compliance with the License.
|
5
|
-
# You may obtain a copy of the License at
|
6
|
-
#
|
7
|
-
# http://www.apache.org/licenses/LICENSE-2.0
|
8
|
-
#
|
9
|
-
# Unless required by applicable law or agreed to in writing, software
|
10
|
-
# distributed under the License is distributed on an "AS IS" BASIS,
|
11
|
-
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
12
|
-
# See the License for the specific language governing permissions and
|
13
|
-
# limitations under the License.
|
14
1
|
$LOAD_PATH.unshift(File.dirname(__FILE__))
|
15
2
|
$LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
|
16
3
|
$LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', '..', 'riak-client','lib'))
|
@@ -21,11 +8,14 @@ require 'riak'
|
|
21
8
|
require 'riak-sessions'
|
22
9
|
require 'rspec'
|
23
10
|
|
24
|
-
|
11
|
+
%w[
|
12
|
+
ripple_session_support
|
13
|
+
rspec-rails-neuter
|
14
|
+
test_server
|
15
|
+
].each do |file|
|
16
|
+
require File.join("support", file)
|
17
|
+
end
|
25
18
|
|
26
19
|
RSpec.configure do |config|
|
27
20
|
config.mock_with :rspec
|
28
|
-
config.after(:each) do
|
29
|
-
$test_server.recycle if $test_server
|
30
|
-
end
|
31
21
|
end
|
@@ -1,16 +1,3 @@
|
|
1
|
-
# Copyright 2010 Sean Cribbs, Sonian Inc., and Basho Technologies, Inc.
|
2
|
-
#
|
3
|
-
# Licensed under the Apache License, Version 2.0 (the "License");
|
4
|
-
# you may not use this file except in compliance with the License.
|
5
|
-
# You may obtain a copy of the License at
|
6
|
-
#
|
7
|
-
# http://www.apache.org/licenses/LICENSE-2.0
|
8
|
-
#
|
9
|
-
# Unless required by applicable law or agreed to in writing, software
|
10
|
-
# distributed under the License is distributed on an "AS IS" BASIS,
|
11
|
-
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
12
|
-
# See the License for the specific language governing permissions and
|
13
|
-
# limitations under the License.
|
14
1
|
|
15
2
|
require 'action_mailer' # Bah, fails on MailerExampleGroup
|
16
3
|
require 'support/rspec-rails-neuter'
|
@@ -1,3 +1,4 @@
|
|
1
|
+
|
1
2
|
# Copied from rspec-rails but bypassing the part that requires a Rails
|
2
3
|
# app
|
3
4
|
module RSpec
|
@@ -26,5 +27,5 @@ require 'rspec/rails/matchers'
|
|
26
27
|
require 'rspec/rails/fixture_support'
|
27
28
|
require 'rspec/rails/mocks'
|
28
29
|
require 'rspec/rails/module_inclusion'
|
29
|
-
require 'rspec/rails/browser_simulators'
|
30
|
+
#require 'rspec/rails/browser_simulators'
|
30
31
|
require 'rspec/rails/example'
|
data/spec/support/test_server.rb
CHANGED
@@ -1,16 +1,24 @@
|
|
1
|
+
|
1
2
|
require 'riak/test_server'
|
2
3
|
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
4
|
+
RSpec.configure do |config|
|
5
|
+
config.before do
|
6
|
+
unless $test_server
|
7
|
+
begin
|
8
|
+
config = YAML.load_file("spec/support/test_server.yml")
|
9
|
+
$test_server = Riak::TestServer.create(:root => config['root'],
|
10
|
+
:source => config['source'],
|
11
|
+
:min_port => config['min_port'] || 15000)
|
12
|
+
at_exit { $test_server.stop }
|
13
|
+
rescue => e
|
14
|
+
$stderr.puts "Can't run riak-sessions specs without the test server. Specify the location of your Riak installation in spec/support/test_server.yml"
|
15
|
+
$stderr.puts e.inspect
|
16
|
+
exit 1
|
17
|
+
end
|
18
|
+
end
|
9
19
|
$test_server.start
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
warn e.inspect
|
14
|
-
$test_server = nil
|
20
|
+
end
|
21
|
+
config.after do
|
22
|
+
$test_server.drop
|
15
23
|
end
|
16
24
|
end
|
@@ -1,2 +1,14 @@
|
|
1
|
-
|
2
|
-
|
1
|
+
# This is where the test server node will be generated. Something on
|
2
|
+
# /tmp is usually ok.
|
3
|
+
root: /tmp/riak-client-test-server
|
4
|
+
|
5
|
+
# This is where Riak is installed on your system, that is, the path to
|
6
|
+
# the 'riak' and 'riak-admin' scripts. I use a self-built node, but
|
7
|
+
# here's where it will generally be on various platforms:
|
8
|
+
#
|
9
|
+
# Linux: /usr/sbin
|
10
|
+
# Solaris/OpenSolaris: /opt/riak/bin
|
11
|
+
# Mac OS/X (Homebrew): /usr/local/bin
|
12
|
+
# Source/Self built: /path/to/your/install/rel/riak/bin
|
13
|
+
#
|
14
|
+
source: /Users/sean/Development/riak/rel/riak/bin
|
metadata
CHANGED
@@ -1,102 +1,145 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: riak-sessions
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
|
5
|
-
prerelease:
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
hash: 31098193
|
5
|
+
prerelease: 6
|
6
|
+
segments:
|
7
|
+
- 1
|
8
|
+
- 0
|
9
|
+
- 0
|
10
|
+
- beta
|
11
|
+
version: 1.0.0.beta
|
6
12
|
platform: ruby
|
7
|
-
authors:
|
13
|
+
authors:
|
8
14
|
- Sean Cribbs
|
9
15
|
autorequire:
|
10
16
|
bindir: bin
|
11
17
|
cert_chain: []
|
12
|
-
|
13
|
-
|
14
|
-
|
18
|
+
|
19
|
+
date: 2011-11-08 00:00:00 -03:00
|
20
|
+
default_executable:
|
21
|
+
dependencies:
|
22
|
+
- !ruby/object:Gem::Dependency
|
15
23
|
name: rspec
|
16
|
-
|
24
|
+
prerelease: false
|
25
|
+
requirement: &id001 !ruby/object:Gem::Requirement
|
17
26
|
none: false
|
18
|
-
requirements:
|
27
|
+
requirements:
|
19
28
|
- - ~>
|
20
|
-
- !ruby/object:Gem::Version
|
21
|
-
|
29
|
+
- !ruby/object:Gem::Version
|
30
|
+
hash: 23
|
31
|
+
segments:
|
32
|
+
- 2
|
33
|
+
- 6
|
34
|
+
- 0
|
35
|
+
version: 2.6.0
|
22
36
|
type: :development
|
23
|
-
|
24
|
-
|
25
|
-
- !ruby/object:Gem::Dependency
|
37
|
+
version_requirements: *id001
|
38
|
+
- !ruby/object:Gem::Dependency
|
26
39
|
name: rspec-rails
|
27
|
-
|
40
|
+
prerelease: false
|
41
|
+
requirement: &id002 !ruby/object:Gem::Requirement
|
28
42
|
none: false
|
29
|
-
requirements:
|
43
|
+
requirements:
|
30
44
|
- - ~>
|
31
|
-
- !ruby/object:Gem::Version
|
32
|
-
|
45
|
+
- !ruby/object:Gem::Version
|
46
|
+
hash: 23
|
47
|
+
segments:
|
48
|
+
- 2
|
49
|
+
- 6
|
50
|
+
- 0
|
51
|
+
version: 2.6.0
|
33
52
|
type: :development
|
34
|
-
|
35
|
-
|
36
|
-
- !ruby/object:Gem::Dependency
|
53
|
+
version_requirements: *id002
|
54
|
+
- !ruby/object:Gem::Dependency
|
37
55
|
name: yajl-ruby
|
38
|
-
|
56
|
+
prerelease: false
|
57
|
+
requirement: &id003 !ruby/object:Gem::Requirement
|
39
58
|
none: false
|
40
|
-
requirements:
|
41
|
-
- -
|
42
|
-
- !ruby/object:Gem::Version
|
43
|
-
|
59
|
+
requirements:
|
60
|
+
- - ">="
|
61
|
+
- !ruby/object:Gem::Version
|
62
|
+
hash: 3
|
63
|
+
segments:
|
64
|
+
- 0
|
65
|
+
version: "0"
|
44
66
|
type: :development
|
45
|
-
|
46
|
-
|
47
|
-
- !ruby/object:Gem::Dependency
|
67
|
+
version_requirements: *id003
|
68
|
+
- !ruby/object:Gem::Dependency
|
48
69
|
name: rails
|
49
|
-
|
70
|
+
prerelease: false
|
71
|
+
requirement: &id004 !ruby/object:Gem::Requirement
|
50
72
|
none: false
|
51
|
-
requirements:
|
73
|
+
requirements:
|
52
74
|
- - ~>
|
53
|
-
- !ruby/object:Gem::Version
|
75
|
+
- !ruby/object:Gem::Version
|
76
|
+
hash: 7
|
77
|
+
segments:
|
78
|
+
- 3
|
79
|
+
- 0
|
80
|
+
- 0
|
54
81
|
version: 3.0.0
|
55
82
|
type: :development
|
56
|
-
|
57
|
-
|
58
|
-
- !ruby/object:Gem::Dependency
|
83
|
+
version_requirements: *id004
|
84
|
+
- !ruby/object:Gem::Dependency
|
59
85
|
name: rake
|
60
|
-
|
86
|
+
prerelease: false
|
87
|
+
requirement: &id005 !ruby/object:Gem::Requirement
|
61
88
|
none: false
|
62
|
-
requirements:
|
63
|
-
- -
|
64
|
-
- !ruby/object:Gem::Version
|
65
|
-
|
89
|
+
requirements:
|
90
|
+
- - ">="
|
91
|
+
- !ruby/object:Gem::Version
|
92
|
+
hash: 3
|
93
|
+
segments:
|
94
|
+
- 0
|
95
|
+
version: "0"
|
66
96
|
type: :development
|
67
|
-
|
68
|
-
|
69
|
-
- !ruby/object:Gem::Dependency
|
97
|
+
version_requirements: *id005
|
98
|
+
- !ruby/object:Gem::Dependency
|
70
99
|
name: riak-client
|
71
|
-
|
100
|
+
prerelease: false
|
101
|
+
requirement: &id006 !ruby/object:Gem::Requirement
|
72
102
|
none: false
|
73
|
-
requirements:
|
103
|
+
requirements:
|
74
104
|
- - ~>
|
75
|
-
- !ruby/object:Gem::Version
|
76
|
-
|
105
|
+
- !ruby/object:Gem::Version
|
106
|
+
hash: 31098193
|
107
|
+
segments:
|
108
|
+
- 1
|
109
|
+
- 0
|
110
|
+
- 0
|
111
|
+
- beta
|
112
|
+
version: 1.0.0.beta
|
77
113
|
type: :runtime
|
78
|
-
|
79
|
-
|
80
|
-
- !ruby/object:Gem::Dependency
|
114
|
+
version_requirements: *id006
|
115
|
+
- !ruby/object:Gem::Dependency
|
81
116
|
name: rack
|
82
|
-
|
117
|
+
prerelease: false
|
118
|
+
requirement: &id007 !ruby/object:Gem::Requirement
|
83
119
|
none: false
|
84
|
-
requirements:
|
85
|
-
- -
|
86
|
-
- !ruby/object:Gem::Version
|
87
|
-
|
120
|
+
requirements:
|
121
|
+
- - ">="
|
122
|
+
- !ruby/object:Gem::Version
|
123
|
+
hash: 15
|
124
|
+
segments:
|
125
|
+
- 1
|
126
|
+
- 0
|
127
|
+
version: "1.0"
|
88
128
|
type: :runtime
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
email: sean@basho.com
|
129
|
+
version_requirements: *id007
|
130
|
+
description: riak-sessions is a session store backed by Riak, the distributed database by Basho. It includes session implementations for both Rack and Rails 3.
|
131
|
+
email:
|
132
|
+
- sean@basho.com
|
94
133
|
executables: []
|
134
|
+
|
95
135
|
extensions: []
|
136
|
+
|
96
137
|
extra_rdoc_files: []
|
97
|
-
|
138
|
+
|
139
|
+
files:
|
98
140
|
- Gemfile
|
99
141
|
- lib/riak/session_store.rb
|
142
|
+
- lib/riak-sessions/version.rb
|
100
143
|
- lib/riak-sessions.rb
|
101
144
|
- lib/ripple/session_store.rb
|
102
145
|
- Rakefile
|
@@ -109,31 +152,50 @@ files:
|
|
109
152
|
- spec/support/rspec-rails-neuter.rb
|
110
153
|
- spec/support/test_server.rb
|
111
154
|
- spec/support/test_server.yml.example
|
155
|
+
- .gitignore
|
156
|
+
has_rdoc: true
|
112
157
|
homepage: http://seancribbs.github.com/ripple
|
113
158
|
licenses: []
|
159
|
+
|
114
160
|
post_install_message:
|
115
161
|
rdoc_options: []
|
116
|
-
|
162
|
+
|
163
|
+
require_paths:
|
117
164
|
- lib
|
118
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
165
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
119
166
|
none: false
|
120
|
-
requirements:
|
121
|
-
- -
|
122
|
-
- !ruby/object:Gem::Version
|
123
|
-
|
124
|
-
|
167
|
+
requirements:
|
168
|
+
- - ">="
|
169
|
+
- !ruby/object:Gem::Version
|
170
|
+
hash: 3
|
171
|
+
segments:
|
172
|
+
- 0
|
173
|
+
version: "0"
|
174
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
125
175
|
none: false
|
126
|
-
requirements:
|
127
|
-
- -
|
128
|
-
- !ruby/object:Gem::Version
|
129
|
-
|
176
|
+
requirements:
|
177
|
+
- - ">"
|
178
|
+
- !ruby/object:Gem::Version
|
179
|
+
hash: 25
|
180
|
+
segments:
|
181
|
+
- 1
|
182
|
+
- 3
|
183
|
+
- 1
|
184
|
+
version: 1.3.1
|
130
185
|
requirements: []
|
186
|
+
|
131
187
|
rubyforge_project:
|
132
|
-
rubygems_version: 1.
|
188
|
+
rubygems_version: 1.6.2
|
133
189
|
signing_key:
|
134
190
|
specification_version: 3
|
135
|
-
summary: riak-sessions is a session store backed by Riak, the distributed database
|
136
|
-
|
137
|
-
|
191
|
+
summary: riak-sessions is a session store backed by Riak, the distributed database by Basho.
|
192
|
+
test_files:
|
193
|
+
- spec/fixtures/session_autoload_test/session_autoload_test/foo.rb
|
138
194
|
- spec/riak_session_store_spec.rb
|
139
195
|
- spec/ripple_session_store_spec.rb
|
196
|
+
- spec/spec_helper.rb
|
197
|
+
- spec/support/ripple_session_support.rb
|
198
|
+
- spec/support/rspec-rails-neuter.rb
|
199
|
+
- spec/support/test_server.rb
|
200
|
+
- spec/support/test_server.yml.example
|
201
|
+
- .gitignore
|