couchrest_session_store 0.4.1 → 0.4.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- checksums.yaml.gz.sig +0 -0
- data.tar.gz.sig +0 -0
- data/.ruby-version +1 -1
- data/.travis.yml +5 -2
- data/Gemfile +1 -1
- data/Rakefile +2 -0
- data/couchrest_session_store.gemspec +3 -3
- data/lib/couchrest/model/database_method.rb +3 -3
- data/lib/couchrest/model/rotation.rb +6 -6
- data/lib/couchrest/session/document.rb +7 -7
- data/lib/couchrest/session/store.rb +8 -8
- data/test/database_method_test.rb +6 -7
- data/test/session_store_test.rb +4 -7
- metadata +45 -64
- metadata.gz.sig +0 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 1c4c3fa30d76242b979ee2d05a64a3823e4f7455
|
4
|
+
data.tar.gz: ae8975cba7bb76a3029d1dc47415d15daa0feeb3
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: f0079fafa161b1e348676ae7b29ca60e8d3f2bc466a3f6ff07e72e680fc7f154d1a721701b583c02732fa28c813e3e7119818cc596aff8cf0c32178fe930bfab
|
7
|
+
data.tar.gz: 9c41b10a05c7dbc65eea06a7a3725c230b170a21523748f6c47cfe5d345ee23e55586c2afa521d5ee2dfbc6eff9ec2ddbe3ec56195a9534ceab7fa0174b43ba2
|
checksums.yaml.gz.sig
ADDED
Binary file
|
data.tar.gz.sig
CHANGED
Binary file
|
data/.ruby-version
CHANGED
@@ -1 +1 @@
|
|
1
|
-
1.
|
1
|
+
2.1.5
|
data/.travis.yml
CHANGED
@@ -1,6 +1,9 @@
|
|
1
1
|
services:
|
2
2
|
- couchdb
|
3
|
+
# the default bundler version on travis is very old and causes 2.1.5. build issues
|
4
|
+
before_install:
|
5
|
+
- gem install bundler
|
6
|
+
before_scripe:
|
7
|
+
- "test/setup_couch.sh"
|
3
8
|
notifications:
|
4
9
|
email: false
|
5
|
-
before_script:
|
6
|
-
- "test/setup_couch.sh"
|
data/Gemfile
CHANGED
data/Rakefile
CHANGED
@@ -14,13 +14,13 @@ Gem::Specification.new do |gem|
|
|
14
14
|
gem.files = `git ls-files`.split("\n")
|
15
15
|
gem.name = "couchrest_session_store"
|
16
16
|
gem.require_paths = ["lib"]
|
17
|
-
gem.version = '0.4.
|
17
|
+
gem.version = '0.4.2'
|
18
18
|
|
19
19
|
gem.cert_chain = ['certs/azul.pem']
|
20
20
|
gem.signing_key = File.expand_path("~/.ssh/gem-private_key.pem") if $0 =~ /gem\z/
|
21
21
|
|
22
|
-
gem.add_dependency "couchrest"
|
23
|
-
gem.add_dependency "couchrest_model"
|
22
|
+
gem.add_dependency "couchrest", "~> 2.0.0.rc3"
|
23
|
+
gem.add_dependency "couchrest_model", "~> 2.1.0.beta2"
|
24
24
|
gem.add_dependency "actionpack", '~> 4.0'
|
25
25
|
|
26
26
|
gem.add_development_dependency "minitest"
|
@@ -52,7 +52,7 @@ module CouchRest
|
|
52
52
|
protected
|
53
53
|
|
54
54
|
def call_database_method
|
55
|
-
if self.respond_to?(self.class.database_method)
|
55
|
+
if self.respond_to?(self.class.database_method, true)
|
56
56
|
name = self.send(self.class.database_method)
|
57
57
|
self.class.db_name_with_prefix(name)
|
58
58
|
else
|
@@ -72,7 +72,7 @@ module CouchRest
|
|
72
72
|
|
73
73
|
def database
|
74
74
|
if database_method
|
75
|
-
if !self.respond_to?(database_method)
|
75
|
+
if !self.respond_to?(database_method, true)
|
76
76
|
raise ArgumentError.new("Incorrect argument to database_method(): no such method '#{method}' found in class #{self}.")
|
77
77
|
end
|
78
78
|
self.server.database(call_database_method)
|
@@ -107,7 +107,7 @@ module CouchRest
|
|
107
107
|
begin
|
108
108
|
CouchRest.head "#{self.server.uri}/#{name}"
|
109
109
|
return true
|
110
|
-
rescue
|
110
|
+
rescue CouchRest::NotFound
|
111
111
|
return false
|
112
112
|
end
|
113
113
|
end
|
@@ -10,19 +10,19 @@ module CouchRest
|
|
10
10
|
|
11
11
|
def create(*args)
|
12
12
|
super(*args)
|
13
|
-
rescue
|
13
|
+
rescue CouchRest::NotFound => exc
|
14
14
|
raise storage_missing(exc)
|
15
15
|
end
|
16
16
|
|
17
17
|
def update(*args)
|
18
18
|
super(*args)
|
19
|
-
rescue
|
19
|
+
rescue CouchRest::NotFound => exc
|
20
20
|
raise storage_missing(exc)
|
21
21
|
end
|
22
22
|
|
23
23
|
def destroy(*args)
|
24
24
|
super(*args)
|
25
|
-
rescue
|
25
|
+
rescue CouchRest::NotFound => exc
|
26
26
|
raise storage_missing(exc)
|
27
27
|
end
|
28
28
|
|
@@ -138,7 +138,7 @@ module CouchRest
|
|
138
138
|
self.database!
|
139
139
|
end
|
140
140
|
create_rotation_filter(db)
|
141
|
-
if self.respond_to?(:design_doc)
|
141
|
+
if self.respond_to?(:design_doc, true)
|
142
142
|
design_doc.sync!(db)
|
143
143
|
# or maybe this?:
|
144
144
|
#self.design_docs.each do |design|
|
@@ -180,7 +180,7 @@ module CouchRest
|
|
180
180
|
design = doc_hash['doc']
|
181
181
|
begin
|
182
182
|
to.get(design['_id'])
|
183
|
-
rescue
|
183
|
+
rescue CouchRest::NotFound
|
184
184
|
design.delete('_rev')
|
185
185
|
to.save_doc(design)
|
186
186
|
end
|
@@ -198,7 +198,7 @@ module CouchRest
|
|
198
198
|
end
|
199
199
|
filters = {"not_expired" => filter_string}
|
200
200
|
db.save_doc("_id" => "_design/#{name}", "filters" => filters)
|
201
|
-
rescue
|
201
|
+
rescue CouchRest::Conflict
|
202
202
|
end
|
203
203
|
|
204
204
|
#
|
@@ -27,13 +27,13 @@ class CouchRest::Session::Document < CouchRest::Document
|
|
27
27
|
doc = self.fetch(sid)
|
28
28
|
doc.update(session, options)
|
29
29
|
return doc
|
30
|
-
rescue
|
30
|
+
rescue CouchRest::NotFound
|
31
31
|
self.build(sid, session, options)
|
32
32
|
end
|
33
33
|
|
34
34
|
def self.find_by_expires(options = {})
|
35
35
|
options[:reduce] ||= false
|
36
|
-
design = database.get '_design/Session'
|
36
|
+
design = database.get! '_design/Session'
|
37
37
|
response = design.view :by_expires, options
|
38
38
|
response['rows']
|
39
39
|
end
|
@@ -41,8 +41,8 @@ class CouchRest::Session::Document < CouchRest::Document
|
|
41
41
|
def self.create_database!(name=nil)
|
42
42
|
db = super(name)
|
43
43
|
begin
|
44
|
-
db.get('_design/Session')
|
45
|
-
rescue
|
44
|
+
db.get!('_design/Session')
|
45
|
+
rescue CouchRest::NotFound
|
46
46
|
design = File.read(File.expand_path('../../../../design/Session.json', __FILE__))
|
47
47
|
design = JSON.parse(design)
|
48
48
|
db.save_doc(design.merge({"_id" => "_design/Session"}))
|
@@ -55,7 +55,7 @@ class CouchRest::Session::Document < CouchRest::Document
|
|
55
55
|
end
|
56
56
|
|
57
57
|
def fetch(sid = nil)
|
58
|
-
@doc = database.get(sid || doc['_id'])
|
58
|
+
@doc = database.get!(sid || doc['_id'])
|
59
59
|
end
|
60
60
|
|
61
61
|
def to_session
|
@@ -81,10 +81,10 @@ class CouchRest::Session::Document < CouchRest::Document
|
|
81
81
|
|
82
82
|
def save
|
83
83
|
database.save_doc(doc)
|
84
|
-
rescue
|
84
|
+
rescue CouchRest::Conflict
|
85
85
|
fetch
|
86
86
|
retry
|
87
|
-
rescue
|
87
|
+
rescue CouchRest::NotFound => exc
|
88
88
|
if exc.http_body =~ /no_db_file/
|
89
89
|
exc = CouchRest::StorageMissing.new(exc.response, database)
|
90
90
|
end
|
@@ -41,10 +41,10 @@ class CouchRest::Session::Store < ActionDispatch::Session::AbstractStore
|
|
41
41
|
else
|
42
42
|
[generate_sid, {}]
|
43
43
|
end
|
44
|
-
rescue
|
44
|
+
rescue CouchRest::NotFound
|
45
45
|
# session data does not exist anymore
|
46
46
|
return [sid, {}]
|
47
|
-
rescue
|
47
|
+
rescue CouchRest::Unauthorized,
|
48
48
|
Errno::EHOSTUNREACH,
|
49
49
|
Errno::ECONNREFUSED => e
|
50
50
|
# can't connect to couch. We add some status to the session
|
@@ -53,13 +53,13 @@ class CouchRest::Session::Store < ActionDispatch::Session::AbstractStore
|
|
53
53
|
end
|
54
54
|
|
55
55
|
def set_session(env, sid, session, options)
|
56
|
-
raise
|
56
|
+
raise CouchRest::Unauthorized if /^_design\/(.*)/ =~ sid
|
57
57
|
doc = build_or_update_doc(sid, session, options)
|
58
58
|
doc.save
|
59
59
|
return sid
|
60
|
-
|
61
|
-
rescue
|
62
|
-
|
60
|
+
# if we can't store the session we just return false.
|
61
|
+
rescue CouchRest::Unauthorized,
|
62
|
+
CouchRest::RequestFailed,
|
63
63
|
Errno::EHOSTUNREACH,
|
64
64
|
Errno::ECONNREFUSED => e
|
65
65
|
return false
|
@@ -69,7 +69,7 @@ class CouchRest::Session::Store < ActionDispatch::Session::AbstractStore
|
|
69
69
|
doc = secure_get(sid)
|
70
70
|
doc.delete
|
71
71
|
generate_sid unless options[:drop]
|
72
|
-
rescue
|
72
|
+
rescue CouchRest::NotFound
|
73
73
|
# already destroyed - we're done.
|
74
74
|
generate_sid unless options[:drop]
|
75
75
|
end
|
@@ -88,7 +88,7 @@ class CouchRest::Session::Store < ActionDispatch::Session::AbstractStore
|
|
88
88
|
# this should be prevented on a couch permission level as well.
|
89
89
|
# but better be save than sorry.
|
90
90
|
def secure_get(sid)
|
91
|
-
raise
|
91
|
+
raise CouchRest::NotFound if /^_design\/(.*)/ =~ sid
|
92
92
|
CouchRest::Session::Document.fetch(sid)
|
93
93
|
end
|
94
94
|
|
@@ -1,4 +1,5 @@
|
|
1
|
-
|
1
|
+
require 'test_helper'
|
2
|
+
require "byebug"
|
2
3
|
|
3
4
|
class DatabaseMethodTest < MiniTest::Test
|
4
5
|
|
@@ -17,13 +18,13 @@ class DatabaseMethodTest < MiniTest::Test
|
|
17
18
|
def test_instance_method
|
18
19
|
doc1 = TestModel.new({:dbname => 'one'})
|
19
20
|
doc1.database.create!
|
20
|
-
|
21
|
+
assert_equal '/couchrest_test_db_one', doc1.database.root.path
|
21
22
|
assert doc1.save
|
22
23
|
doc1.update_attributes(:confirm => 'yep')
|
23
24
|
|
24
25
|
doc2 = TestModel.new({:dbname => 'two'})
|
25
26
|
doc2.database.create!
|
26
|
-
|
27
|
+
assert_equal '/couchrest_test_db_two', doc2.database.root.path
|
27
28
|
assert doc2.save
|
28
29
|
doc2.confirm = 'sure'
|
29
30
|
doc2.save!
|
@@ -48,7 +49,7 @@ class DatabaseMethodTest < MiniTest::Test
|
|
48
49
|
doc_blue.database!
|
49
50
|
doc_blue.save!
|
50
51
|
|
51
|
-
doc_blue_copy = CouchRest.get([root.sub('red','blue'), doc_blue.id].join('/'))
|
52
|
+
doc_blue_copy = CouchRest.get([root.to_s.sub('red','blue'), doc_blue.id].join('/'))
|
52
53
|
assert_equal "rose", doc_blue_copy["confirm"]
|
53
54
|
|
54
55
|
doc_red.database.delete!
|
@@ -108,9 +109,7 @@ class DatabaseMethodTest < MiniTest::Test
|
|
108
109
|
assert User.find(user1.id), 'should find user in tmp_users'
|
109
110
|
assert_equal user1.login, User.find(user1.id).login
|
110
111
|
assert_equal 'test-user-1', User.server.database('couchrest_tmp_users').get(user1.id)['login']
|
111
|
-
|
112
|
-
User.server.database('couchrest_users').get(user1.id)
|
113
|
-
end
|
112
|
+
assert_nil User.server.database('couchrest_users').get(user1.id)
|
114
113
|
end
|
115
114
|
|
116
115
|
end
|
data/test/session_store_test.rb
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
require
|
1
|
+
require 'test_helper'
|
2
2
|
|
3
3
|
class SessionStoreTest < MiniTest::Test
|
4
4
|
|
@@ -25,9 +25,8 @@ class SessionStoreTest < MiniTest::Test
|
|
25
25
|
def test_prevent_access_to_design_docs
|
26
26
|
sid = '_design/bla'
|
27
27
|
session = {views: 'my hacked view'}
|
28
|
-
|
29
|
-
|
30
|
-
end
|
28
|
+
store_session(sid, session)
|
29
|
+
assert_nil CouchRest::Session::Document.database.get('_design/bla')
|
31
30
|
end
|
32
31
|
|
33
32
|
def test_unmarshalled_session_flow
|
@@ -99,9 +98,7 @@ class SessionStoreTest < MiniTest::Test
|
|
99
98
|
def test_cleanup_expired_sessions
|
100
99
|
sid, session = expired_session
|
101
100
|
store.cleanup(store.expired)
|
102
|
-
|
103
|
-
CouchTester.new.get(sid)
|
104
|
-
end
|
101
|
+
assert_nil CouchTester.new.get(sid)
|
105
102
|
end
|
106
103
|
|
107
104
|
def test_keep_fresh_during_cleanup
|
metadata
CHANGED
@@ -1,123 +1,105 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: couchrest_session_store
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.4.
|
5
|
-
prerelease:
|
4
|
+
version: 0.4.2
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- Azul
|
9
8
|
autorequire:
|
10
9
|
bindir: bin
|
11
10
|
cert_chain:
|
12
|
-
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
Nk5LYnFsS3VKWGI1CnFTTkdST0VrVFRMekhGMEVNQU5xTkNKb1hIWHZTZitP
|
36
|
-
S2lGZ0VZM2hvb09pNzFLUDRwbisrZHU1OG95V2FpTWcKM3NkcXhHbXU5R1N4
|
37
|
-
WXhTSXhBb3Fxa2JLaVR6TjFNSWFiVDNuRnVyTnBETFVGT1ZGWkNwQmx2eTNB
|
38
|
-
OTE5U3Q0ZwpwbDJpaG40QXAzNDgrYVdmSFFPSjgxN1BpdkNpZW9tRXlZS1Qv
|
39
|
-
YzE0T0Nza3VJbWNPRGs5bHNrZCtOc3FIQVBhCkhvWXI2WlRHbDlvPQotLS0t
|
40
|
-
LUVORCBDRVJUSUZJQ0FURS0tLS0tCg==
|
41
|
-
date: 2016-05-01 00:00:00.000000000 Z
|
11
|
+
- |
|
12
|
+
-----BEGIN CERTIFICATE-----
|
13
|
+
MIIDZDCCAkygAwIBAgIBATANBgkqhkiG9w0BAQUFADA8MQ0wCwYDVQQDDARhenVs
|
14
|
+
MRYwFAYKCZImiZPyLGQBGRYGcmlzZXVwMRMwEQYKCZImiZPyLGQBGRYDbmV0MB4X
|
15
|
+
DTE2MDUwMTIxMjgzMVoXDTE3MDUwMTIxMjgzMVowPDENMAsGA1UEAwwEYXp1bDEW
|
16
|
+
MBQGCgmSJomT8ixkARkWBnJpc2V1cDETMBEGCgmSJomT8ixkARkWA25ldDCCASIw
|
17
|
+
DQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANvcN/ZKpgGRgUuNVcaUvuh2esAc
|
18
|
+
wXdiLdhW/dux9FRhg4IjZCPr+xRC8gkb2gskVvVagCHfhLm1qyxzeRFjDlhnyKin
|
19
|
+
r/77rdG3J+O5ww6E7gVxKNFAU40NCOb2dOWI5Gpy0JQ1cBP1iXP2O/VNt1PPoqWU
|
20
|
+
mdMFjKiNdA1ZdfUPFw1mflydxdW6AjskhpYxOSXIYLrurQOcxtEZbD6hcCGwoxH9
|
21
|
+
rllpFiplkvroSlebaSWqgbBTGlLY3FZS+abFjqLHTAhI1IMrqkfLd8GZKYO23ros
|
22
|
+
txD0ceV7vYHXEr5flHK6OrORA8mhQIviT5TwN8izmQetHXSkz9rAsYgsjgcCAwEA
|
23
|
+
AaNxMG8wCQYDVR0TBAIwADALBgNVHQ8EBAMCBLAwHQYDVR0OBBYEFM/dfHni9ahe
|
24
|
+
5LaLpHGUiI4GTEcGMBoGA1UdEQQTMBGBD2F6dWxAcmlzZXVwLm5ldDAaBgNVHRIE
|
25
|
+
EzARgQ9henVsQHJpc2V1cC5uZXQwDQYJKoZIhvcNAQEFBQADggEBAKi9W5DB43kB
|
26
|
+
yN3sEi18YCEot9SJVGJN+sP4HoEBfzQ0Y4Ofj1kSP7DVXaIHkFFB7Th8Ox7GFqn0
|
27
|
+
SR08zc0ZP7xt0Ru6oSEPXCI8yGcMR281DoeVYucTudXMzfTP1MnR6NKbqlKuJXb5
|
28
|
+
qSNGROEkTTLzHF0EMANqNCJoXHXvSf+OKiFgEY3hooOi71KP4pn++du58oyWaiMg
|
29
|
+
3sdqxGmu9GSxYxSIxAoqqkbKiTzN1MIabT3nFurNpDLUFOVFZCpBlvy3A919St4g
|
30
|
+
pl2ihn4Ap348+aWfHQOJ817PivCieomEyYKT/c14OCskuImcODk9lskd+NsqHAPa
|
31
|
+
HoYr6ZTGl9o=
|
32
|
+
-----END CERTIFICATE-----
|
33
|
+
date: 2016-05-03 00:00:00.000000000 Z
|
42
34
|
dependencies:
|
43
35
|
- !ruby/object:Gem::Dependency
|
44
36
|
name: couchrest
|
45
37
|
requirement: !ruby/object:Gem::Requirement
|
46
|
-
none: false
|
47
38
|
requirements:
|
48
|
-
- -
|
39
|
+
- - "~>"
|
49
40
|
- !ruby/object:Gem::Version
|
50
|
-
version:
|
41
|
+
version: 2.0.0.rc3
|
51
42
|
type: :runtime
|
52
43
|
prerelease: false
|
53
44
|
version_requirements: !ruby/object:Gem::Requirement
|
54
|
-
none: false
|
55
45
|
requirements:
|
56
|
-
- -
|
46
|
+
- - "~>"
|
57
47
|
- !ruby/object:Gem::Version
|
58
|
-
version:
|
48
|
+
version: 2.0.0.rc3
|
59
49
|
- !ruby/object:Gem::Dependency
|
60
50
|
name: couchrest_model
|
61
51
|
requirement: !ruby/object:Gem::Requirement
|
62
|
-
none: false
|
63
52
|
requirements:
|
64
|
-
- -
|
53
|
+
- - "~>"
|
65
54
|
- !ruby/object:Gem::Version
|
66
|
-
version:
|
55
|
+
version: 2.1.0.beta2
|
67
56
|
type: :runtime
|
68
57
|
prerelease: false
|
69
58
|
version_requirements: !ruby/object:Gem::Requirement
|
70
|
-
none: false
|
71
59
|
requirements:
|
72
|
-
- -
|
60
|
+
- - "~>"
|
73
61
|
- !ruby/object:Gem::Version
|
74
|
-
version:
|
62
|
+
version: 2.1.0.beta2
|
75
63
|
- !ruby/object:Gem::Dependency
|
76
64
|
name: actionpack
|
77
65
|
requirement: !ruby/object:Gem::Requirement
|
78
|
-
none: false
|
79
66
|
requirements:
|
80
|
-
- - ~>
|
67
|
+
- - "~>"
|
81
68
|
- !ruby/object:Gem::Version
|
82
69
|
version: '4.0'
|
83
70
|
type: :runtime
|
84
71
|
prerelease: false
|
85
72
|
version_requirements: !ruby/object:Gem::Requirement
|
86
|
-
none: false
|
87
73
|
requirements:
|
88
|
-
- - ~>
|
74
|
+
- - "~>"
|
89
75
|
- !ruby/object:Gem::Version
|
90
76
|
version: '4.0'
|
91
77
|
- !ruby/object:Gem::Dependency
|
92
78
|
name: minitest
|
93
79
|
requirement: !ruby/object:Gem::Requirement
|
94
|
-
none: false
|
95
80
|
requirements:
|
96
|
-
- -
|
81
|
+
- - ">="
|
97
82
|
- !ruby/object:Gem::Version
|
98
83
|
version: '0'
|
99
84
|
type: :development
|
100
85
|
prerelease: false
|
101
86
|
version_requirements: !ruby/object:Gem::Requirement
|
102
|
-
none: false
|
103
87
|
requirements:
|
104
|
-
- -
|
88
|
+
- - ">="
|
105
89
|
- !ruby/object:Gem::Version
|
106
90
|
version: '0'
|
107
91
|
- !ruby/object:Gem::Dependency
|
108
92
|
name: rake
|
109
93
|
requirement: !ruby/object:Gem::Requirement
|
110
|
-
none: false
|
111
94
|
requirements:
|
112
|
-
- -
|
95
|
+
- - ">="
|
113
96
|
- !ruby/object:Gem::Version
|
114
97
|
version: '0'
|
115
98
|
type: :development
|
116
99
|
prerelease: false
|
117
100
|
version_requirements: !ruby/object:Gem::Requirement
|
118
|
-
none: false
|
119
101
|
requirements:
|
120
|
-
- -
|
102
|
+
- - ">="
|
121
103
|
- !ruby/object:Gem::Version
|
122
104
|
version: '0'
|
123
105
|
description: A Rails Session Store based on CouchRest Model
|
@@ -127,8 +109,8 @@ executables: []
|
|
127
109
|
extensions: []
|
128
110
|
extra_rdoc_files: []
|
129
111
|
files:
|
130
|
-
- .ruby-version
|
131
|
-
- .travis.yml
|
112
|
+
- ".ruby-version"
|
113
|
+
- ".travis.yml"
|
132
114
|
- Gemfile
|
133
115
|
- README.md
|
134
116
|
- Rakefile
|
@@ -153,26 +135,25 @@ files:
|
|
153
135
|
- test/test_helper.rb
|
154
136
|
homepage: http://github.com/azul/couchrest_session_store
|
155
137
|
licenses: []
|
138
|
+
metadata: {}
|
156
139
|
post_install_message:
|
157
140
|
rdoc_options: []
|
158
141
|
require_paths:
|
159
142
|
- lib
|
160
143
|
required_ruby_version: !ruby/object:Gem::Requirement
|
161
|
-
none: false
|
162
144
|
requirements:
|
163
|
-
- -
|
145
|
+
- - ">="
|
164
146
|
- !ruby/object:Gem::Version
|
165
147
|
version: '0'
|
166
148
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
167
|
-
none: false
|
168
149
|
requirements:
|
169
|
-
- -
|
150
|
+
- - ">="
|
170
151
|
- !ruby/object:Gem::Version
|
171
152
|
version: '0'
|
172
153
|
requirements: []
|
173
154
|
rubyforge_project:
|
174
|
-
rubygems_version:
|
155
|
+
rubygems_version: 2.2.2
|
175
156
|
signing_key:
|
176
|
-
specification_version:
|
157
|
+
specification_version: 4
|
177
158
|
summary: A Rails Session Store based on CouchRest Model
|
178
159
|
test_files: []
|
metadata.gz.sig
CHANGED
Binary file
|