Sha256: 52d9c3902b70a0b6edf52acd6633b568bedbfc7c3104de59b9d6d72ede059512

Contents?: true

Size: 772 Bytes

Versions: 4

Compression:

Stored size: 772 Bytes

Contents

module CurrentUser
	extend ActiveSupport::Concern

	included do
		helper_method :current_user
	end

	def set_current_user(user)
		session[:user_id] = user.id
		user.increment_login_stats!(request.remote_ip)
	end

	def current_user
		@current_user ||= User.find_by_id(session[:user_id]) if session[:user_id]
		@current_user
	end

	def store_location
		session[:return_to] = request.fullpath if request.get? && !request.xhr?
	end

	def require_user
		if !current_user
			store_location
			redirect_to login_url
			return false
		end
		true
	end
	
	def require_no_user
		if current_user
			redirect_to root_url
			return false
		end
		true
	end

	def redirect_back_or_default(default_url)
		redirect_to session[:return_to] || default_url
		session[:return_to] = nil
	end

end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
jt-rails-generator-user-1.1.3 lib/generators/jt/user/templates/controllers/concerns/current_user.rb
jt-rails-generator-user-1.1.2 lib/generators/jt/user/templates/controllers/concerns/current_user.rb
jt-rails-generator-user-1.1.1 lib/generators/jt/user/templates/controllers/concerns/current_user.rb
jt-rails-generator-user-1.1.0 lib/generators/jt/user/templates/controllers/concerns/current_user.rb