Module: MinimumViableProduct::SessionConcern
- Extended by:
- ActiveSupport::Concern
- Included in:
- ApplicationController
- Defined in:
- app/controllers/mvp/concerns/session_concern.rb
Constant Summary collapse
- COOKIE_ID =
'_session'
Instance Method Summary collapse
- #current_user ⇒ Object
- #redirect_back_or_default(default = root_url) ⇒ Object (also: #redirect_to_back_or_default)
- #sign_in(user) ⇒ Object
- #store_location ⇒ Object
Instance Method Details
#current_user ⇒ Object
15 16 17 18 19 20 21 22 23 |
# File 'app/controllers/mvp/concerns/session_concern.rb', line 15 def current_user @current_user ||= begin if session[COOKIE_ID] Conversion.find(session[COOKIE_ID]) end rescue ActiveRecord::RecordNotFound session[COOKIE_ID] = nil end end |
#redirect_back_or_default(default = root_url) ⇒ Object Also known as: redirect_to_back_or_default
35 36 37 |
# File 'app/controllers/mvp/concerns/session_concern.rb', line 35 def redirect_back_or_default(default = root_url) redirect_to(session.delete(:return_to) || request.referer || default) end |
#sign_in(user) ⇒ Object
11 12 13 |
# File 'app/controllers/mvp/concerns/session_concern.rb', line 11 def sign_in(user) session[COOKIE_ID] = user.id end |
#store_location ⇒ Object
26 27 28 29 30 31 32 |
# File 'app/controllers/mvp/concerns/session_concern.rb', line 26 def store_location session[:return_to] = if request.get? request.url else request.referer end end |