session_manager 0.0.3 → 0.0.6
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.
- checksums.yaml +4 -4
- data/lib/session_manager/handler.rb +125 -26
- data/lib/session_manager/version.rb +1 -1
- data/session_manager.gemspec +4 -0
- data/spec/handler_spec.rb +103 -23
- metadata +82 -3
- data/lib/session_manager/base.rb +0 -22
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 00679bbdc1df2566058ee2baba9b24f05faa4079
|
4
|
+
data.tar.gz: 4ef9a4bb36b653fed2e976ea2e793e92128816f2
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 2aa3ef7d50a1be951c6b2cd498ba9d10eb35ed6b9cedf03caa0c1081c3f4402443bf325d0246b0f264ef34cf8dd61a029dcab154691449f82aa8776ed0f02123
|
7
|
+
data.tar.gz: 2a08c30681be1cce7d31782efefb9d7c0cbe902ba8a9104f04460263188dfcef11f73d533bc87e9589fb8f457f7c97a8c687ac2fcf19c873f65db6b3627e1f02
|
@@ -1,73 +1,172 @@
|
|
1
1
|
require 'redis'
|
2
2
|
require 'json'
|
3
3
|
require 'uuid'
|
4
|
-
require_relative 'base'
|
5
4
|
|
6
|
-
class SessionManager::Handler < Session_Manager::Base
|
7
5
|
|
8
|
-
|
9
|
-
|
6
|
+
class SessionManager::Handler
|
7
|
+
|
8
|
+
USERS_SESSIONS = 'users_sessions'
|
9
|
+
APPS_SESSIONS = 'applications_sessions'
|
10
|
+
|
11
|
+
|
12
|
+
def self.create_session(attribute,option)
|
13
|
+
if validate_option(option) && valid_token?(attribute,option)
|
10
14
|
param = parse_json(attribute)
|
11
15
|
collection = collection(option)
|
12
16
|
token = generate_token
|
13
17
|
session = session_generator(option,param,token)
|
14
|
-
|
18
|
+
result = get_redis.sadd(collection,session.to_json)
|
19
|
+
result ? return_response(200,token) : return_response(400,"Not created")
|
15
20
|
else
|
16
|
-
|
21
|
+
return_response(400,"Not created")
|
17
22
|
end
|
18
23
|
end
|
19
24
|
|
20
|
-
def verify_session(object,option)
|
21
|
-
if validate_json(object)
|
25
|
+
def self.verify_session(object,option)
|
26
|
+
if validate_option(option) && validate_json(object,option)
|
22
27
|
collection = collection(option)
|
23
|
-
|
28
|
+
result = get_redis.sismember(collection,object)
|
29
|
+
result ? return_response(200,"Ok") : return_response(400,"Not ok")
|
24
30
|
else
|
25
|
-
|
31
|
+
return_response(400,"Ok")
|
26
32
|
end
|
27
33
|
end
|
28
34
|
|
29
|
-
|
30
|
-
|
35
|
+
|
36
|
+
def self.delete_session(object,option)
|
37
|
+
if validate_option(option) && validate_json(object,option)
|
31
38
|
collection = collection(option)
|
32
|
-
|
39
|
+
result = get_redis.srem(collection,object)
|
40
|
+
result ? return_response(200,"Succesfully deleted") : return_response(400,"Not deleted")
|
33
41
|
else
|
34
|
-
|
42
|
+
return_response(400,"Not deleted")
|
35
43
|
end
|
36
44
|
end
|
37
45
|
|
38
|
-
private
|
46
|
+
private #######################################################################
|
47
|
+
|
48
|
+
def self.get_redis
|
49
|
+
redis = Redis.current
|
50
|
+
redis
|
51
|
+
end
|
52
|
+
|
53
|
+
|
54
|
+
def self.get_uuid
|
55
|
+
uuid = UUID.new
|
56
|
+
uuid
|
57
|
+
end
|
58
|
+
|
59
|
+
#generate token
|
60
|
+
def self.generate_token
|
61
|
+
get_uuid.generate
|
62
|
+
end
|
39
63
|
|
40
|
-
|
64
|
+
#determine the database collection to use
|
65
|
+
def self.collection(option)
|
41
66
|
user = option.fetch(:user) || false
|
42
|
-
app
|
67
|
+
app = option.fetch(:app) || false
|
43
68
|
collection = user ? USERS_SESSIONS : APPS_SESSIONS
|
44
69
|
return collection
|
45
70
|
end
|
46
71
|
|
47
|
-
|
72
|
+
#parse json
|
73
|
+
def self.parse_json(param)
|
48
74
|
JSON.parse(param)
|
49
75
|
end
|
50
76
|
|
51
|
-
|
77
|
+
#create a session hash for the database
|
78
|
+
def self.session_generator(option, param, token)
|
52
79
|
option[:user] ? { login: param['login'],token: token} : { api_key: param['api_key'],token: token}
|
53
80
|
end
|
54
81
|
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
82
|
+
#check if the passed keys are those which are waited
|
83
|
+
def self.valid_keys?(param,option)
|
84
|
+
option[:user] ? waited_keys = ["login","token"] : waited_keys = ["api_key","token"]
|
85
|
+
waited_keys.each do |k|
|
86
|
+
if !(param.has_key?(k))
|
87
|
+
return false
|
88
|
+
break
|
89
|
+
end
|
90
|
+
end
|
91
|
+
return true
|
92
|
+
end
|
93
|
+
|
94
|
+
#check if the passed token is valid
|
95
|
+
def self.valid_token?(token,option)
|
96
|
+
option[:user] ? attr = "login" : attr = "api_key"
|
97
|
+
begin
|
98
|
+
object = parse_json(token)
|
99
|
+
hash = object.to_hash
|
100
|
+
if !(hash.has_key?(attr)) || !(hash[attr].is_a?(String))
|
101
|
+
return false
|
102
|
+
end
|
103
|
+
rescue
|
104
|
+
return false
|
105
|
+
end
|
106
|
+
return true
|
107
|
+
end
|
108
|
+
|
109
|
+
#check if hash's values are String
|
110
|
+
def self.validate_values(hash)
|
111
|
+
values = hash.values
|
112
|
+
values.each do |v|
|
113
|
+
if !(v.is_a?(String))
|
114
|
+
return false
|
115
|
+
break
|
116
|
+
end
|
117
|
+
end
|
118
|
+
return true
|
59
119
|
end
|
60
120
|
|
61
|
-
|
121
|
+
#check if the hash values are not nil neither empty
|
122
|
+
def self.validate_argument(param)
|
62
123
|
param.values.each do |v|
|
63
124
|
if v.nil? || v.empty?
|
64
125
|
return false
|
65
126
|
break
|
66
|
-
else
|
67
|
-
return true
|
68
127
|
end
|
69
128
|
end
|
129
|
+
return true
|
130
|
+
end
|
131
|
+
|
132
|
+
#check if the json object is valid
|
133
|
+
def self.validate_json(param,option)
|
134
|
+
begin
|
135
|
+
object = parse_json(param)
|
136
|
+
hash = object.to_hash
|
137
|
+
return valid_keys?(hash,option) && validate_argument(hash) && validate_values(hash)
|
138
|
+
rescue
|
139
|
+
return false
|
140
|
+
end
|
70
141
|
end
|
71
142
|
|
143
|
+
#check if the option is valid
|
144
|
+
def self.validate_option(option)
|
145
|
+
if !(option.nil?) && option.is_a?(Hash) && !(option.empty?) && option.has_key?(:user) && option.has_key?(:app)
|
146
|
+
if option[:user] && option[:app]
|
147
|
+
return false
|
148
|
+
else
|
149
|
+
if !option[:user] && !option[:app]
|
150
|
+
return false
|
151
|
+
else
|
152
|
+
option.values.each do |v|
|
153
|
+
unless (v.is_a?(TrueClass) || v.is_a?(FalseClass))
|
154
|
+
return false
|
155
|
+
break
|
156
|
+
end
|
157
|
+
end
|
158
|
+
end
|
159
|
+
end
|
160
|
+
else
|
161
|
+
return false
|
162
|
+
end
|
163
|
+
return true
|
164
|
+
end
|
165
|
+
|
166
|
+
#change the return parameter in hash format
|
167
|
+
def self.return_response(code,msg)
|
168
|
+
{code: code,message: msg}
|
169
|
+
end
|
170
|
+
|
72
171
|
|
73
172
|
end
|
data/session_manager.gemspec
CHANGED
@@ -26,4 +26,8 @@ Gem::Specification.new do |spec|
|
|
26
26
|
spec.required_ruby_version = ">= 2.0"
|
27
27
|
spec.add_development_dependency "rspec", "~>2.6"
|
28
28
|
spec.add_development_dependency "uuid", "~> 2.3", ">= 2.3.7"
|
29
|
+
spec.add_development_dependency "autotest", "~> 4.4", ">= 4.4.6"
|
30
|
+
spec.add_development_dependency "autotest-fsevent", "~> 0.2", ">= 0.2.9"
|
31
|
+
spec.add_development_dependency "autotest-growl", "~> 0.2", ">= 0.2.16"
|
32
|
+
spec.add_development_dependency "ZenTest", "~> 4.10", ">= 4.10.0"
|
29
33
|
end
|
data/spec/handler_spec.rb
CHANGED
@@ -1,16 +1,13 @@
|
|
1
1
|
require_relative 'spec_helper'
|
2
2
|
|
3
3
|
describe SessionManager::Handler do
|
4
|
-
|
5
|
-
let (:session_handler) { SessionManager::Handler.new }
|
4
|
+
|
6
5
|
let (:login) { {login: 'login'}.to_json}
|
7
6
|
let (:api_key) { {api_key: '01'}.to_json}
|
8
7
|
let (:user_option) { {user: true, app: false}}
|
9
8
|
let (:app_option) { {user: false, app: true}}
|
10
9
|
let (:user_session) {{login: 'login',token: 'jdijenfdeifiirifffjr'}.to_json}
|
11
|
-
|
12
|
-
let (:app_session) {{api_key: '01',token: 'jdijenfdeifiirifffjr'}.to_json}
|
13
|
-
#let (:not_app_session) {{api_key: '02',token: 'jdijenfdeifiirr'}.to_json}
|
10
|
+
let (:app_session) {{api_key: '01',token: 'jdijenfdeifiirifffjr'}.to_json}
|
14
11
|
|
15
12
|
before :each do
|
16
13
|
redis=Redis.current
|
@@ -20,58 +17,141 @@ describe SessionManager::Handler do
|
|
20
17
|
redis.sadd('applications_sessions',app_session)
|
21
18
|
|
22
19
|
end
|
23
|
-
|
20
|
+
|
21
|
+
describe ".create_session" do
|
24
22
|
context "when a user's session is created" do
|
25
|
-
it { expect(
|
23
|
+
it { expect((SessionManager::Handler.create_session(login,user_option))[:code]).to eq 200}
|
26
24
|
end
|
27
25
|
|
28
26
|
context "When an app's session is created" do
|
29
|
-
it { expect(
|
27
|
+
it { expect((SessionManager::Handler.create_session(api_key,app_option))[:code]).to eq 200 }
|
28
|
+
end
|
29
|
+
|
30
|
+
context "When option is invalid" do
|
31
|
+
option = {u: true,a:false}
|
32
|
+
it { expect((SessionManager::Handler.create_session(api_key,option))[:code]).to eq 400 }
|
33
|
+
|
34
|
+
option = {user: true,app: true}
|
35
|
+
it { expect((SessionManager::Handler.create_session(api_key,option))[:code]).to eq 400 }
|
36
|
+
|
37
|
+
option = " "
|
38
|
+
it { expect((SessionManager::Handler.create_session(api_key,option))[:code]).to eq 400 }
|
39
|
+
|
40
|
+
option = {user: nil,app:false}
|
41
|
+
it { expect((SessionManager::Handler.create_session(api_key,option))[:code]).to eq 400 }
|
42
|
+
|
43
|
+
option = {user: "tata",app: "toto"}
|
44
|
+
it { expect((SessionManager::Handler.create_session(api_key,option))[:code]).to eq 400 }
|
45
|
+
end
|
46
|
+
|
47
|
+
context "When the object's column is invalid" do
|
48
|
+
api_key = {api_key: nil}.to_json
|
49
|
+
option = {user: false,app: true}
|
50
|
+
it { expect((SessionManager::Handler.create_session(api_key,option))[:code]).to eq 400 }
|
51
|
+
|
52
|
+
api_key ={api_key: 1}.to_json
|
53
|
+
it { expect((SessionManager::Handler.create_session(api_key,option))[:code]).to eq 400 }
|
54
|
+
|
55
|
+
login = {login: 'fatou'}
|
56
|
+
opt ={user: true,app:false}
|
57
|
+
it { expect((SessionManager::Handler.create_session(login,opt))[:code]).to eq 400 }
|
58
|
+
api_key = {ap: 'invalid'}.to_json
|
59
|
+
it { expect((SessionManager::Handler.create_session(api_key,option))[:code]).to eq 400 }
|
60
|
+
|
61
|
+
it { expect((SessionManager::Handler.create_session(nil,option))[:code]).to eq 400 }
|
62
|
+
|
63
|
+
it { expect((SessionManager::Handler.create_session(" ",option))[:code]).to eq 400 }
|
64
|
+
end
|
65
|
+
|
66
|
+
context "when the given attribute doesn't correspond to the option" do
|
67
|
+
api_key = {api_key: 'hhfrijijfri'}.to_json
|
68
|
+
option = {user: true,app: false}
|
69
|
+
it { expect((SessionManager::Handler.create_session(api_key,option))[:code]).to eq 400 }
|
70
|
+
|
30
71
|
end
|
31
72
|
end
|
32
73
|
|
33
|
-
describe "
|
74
|
+
describe ".verify_session" do
|
34
75
|
context "when a user's session is found" do
|
35
|
-
it { expect(
|
76
|
+
it { expect((SessionManager::Handler.verify_session(user_session,user_option))[:code]).to eq 200}
|
36
77
|
end
|
37
78
|
|
38
79
|
|
39
80
|
context "when a user's session is not found" do
|
40
|
-
not_user_session = {login: 'login',token: '
|
41
|
-
it { expect(
|
81
|
+
not_user_session = {login: 'login',token: ''}.to_json
|
82
|
+
it { expect((SessionManager::Handler.verify_session(not_user_session,user_option))[:code]).to eq 400}
|
42
83
|
end
|
43
|
-
|
84
|
+
|
85
|
+
context "when the user's session is not json" do
|
86
|
+
user_session = {login: 'login',token: 'jdijenfdeifiirr'}
|
87
|
+
it { expect((SessionManager::Handler.verify_session(user_session,user_option))[:code]).to eq 400}
|
88
|
+
end
|
89
|
+
|
90
|
+
context "when the param's keys are invalid" do
|
91
|
+
user_session = {logn: 'login',toke: 'jdijenfdeifiirr'}
|
92
|
+
it { expect((SessionManager::Handler.verify_session(user_session,user_option))[:code]).to eq 400}
|
93
|
+
end
|
94
|
+
|
95
|
+
context "when the param's values are not valid" do
|
96
|
+
user_session = {login: 1,token: 'jdijenfdeifiirr'}
|
97
|
+
it { expect((SessionManager::Handler.verify_session(user_session,user_option))[:code]).to eq 400}
|
98
|
+
|
99
|
+
user_session = {login: '',token: nil}
|
100
|
+
it { expect((SessionManager::Handler.verify_session(user_session,user_option))[:code]).to eq 400}
|
101
|
+
end
|
102
|
+
|
44
103
|
|
45
104
|
context "when app's session is found" do
|
46
|
-
it { expect(
|
105
|
+
it { expect((SessionManager::Handler.verify_session(app_session,app_option))[:code]).to eq 200}
|
47
106
|
end
|
48
107
|
|
49
108
|
context "when app's session is not found" do
|
50
|
-
not_app_session = {api_key: '02',token: '
|
51
|
-
it { expect(
|
109
|
+
not_app_session = {api_key: '02',token: 'jdijenfdeifi'}.to_json
|
110
|
+
it { expect((SessionManager::Handler.verify_session(not_app_session,app_option))[:code]).to eq 400}
|
52
111
|
end
|
53
112
|
end
|
54
113
|
|
55
|
-
describe "
|
114
|
+
describe ".delete_session" do
|
56
115
|
context "when a user's session is deleted" do
|
57
|
-
it { expect(
|
116
|
+
it { expect((SessionManager::Handler.delete_session(user_session,user_option))[:code]).to eq 200}
|
58
117
|
end
|
59
118
|
|
60
119
|
context "when a user's session is not deleted" do
|
61
120
|
not_user_session = {login: 'login',token: 'jdijenfd'}.to_json
|
62
|
-
it { expect(
|
121
|
+
it { expect((SessionManager::Handler.delete_session(not_user_session,user_option))[:code]).to eq 400}
|
122
|
+
end
|
123
|
+
|
124
|
+
context "when a user's session is not valid" do
|
125
|
+
not_user_session = {login: 'login',token: 'jdijenfdeifiir'}
|
126
|
+
it { expect((SessionManager::Handler.delete_session(not_user_session,user_option))[:code]).to eq 400}
|
127
|
+
|
128
|
+
not_user_session = {logn: 'login',tken: 'jdijenfdeifiir'}.to_json
|
129
|
+
it { expect((SessionManager::Handler.delete_session(not_user_session,user_option))[:code]).to eq 400}
|
130
|
+
|
131
|
+
not_user_session = {login: nil,token: nil}.to_json
|
132
|
+
it { expect((SessionManager::Handler.delete_session(not_user_session,user_option))[:code]).to eq 400}
|
133
|
+
|
134
|
+
not_user_session = {login: 1,token: 'jdijenfdeifiir'}.to_json
|
135
|
+
it { expect((SessionManager::Handler.delete_session(not_user_session,user_option))[:code]).to eq 400}
|
136
|
+
|
137
|
+
not_user_session = {login: '',token: 'jdijenfdeifiir'}.to_json
|
138
|
+
it { expect((SessionManager::Handler.delete_session(not_user_session,user_option))[:code]).to eq 400}
|
139
|
+
|
140
|
+
it { expect((SessionManager::Handler.delete_session(nil,user_option))[:code]).to eq 400}
|
141
|
+
|
142
|
+
it { expect((SessionManager::Handler.delete_session(nil,nil))[:code]).to eq 400}
|
143
|
+
|
63
144
|
end
|
64
145
|
|
65
146
|
context "when a app's session is found" do
|
66
|
-
it { expect(
|
147
|
+
it { expect((SessionManager::Handler.delete_session(app_session,app_option))[:code]).to eq 200}
|
67
148
|
end
|
68
149
|
|
69
150
|
context "when a app's session is not found" do
|
70
151
|
not_app_session = {api_key: '02',token: 'jdijenfdeifiirr'}.to_json
|
71
|
-
it { expect(
|
152
|
+
it { expect((SessionManager::Handler.delete_session(not_app_session,app_option))[:code]).to eq 400}
|
72
153
|
end
|
73
154
|
end
|
74
|
-
|
75
|
-
|
155
|
+
|
76
156
|
|
77
157
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: session_manager
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- fabira && atakem
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-05-
|
11
|
+
date: 2014-05-26 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -98,6 +98,86 @@ dependencies:
|
|
98
98
|
- - ">="
|
99
99
|
- !ruby/object:Gem::Version
|
100
100
|
version: 2.3.7
|
101
|
+
- !ruby/object:Gem::Dependency
|
102
|
+
name: autotest
|
103
|
+
requirement: !ruby/object:Gem::Requirement
|
104
|
+
requirements:
|
105
|
+
- - "~>"
|
106
|
+
- !ruby/object:Gem::Version
|
107
|
+
version: '4.4'
|
108
|
+
- - ">="
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
version: 4.4.6
|
111
|
+
type: :development
|
112
|
+
prerelease: false
|
113
|
+
version_requirements: !ruby/object:Gem::Requirement
|
114
|
+
requirements:
|
115
|
+
- - "~>"
|
116
|
+
- !ruby/object:Gem::Version
|
117
|
+
version: '4.4'
|
118
|
+
- - ">="
|
119
|
+
- !ruby/object:Gem::Version
|
120
|
+
version: 4.4.6
|
121
|
+
- !ruby/object:Gem::Dependency
|
122
|
+
name: autotest-fsevent
|
123
|
+
requirement: !ruby/object:Gem::Requirement
|
124
|
+
requirements:
|
125
|
+
- - "~>"
|
126
|
+
- !ruby/object:Gem::Version
|
127
|
+
version: '0.2'
|
128
|
+
- - ">="
|
129
|
+
- !ruby/object:Gem::Version
|
130
|
+
version: 0.2.9
|
131
|
+
type: :development
|
132
|
+
prerelease: false
|
133
|
+
version_requirements: !ruby/object:Gem::Requirement
|
134
|
+
requirements:
|
135
|
+
- - "~>"
|
136
|
+
- !ruby/object:Gem::Version
|
137
|
+
version: '0.2'
|
138
|
+
- - ">="
|
139
|
+
- !ruby/object:Gem::Version
|
140
|
+
version: 0.2.9
|
141
|
+
- !ruby/object:Gem::Dependency
|
142
|
+
name: autotest-growl
|
143
|
+
requirement: !ruby/object:Gem::Requirement
|
144
|
+
requirements:
|
145
|
+
- - "~>"
|
146
|
+
- !ruby/object:Gem::Version
|
147
|
+
version: '0.2'
|
148
|
+
- - ">="
|
149
|
+
- !ruby/object:Gem::Version
|
150
|
+
version: 0.2.16
|
151
|
+
type: :development
|
152
|
+
prerelease: false
|
153
|
+
version_requirements: !ruby/object:Gem::Requirement
|
154
|
+
requirements:
|
155
|
+
- - "~>"
|
156
|
+
- !ruby/object:Gem::Version
|
157
|
+
version: '0.2'
|
158
|
+
- - ">="
|
159
|
+
- !ruby/object:Gem::Version
|
160
|
+
version: 0.2.16
|
161
|
+
- !ruby/object:Gem::Dependency
|
162
|
+
name: ZenTest
|
163
|
+
requirement: !ruby/object:Gem::Requirement
|
164
|
+
requirements:
|
165
|
+
- - "~>"
|
166
|
+
- !ruby/object:Gem::Version
|
167
|
+
version: '4.10'
|
168
|
+
- - ">="
|
169
|
+
- !ruby/object:Gem::Version
|
170
|
+
version: 4.10.0
|
171
|
+
type: :development
|
172
|
+
prerelease: false
|
173
|
+
version_requirements: !ruby/object:Gem::Requirement
|
174
|
+
requirements:
|
175
|
+
- - "~>"
|
176
|
+
- !ruby/object:Gem::Version
|
177
|
+
version: '4.10'
|
178
|
+
- - ">="
|
179
|
+
- !ruby/object:Gem::Version
|
180
|
+
version: 4.10.0
|
101
181
|
description: '"module that create,delete and verify users'' and apps'' sessions"'
|
102
182
|
email:
|
103
183
|
- fabira90@gmail.com, atacraft@gmail.com
|
@@ -113,7 +193,6 @@ files:
|
|
113
193
|
- README.md
|
114
194
|
- Rakefile
|
115
195
|
- lib/session_manager.rb
|
116
|
-
- lib/session_manager/base.rb
|
117
196
|
- lib/session_manager/handler.rb
|
118
197
|
- lib/session_manager/version.rb
|
119
198
|
- session_manager.gemspec
|
data/lib/session_manager/base.rb
DELETED
@@ -1,22 +0,0 @@
|
|
1
|
-
module Session_Manager
|
2
|
-
|
3
|
-
class Base
|
4
|
-
attr_accessor :redis, :uuid
|
5
|
-
|
6
|
-
USERS_SESSIONS = 'users_sessions'
|
7
|
-
APPS_SESSIONS = 'applications_sessions'
|
8
|
-
|
9
|
-
def initialize
|
10
|
-
@redis = Redis.current
|
11
|
-
@uuid = UUID.new
|
12
|
-
end
|
13
|
-
|
14
|
-
def generate_token
|
15
|
-
@uuid.generate
|
16
|
-
end
|
17
|
-
|
18
|
-
end
|
19
|
-
end
|
20
|
-
|
21
|
-
|
22
|
-
|