Class: Hello::RequestManager::Abstract
- Inherits:
-
Object
- Object
- Hello::RequestManager::Abstract
- Defined in:
- lib/hello/request_manager/abstract.rb
Instance Method Summary collapse
- #clear_cache ⇒ Object
- #current_access ⇒ Object
- #current_accesses ⇒ Object
- #current_user ⇒ Object
- #env ⇒ Object
-
#initialize(request) ⇒ Abstract
constructor
A new instance of Abstract.
- #is_current_access?(access) ⇒ Boolean
- #is_current_user?(user) ⇒ Boolean
- #remote_ip ⇒ Object
- #request ⇒ Object
- #sign_in!(user, expires_at = nil, sudo_expires_at = nil) ⇒ Object
- #sign_out!(access = current_access) ⇒ Object
- #signed_in? ⇒ Boolean
- #stateful? ⇒ Boolean
-
#user_agent ⇒ Object
protected.
Constructor Details
#initialize(request) ⇒ Abstract
Returns a new instance of Abstract.
4 5 6 |
# File 'lib/hello/request_manager/abstract.rb', line 4 def initialize(request) @request = request end |
Instance Method Details
#clear_cache ⇒ Object
8 9 10 |
# File 'lib/hello/request_manager/abstract.rb', line 8 def clear_cache @current_access = @current_accesses = nil end |
#current_access ⇒ Object
32 33 34 |
# File 'lib/hello/request_manager/abstract.rb', line 32 def current_access fail NotImplementedError end |
#current_accesses ⇒ Object
28 29 30 |
# File 'lib/hello/request_manager/abstract.rb', line 28 def current_accesses fail NotImplementedError end |
#current_user ⇒ Object
24 25 26 |
# File 'lib/hello/request_manager/abstract.rb', line 24 def current_user current_access && current_access.user end |
#env ⇒ Object
72 73 74 |
# File 'lib/hello/request_manager/abstract.rb', line 72 def env request.env end |
#is_current_access?(access) ⇒ Boolean
20 21 22 |
# File 'lib/hello/request_manager/abstract.rb', line 20 def is_current_access?(access) current_access == access end |
#is_current_user?(user) ⇒ Boolean
16 17 18 |
# File 'lib/hello/request_manager/abstract.rb', line 16 def is_current_user?(user) current_user == user end |
#remote_ip ⇒ Object
64 65 66 |
# File 'lib/hello/request_manager/abstract.rb', line 64 def remote_ip request.remote_ip end |
#request ⇒ Object
68 69 70 |
# File 'lib/hello/request_manager/abstract.rb', line 68 def request @request end |
#sign_in!(user, expires_at = nil, sudo_expires_at = nil) ⇒ Object
40 41 42 43 44 45 46 47 48 49 50 51 |
# File 'lib/hello/request_manager/abstract.rb', line 40 def sign_in!(user, expires_at = nil, sudo_expires_at = nil) expires_at ||= 30.minutes.from_now attrs = { user: user, user_agent_string: user_agent, expires_at: expires_at, ip: remote_ip } attrs[:sudo_expires_at] = sudo_expires_at if sudo_expires_at ::Access.create!(attrs) end |
#sign_out!(access = current_access) ⇒ Object
53 54 55 56 |
# File 'lib/hello/request_manager/abstract.rb', line 53 def sign_out!(access = current_access) access && access.destroy! clear_cache end |
#signed_in? ⇒ Boolean
12 13 14 |
# File 'lib/hello/request_manager/abstract.rb', line 12 def signed_in? !!current_user end |
#stateful? ⇒ Boolean
36 37 38 |
# File 'lib/hello/request_manager/abstract.rb', line 36 def stateful? fail NotImplementedError end |
#user_agent ⇒ Object
protected
60 61 62 |
# File 'lib/hello/request_manager/abstract.rb', line 60 def user_agent request.user_agent || 'blank_user_agent' end |