session_manager 0.0.1 → 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 99b4d5e7ccb73991486dc249c4bceb19e81eb216
4
- data.tar.gz: 3c25975edf9d5991f3a7b868b7a4c0cedfd94ed5
3
+ metadata.gz: ea516539cd796d14c8b1a566d132fd0d1f1c8ecb
4
+ data.tar.gz: eb3afabe532a8c26dc1a3c037b3623bb63d20f19
5
5
  SHA512:
6
- metadata.gz: 33adb3d3f40d04ee051a4b76ab424f48279538746d6c98d8419c05d3645e36a4bb6cd5aa7c77768fa3a27ee11615624b249e91ef66ecee35a259fed540e3787e
7
- data.tar.gz: 386b9348f90d8c3ff634caebb22cabfcaf4a608b677cfda952217667193f3fa2597f02ef70db93eef4f975e47bab58ada13430dffce5bed0df3d881cb3bb5cc0
6
+ metadata.gz: 87310f3999d002fa50e3fb1f5ddbe63132d411149e910f9c2ddeeee2faa19601d40f9a5bdfc18730fc0f17e9527064f2d86ea4c6916b430cedee0d3672d3c50f
7
+ data.tar.gz: 50672d02f01dbd25ec73c86f3ca9aa666e79c38f3eb24143429ab58b5a5080c696a8af83ad4374c097153c014ee77f44632fd36af715951bbe14d785b307f5b1
@@ -6,24 +6,37 @@ require_relative 'base'
6
6
  class Session_Handler < SessionManager::Base
7
7
 
8
8
  def create_session(attribute,option)
9
- param = parse_json(attribute)
10
- collection = collection(option)
11
- token = generate_token
12
- session = session_generator(option,param,token)
13
- @redis.sadd(collection,session.to_json)
14
-
9
+ if validate_json(attribute)
10
+ param = parse_json(attribute)
11
+ collection = collection(option)
12
+ token = generate_token
13
+ session = session_generator(option,param,token)
14
+ @redis.sadd(collection,session.to_json)
15
+ else
16
+ false
17
+ end
15
18
  end
16
19
 
17
- def verify_session(object,option)
20
+ def verify_session(object,option)
21
+ if validate_json(object)
18
22
  collection = collection(option)
19
23
  @redis.sismember(collection,object)
24
+ else
25
+ false
26
+ end
20
27
  end
21
28
 
22
29
  def delete_session(object,option)
30
+ if validate_json(object)
23
31
  collection = collection(option)
24
32
  @redis.srem(collection,object)
33
+ else
34
+ false
35
+ end
25
36
  end
26
37
 
38
+ private #####################################################################################################
39
+
27
40
  def collection(option)
28
41
  user = option.fetch(:user) || false
29
42
  app = option.fetch(:app) || false
@@ -39,7 +52,22 @@ class Session_Handler < SessionManager::Base
39
52
  option[:user] ? { login: param['login'],token: token} : { api_key: param['api_key'],token: token}
40
53
  end
41
54
 
55
+ def validate_json(param)
56
+ obj = parse_json(param)
57
+ hash = obj.to_hash
58
+ validate_argument(hash)
59
+ end
42
60
 
61
+ def validate_argument(param)
62
+ param.values.each do |v|
63
+ if v.nil? || v.empty?
64
+ return false
65
+ break
66
+ else
67
+ return true
68
+ end
69
+ end
70
+ end
43
71
 
44
72
 
45
73
  end
@@ -1,3 +1,3 @@
1
1
  module SessionManager
2
- VERSION = "0.0.1"
2
+ VERSION = "0.0.2"
3
3
  end
@@ -8,9 +8,9 @@ describe Session_Handler do
8
8
  let (:user_option) { {user: true, app: false}}
9
9
  let (:app_option) { {user: false, app: true}}
10
10
  let (:user_session) {{login: 'login',token: 'jdijenfdeifiirifffjr'}.to_json}
11
- let (:not_user_session) {{login: 'login',token: 'jdijenfd'}.to_json}
11
+ #let (:not_user_session) {{login: 'login',token: 'jdijenfd'}.to_json}
12
12
  let (:app_session) {{api_key: '01',token: 'jdijenfdeifiirifffjr'}.to_json}
13
- let (:not_app_session) {{api_key: '02',token: 'jdijenfdeifiirr'}.to_json}
13
+ #let (:not_app_session) {{api_key: '02',token: 'jdijenfdeifiirr'}.to_json}
14
14
 
15
15
  before :each do
16
16
  redis=Redis.current
@@ -22,11 +22,11 @@ describe Session_Handler do
22
22
  end
23
23
  describe "#create_session" do
24
24
  context "when a user's session is created" do
25
- it { expect(session_handler.create_session(login,user_option ) ).to be_true}
25
+ it { expect(session_handler.create_session(login,user_option)).to be_true}
26
26
  end
27
27
 
28
28
  context "When an app's session is created" do
29
- it { expect(session_handler.create_session(api_key,app_option ) ).to be_true }
29
+ it { expect(session_handler.create_session(api_key,app_option)).to be_true }
30
30
  end
31
31
  end
32
32
 
@@ -37,6 +37,7 @@ describe Session_Handler do
37
37
 
38
38
 
39
39
  context "when a user's session is not found" do
40
+ not_user_session = {login: 'login',token: 'jdijenfd'}.to_json
40
41
  it { expect(session_handler.verify_session(not_user_session,user_option) ).to be_false}
41
42
  end
42
43
 
@@ -46,7 +47,8 @@ describe Session_Handler do
46
47
  end
47
48
 
48
49
  context "when app's session is not found" do
49
- it { expect(session_handler.verify_session(not_app_session,app_option) ).to be_false}
50
+ not_app_session = {api_key: '02',token: 'jdijenfdeifiirr'}.to_json
51
+ it { expect(session_handler.verify_session(not_app_session,app_option) ).to be_false}
50
52
  end
51
53
  end
52
54
 
@@ -56,6 +58,7 @@ describe Session_Handler do
56
58
  end
57
59
 
58
60
  context "when a user's session is not deleted" do
61
+ not_user_session = {login: 'login',token: 'jdijenfd'}.to_json
59
62
  it { expect(session_handler.delete_session(not_user_session,user_option)).to be_false}
60
63
  end
61
64
 
@@ -64,6 +67,7 @@ describe Session_Handler do
64
67
  end
65
68
 
66
69
  context "when a app's session is not found" do
70
+ not_app_session = {api_key: '02',token: 'jdijenfdeifiirr'}.to_json
67
71
  it { expect(session_handler.delete_session(not_app_session,app_option)).to be_false}
68
72
  end
69
73
  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.1
4
+ version: 0.0.2
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-07 00:00:00.000000000 Z
11
+ date: 2014-05-14 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler