redis_session_store 0.0.2 → 0.1

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.
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: []