Module: SessionsHelper
- Defined in:
- app/helpers/sessions_helper.rb
Instance Method Summary collapse
- #authorize_level(level) ⇒ Object
- #authorize_level?(level) ⇒ Boolean
-
#current_user ⇒ Object
Provid the user currently signed in.
- #current_user=(user) ⇒ Object
-
#redirect_back_or(default, message = nil) ⇒ Object
Redirect the user to the stored url or the default one provided.
- #require_login ⇒ Object
-
#sign_in(user, permanent: false) ⇒ Object
Sign in a user with a cookie (remove on browser close).
-
#sign_out ⇒ Object
Sign out a user by removing the cookie.
-
#signed_in? ⇒ Boolean
Check if there is a user signed in.
-
#store_location ⇒ Object
-
Args :.
-
Instance Method Details
#authorize_level(level) ⇒ Object
66 67 68 69 70 71 |
# File 'app/helpers/sessions_helper.rb', line 66 def (level) unless (level) store_location redirect_to login_path, error: t("snapuser.errors.unauthorized") end end |
#authorize_level?(level) ⇒ Boolean
62 63 64 |
# File 'app/helpers/sessions_helper.rb', line 62 def (level) current_user && current_user.level <= level end |
#current_user ⇒ Object
Provid the user currently signed in.
-
Returns :
- the user currently signed in
22 23 24 |
# File 'app/helpers/sessions_helper.rb', line 22 def current_user @current_user ||= User.find_by_remember_token([:remember_token]) end |
#current_user=(user) ⇒ Object
14 15 16 |
# File 'app/helpers/sessions_helper.rb', line 14 def current_user=(user) @current_user = user end |
#redirect_back_or(default, message = nil) ⇒ Object
Redirect the user to the stored url or the default one provided
-
Args :
-
default path to redirect to
-
-
Returns :
57 58 59 60 |
# File 'app/helpers/sessions_helper.rb', line 57 def redirect_back_or(default, = nil) redirect_to([:return_to] || default, ) session.delete(:return_to) end |
#require_login ⇒ Object
73 74 75 |
# File 'app/helpers/sessions_helper.rb', line 73 def require_login redirect_to login_path, error: t("snapuser.errors.unconnected") unless signed_in? end |
#sign_in(user, permanent: false) ⇒ Object
Sign in a user with a cookie (remove on browser close)
-
Args :
- a user to sign in
-
Returns :
9 10 11 12 |
# File 'app/helpers/sessions_helper.rb', line 9 def sign_in(user, permanent: false) [:remember_token] = { value: user.remember_token, expires: (Time.now + 2592000 if permanent) } self.current_user = user end |
#sign_out ⇒ Object
Sign out a user by removing the cookie.
36 37 38 39 |
# File 'app/helpers/sessions_helper.rb', line 36 def sign_out self.current_user = nil .delete(:remember_token) end |
#signed_in? ⇒ Boolean
Check if there is a user signed in.
-
Returns :
- true or false
31 32 33 |
# File 'app/helpers/sessions_helper.rb', line 31 def signed_in? !current_user.nil? end |
#store_location ⇒ Object
-
Args :
-
Returns :
47 48 49 |
# File 'app/helpers/sessions_helper.rb', line 47 def store_location [:return_to] = { value: request.fullpath, expires: 1.minute.from_now } end |