module Authentication

Public Instance Methods

current_(<%= domain_model %> if session[:<%= domain_model %>_id].present? @current_<%= domain_model %> ||= <%= domain_model_class %>.find(session[:<%= domain_model %>_id]) end rescue ActiveRecord::RecordNotFound => e reset_session) click to toggle source
# File lib/generators/templates/controllers/concerns/authentication.rb, line 15
def current_<%= domain_model %>
  if session[:<%= domain_model %>_id].present?
    @current_<%= domain_model %> ||= <%= domain_model_class %>.find(session[:<%= domain_model %>_id])
  end
rescue ActiveRecord::RecordNotFound => e
  reset_session
end
redirect_authenticated() click to toggle source
# File lib/generators/templates/controllers/concerns/authentication.rb, line 39
def redirect_authenticated
  if signed_in?
    redirect_to_target_or_default(root_path, notice: t(:"auto_auth.sessions.existing"))
  end
end
signed_in?() click to toggle source
# File lib/generators/templates/controllers/concerns/authentication.rb, line 23
def signed_in?
  !!current_<%= domain_model %>
end

def authenticate!
  unless signed_in?
    store_target_location
    redirect_to(sign_in_url, alert: t(:"auto_auth.sessions.required"))
  end
end

def redirect_to_target_or_default(default, *args)
  redirect_to(session[:return_to] || default, *args)
  session[:return_to] = nil
end

Private Instance Methods

store_target_location() click to toggle source
# File lib/generators/templates/controllers/concerns/authentication.rb, line 48
def store_target_location
  session[:return_to] = request.url
end