Class: SecureSession
- Inherits:
-
Object
- Object
- SecureSession
- Defined in:
- lib/secure_session.rb
Overview
session that is not stored in cookie, expires after 1.hour unconditionally
Class Method Summary collapse
Instance Method Summary collapse
- #[](key) ⇒ Object
- #[]=(key, val) ⇒ Object
-
#initialize(prefix) ⇒ SecureSession
constructor
A new instance of SecureSession.
- #set(key, val, expires: nil) ⇒ Object
- #ttl(key) ⇒ Object
Constructor Details
#initialize(prefix) ⇒ SecureSession
Returns a new instance of SecureSession.
5 6 7 |
# File 'lib/secure_session.rb', line 5 def initialize(prefix) @prefix = prefix end |
Class Method Details
.expiry ⇒ Object
9 10 11 |
# File 'lib/secure_session.rb', line 9 def self.expiry @expiry ||= 1.hour.to_i end |
.expiry=(val) ⇒ Object
13 14 15 |
# File 'lib/secure_session.rb', line 13 def self.expiry=(val) @expiry = val end |
Instance Method Details
#[](key) ⇒ Object
27 28 29 |
# File 'lib/secure_session.rb', line 27 def [](key) Discourse.redis.get(prefixed_key(key)) end |
#[]=(key, val) ⇒ Object
31 32 33 34 35 36 37 |
# File 'lib/secure_session.rb', line 31 def []=(key, val) if val == nil Discourse.redis.del(prefixed_key(key)) else Discourse.redis.setex(prefixed_key(key), SecureSession.expiry.to_i, val.to_s) end end |
#set(key, val, expires: nil) ⇒ Object
17 18 19 20 21 |
# File 'lib/secure_session.rb', line 17 def set(key, val, expires: nil) expires ||= SecureSession.expiry Discourse.redis.setex(prefixed_key(key), expires.to_i, val.to_s) true end |
#ttl(key) ⇒ Object
23 24 25 |
# File 'lib/secure_session.rb', line 23 def ttl(key) Discourse.redis.ttl(prefixed_key(key)) end |