mongo_sessions 0.3.4 → 0.3.5
Sign up to get free protection for your applications and to get access to all the features.
- data/README.rdoc +9 -1
- data/VERSION +1 -1
- data/lib/mongo_sessions/mongo_store.rb +11 -7
- data/mongo_sessions.gemspec +1 -1
- metadata +2 -2
data/README.rdoc
CHANGED
@@ -16,8 +16,16 @@ And change config/application.rb to something like:
|
|
16
16
|
|
17
17
|
= When Using in Rack Applications
|
18
18
|
|
19
|
-
|
19
|
+
Add the gem to your Gemfile:
|
20
20
|
|
21
|
+
gem "mongo_sessions", :require => "mongo_sessions/rack_mongo_store"
|
22
|
+
|
23
|
+
If you are not using Bundler.require:
|
24
|
+
|
25
|
+
require "mongo_sessions/rack_mongo_store"
|
26
|
+
|
27
|
+
Add the Rack Middleware to your app:
|
28
|
+
|
21
29
|
use Rack::Session::MongoStore
|
22
30
|
|
23
31
|
== Note on Patches/Pull Requests
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.3.
|
1
|
+
0.3.5
|
@@ -6,27 +6,31 @@ module MongoSessions
|
|
6
6
|
def collection
|
7
7
|
@collection
|
8
8
|
end
|
9
|
-
|
9
|
+
|
10
10
|
def initialize(app, options = {})
|
11
11
|
require 'mongo'
|
12
|
-
|
12
|
+
|
13
13
|
unless options[:collection]
|
14
14
|
raise "To avoid creating multiple connections to MongoDB, " +
|
15
15
|
"the Mongo Session Store will not create it's own connection " +
|
16
16
|
"to MongoDB - you must pass in a collection with the :collection option"
|
17
17
|
end
|
18
|
-
|
18
|
+
|
19
19
|
@collection = options[:collection].respond_to?(:call) ? options[:collection].call : options[:collection]
|
20
|
-
|
20
|
+
|
21
21
|
super
|
22
22
|
end
|
23
|
-
|
23
|
+
|
24
24
|
def destroy(env)
|
25
25
|
if sid = current_session_id(env)
|
26
26
|
collection.remove({'_id' => sid})
|
27
27
|
end
|
28
28
|
end
|
29
29
|
|
30
|
+
def destroy_session(env, sid, options)
|
31
|
+
collection.remove({'_id' => sid})
|
32
|
+
end
|
33
|
+
|
30
34
|
private
|
31
35
|
def get_session(env, sid)
|
32
36
|
sid ||= generate_sid
|
@@ -39,7 +43,7 @@ module MongoSessions
|
|
39
43
|
collection.update({'_id' => sid}, {'_id' => sid, 't' => Time.now, 's' => pack(session_data), 'user_id' => session_data['user_id']}, {:upsert => true})
|
40
44
|
sid
|
41
45
|
end
|
42
|
-
|
46
|
+
|
43
47
|
def pack(data)
|
44
48
|
[Marshal.dump(data)].pack("m*")
|
45
49
|
end
|
@@ -49,4 +53,4 @@ module MongoSessions
|
|
49
53
|
Marshal.load(packed.unpack("m*").first)
|
50
54
|
end
|
51
55
|
end
|
52
|
-
end
|
56
|
+
end
|
data/mongo_sessions.gemspec
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mongo_sessions
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.
|
4
|
+
version: 0.3.5
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -52,7 +52,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
52
52
|
version: '0'
|
53
53
|
requirements: []
|
54
54
|
rubyforge_project:
|
55
|
-
rubygems_version: 1.8.
|
55
|
+
rubygems_version: 1.8.23
|
56
56
|
signing_key:
|
57
57
|
specification_version: 3
|
58
58
|
summary: MongoDB Session store for Rails and Rack
|