Module: MinimumViableProduct::SessionConcern
- Extended by:
- ActiveSupport::Concern
- Defined in:
- app/controllers/concerns/minimum_viable_product/session_concern.rb
Constant Summary collapse
- COOKIE_ID =
'_session'
Instance Method Summary collapse
- #current_user ⇒ Object
- #current_user=(user) ⇒ Object (also: #sign_in)
- #redirect_back_or_default(default = nil) ⇒ Object (also: #redirect_to_back_or_default)
- #store_location(path = nil) ⇒ Object
Instance Method Details
#current_user ⇒ Object
16 17 18 19 20 21 22 23 24 |
# File 'app/controllers/concerns/minimum_viable_product/session_concern.rb', line 16 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 |
#current_user=(user) ⇒ Object Also known as: sign_in
11 12 13 |
# File 'app/controllers/concerns/minimum_viable_product/session_concern.rb', line 11 def current_user=(user) session[COOKIE_ID] = user.id end |
#redirect_back_or_default(default = nil) ⇒ Object Also known as: redirect_to_back_or_default
39 40 41 |
# File 'app/controllers/concerns/minimum_viable_product/session_concern.rb', line 39 def redirect_back_or_default(default=nil) redirect_to(session.delete(:return_to) || default || request.referer) end |
#store_location(path = nil) ⇒ Object
27 28 29 30 31 32 33 34 35 36 |
# File 'app/controllers/concerns/minimum_viable_product/session_concern.rb', line 27 def store_location(path=nil) session[:return_to] = case when !path.nil? path when request.get? request.url else request.referer end end |