redis_session_store 0.0.1 → 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (2) hide show
  1. data/lib/redis_session_store.rb +6 -2
  2. metadata +28 -52
@@ -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
- session = data.nil? ? {} : Marshal.load(data)
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
- @pool.set(prefixed(sid), Marshal.dump(session_data))
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
- hash: 29
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
- date: 2011-07-16 00:00:00 +09:00
19
- default_executable:
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
- prerelease: false
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
- hash: 3
30
- segments:
31
- - 0
32
- version: "0"
18
+ requirements:
19
+ - - ! '>='
20
+ - !ruby/object:Gem::Version
21
+ version: '0'
33
22
  type: :development
34
- version_requirements: *id001
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
- has_rdoc: true
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
- hash: 3
60
- segments:
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
- hash: 3
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.5.0
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
-