session_manager 0.0.3 → 0.0.6
Sign up to get free protection for your applications and to get access to all the features.
- 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
|
-
|