session_manager 0.0.1 → 0.0.2

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 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