redis_session_store 0.0.2 → 0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (4) hide show
  1. checksums.yaml +7 -0
  2. data/README.md +11 -0
  3. data/lib/redis_session_store.rb +10 -15
  4. metadata +20 -18
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 558aa2fc893d80d5f7b3150be9fdf19ce9482614
4
+ data.tar.gz: ceb4c817c4458869c058e14e41f6112a034b9c26
5
+ SHA512:
6
+ metadata.gz: 070416e85386e74cfa967f166ae3cf654c809f2ed5b27966b959e79b4195f13d49f957bf69dc8433e866b1bd3804040ee7118ce60e2ae56567698083c8da6c52
7
+ data.tar.gz: 7995d628c38fb4bc42cd1cf46d70071f3cf79ee0b8847058e166f848d6e30c4306c7ec33d2d2ca53ce986e7ddf587ebeae8fbbe492dd8482bafcf0c071ef33b1
data/README.md ADDED
@@ -0,0 +1,11 @@
1
+ ## Redis session store
2
+ #### Usage
3
+
4
+ In your `Gemfile`
5
+
6
+ gem 'redis_session_store'
7
+
8
+ In your `config/initializers/session_store.rb`,
9
+
10
+ YourApp::Application.config.session_store :redis_session_store, key: "_your_key"
11
+
@@ -15,6 +15,7 @@ class ActionDispatch::Session::RedisSessionStore < ActionDispatch::Session::Abst
15
15
  def initialize(app, options = {})
16
16
  # Support old :expires option
17
17
  options[:expire_after] ||= options[:expires]
18
+ options[:key_prefix] ||= options[:key]
18
19
 
19
20
  super
20
21
 
@@ -38,33 +39,29 @@ class ActionDispatch::Session::RedisSessionStore < ActionDispatch::Session::Abst
38
39
  sid ||= generate_sid
39
40
  begin
40
41
  data = @pool.get prefixed(sid)
41
-
42
+
42
43
  session = data.nil? ? {} : Marshal.load(Base64.decode64(data))
43
- # session = data.nil? ? {} : JSON.parse(data)
44
44
  rescue Errno::ECONNREFUSED
45
45
  session = {}
46
46
  end
47
47
  [sid, session]
48
48
  end
49
49
 
50
- def destroy(env)
51
- if sid = current_session_id(env)
52
- @pool.del(sid)
53
- end
54
- rescue Errno::ECONNREFUSED
55
- false
56
- end
50
+ def destroy(env)
51
+ if sid = current_session_id(env)
52
+ @pool.del(sid)
53
+ end
54
+ rescue Errno::ECONNREFUSED
55
+ false
56
+ end
57
57
 
58
- def set_session(env, sid, session_data)
59
- options = env['rack.session.options']
58
+ def set_session(env, sid, session_data, options)
60
59
  expiry = options[:expire_after] || nil
61
- # @pool.set(sid, session_data, options)
62
60
 
63
61
  @pool.pipelined do
64
62
  b64_data = Base64.encode64 Marshal.dump(session_data)
65
63
  b64_data = b64_data[0...-1]
66
64
  @pool.set(prefixed(sid), b64_data)
67
- # @pool.set(prefixed(sid), JSON.unparse(session_data))
68
65
  @pool.expire(prefixed(sid), expiry.to_i) if expiry && expiry.to_i > 0
69
66
  end
70
67
 
@@ -74,5 +71,3 @@ class ActionDispatch::Session::RedisSessionStore < ActionDispatch::Session::Abst
74
71
  end
75
72
 
76
73
  end
77
-
78
-
metadata CHANGED
@@ -1,56 +1,58 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: redis_session_store
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
5
- prerelease:
4
+ version: '0.1'
6
5
  platform: ruby
7
6
  authors:
8
7
  - Jaehwa Han
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2011-08-20 00:00:00.000000000Z
11
+ date: 2013-08-11 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
14
  name: redis
16
- requirement: &20031340 !ruby/object:Gem::Requirement
17
- none: false
15
+ requirement: !ruby/object:Gem::Requirement
18
16
  requirements:
19
- - - ! '>='
17
+ - - '>='
20
18
  - !ruby/object:Gem::Version
21
19
  version: '0'
22
- type: :development
20
+ type: :runtime
23
21
  prerelease: false
24
- version_requirements: *20031340
25
- description:
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - '>='
25
+ - !ruby/object:Gem::Version
26
+ version: '0'
27
+ description: Rails 4.0 compatible session store using redis
26
28
  email: drh@wafflestudio.com
27
29
  executables: []
28
30
  extensions: []
29
31
  extra_rdoc_files: []
30
32
  files:
31
33
  - lib/redis_session_store.rb
32
- homepage: ''
34
+ - README.md
35
+ homepage: https://github.com/drunkhacker/redis-session-store
33
36
  licenses: []
37
+ metadata: {}
34
38
  post_install_message:
35
39
  rdoc_options: []
36
40
  require_paths:
37
41
  - lib
38
42
  required_ruby_version: !ruby/object:Gem::Requirement
39
- none: false
40
43
  requirements:
41
- - - ! '>='
44
+ - - '>='
42
45
  - !ruby/object:Gem::Version
43
46
  version: '0'
44
47
  required_rubygems_version: !ruby/object:Gem::Requirement
45
- none: false
46
48
  requirements:
47
- - - ! '>='
49
+ - - '>='
48
50
  - !ruby/object:Gem::Version
49
51
  version: '0'
50
52
  requirements: []
51
- rubyforge_project: nowarning
52
- rubygems_version: 1.8.6
53
+ rubyforge_project:
54
+ rubygems_version: 2.0.3
53
55
  signing_key:
54
- specification_version: 3
55
- summary: Store rails session using redis.
56
+ specification_version: 4
57
+ summary: Rails 4.0 compatible session store using redis
56
58
  test_files: []