redis_session_store 0.0.1 → 0.0.2
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/lib/redis_session_store.rb +6 -2
- metadata +28 -52
data/lib/redis_session_store.rb
CHANGED
@@ -1,4 +1,5 @@
|
|
1
1
|
require 'redis'
|
2
|
+
require 'base64'
|
2
3
|
# Redis session storage for Rails, and for Rails only. Derived from
|
3
4
|
# the MemCacheStore code, simply dropping in Redis instead.
|
4
5
|
#
|
@@ -37,7 +38,8 @@ class ActionDispatch::Session::RedisSessionStore < ActionDispatch::Session::Abst
|
|
37
38
|
sid ||= generate_sid
|
38
39
|
begin
|
39
40
|
data = @pool.get prefixed(sid)
|
40
|
-
|
41
|
+
|
42
|
+
session = data.nil? ? {} : Marshal.load(Base64.decode64(data))
|
41
43
|
# session = data.nil? ? {} : JSON.parse(data)
|
42
44
|
rescue Errno::ECONNREFUSED
|
43
45
|
session = {}
|
@@ -59,7 +61,9 @@ class ActionDispatch::Session::RedisSessionStore < ActionDispatch::Session::Abst
|
|
59
61
|
# @pool.set(sid, session_data, options)
|
60
62
|
|
61
63
|
@pool.pipelined do
|
62
|
-
|
64
|
+
b64_data = Base64.encode64 Marshal.dump(session_data)
|
65
|
+
b64_data = b64_data[0...-1]
|
66
|
+
@pool.set(prefixed(sid), b64_data)
|
63
67
|
# @pool.set(prefixed(sid), JSON.unparse(session_data))
|
64
68
|
@pool.expire(prefixed(sid), expiry.to_i) if expiry && expiry.to_i > 0
|
65
69
|
end
|
metadata
CHANGED
@@ -1,80 +1,56 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: redis_session_store
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.0.2
|
5
5
|
prerelease:
|
6
|
-
segments:
|
7
|
-
- 0
|
8
|
-
- 0
|
9
|
-
- 1
|
10
|
-
version: 0.0.1
|
11
6
|
platform: ruby
|
12
|
-
authors:
|
7
|
+
authors:
|
13
8
|
- Jaehwa Han
|
14
9
|
autorequire:
|
15
10
|
bindir: bin
|
16
11
|
cert_chain: []
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
dependencies:
|
21
|
-
- !ruby/object:Gem::Dependency
|
12
|
+
date: 2011-08-20 00:00:00.000000000Z
|
13
|
+
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
22
15
|
name: redis
|
23
|
-
|
24
|
-
requirement: &id001 !ruby/object:Gem::Requirement
|
16
|
+
requirement: &20031340 !ruby/object:Gem::Requirement
|
25
17
|
none: false
|
26
|
-
requirements:
|
27
|
-
- -
|
28
|
-
- !ruby/object:Gem::Version
|
29
|
-
|
30
|
-
segments:
|
31
|
-
- 0
|
32
|
-
version: "0"
|
18
|
+
requirements:
|
19
|
+
- - ! '>='
|
20
|
+
- !ruby/object:Gem::Version
|
21
|
+
version: '0'
|
33
22
|
type: :development
|
34
|
-
|
23
|
+
prerelease: false
|
24
|
+
version_requirements: *20031340
|
35
25
|
description:
|
36
26
|
email: drh@wafflestudio.com
|
37
27
|
executables: []
|
38
|
-
|
39
28
|
extensions: []
|
40
|
-
|
41
29
|
extra_rdoc_files: []
|
42
|
-
|
43
|
-
files:
|
30
|
+
files:
|
44
31
|
- lib/redis_session_store.rb
|
45
|
-
|
46
|
-
homepage: ""
|
32
|
+
homepage: ''
|
47
33
|
licenses: []
|
48
|
-
|
49
34
|
post_install_message:
|
50
35
|
rdoc_options: []
|
51
|
-
|
52
|
-
require_paths:
|
36
|
+
require_paths:
|
53
37
|
- lib
|
54
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
38
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
55
39
|
none: false
|
56
|
-
requirements:
|
57
|
-
- -
|
58
|
-
- !ruby/object:Gem::Version
|
59
|
-
|
60
|
-
|
61
|
-
- 0
|
62
|
-
version: "0"
|
63
|
-
required_rubygems_version: !ruby/object:Gem::Requirement
|
40
|
+
requirements:
|
41
|
+
- - ! '>='
|
42
|
+
- !ruby/object:Gem::Version
|
43
|
+
version: '0'
|
44
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
64
45
|
none: false
|
65
|
-
requirements:
|
66
|
-
- -
|
67
|
-
- !ruby/object:Gem::Version
|
68
|
-
|
69
|
-
segments:
|
70
|
-
- 0
|
71
|
-
version: "0"
|
46
|
+
requirements:
|
47
|
+
- - ! '>='
|
48
|
+
- !ruby/object:Gem::Version
|
49
|
+
version: '0'
|
72
50
|
requirements: []
|
73
|
-
|
74
51
|
rubyforge_project: nowarning
|
75
|
-
rubygems_version: 1.
|
52
|
+
rubygems_version: 1.8.6
|
76
53
|
signing_key:
|
77
54
|
specification_version: 3
|
78
55
|
summary: Store rails session using redis.
|
79
56
|
test_files: []
|
80
|
-
|