Sha256: 2a3caf672d09ad5efed90999bc48ccc58424045ed7ef8aa06e5d90dfb38dc808
Contents?: true
Size: 1.02 KB
Versions: 12
Compression:
Stored size: 1.02 KB
Contents
class ApplicationController < ActionController::Base before_action :set_current_request_details before_action :authenticate private def authenticate if session_record = Session.find_by_id(cookies.signed[:session_token]) Current.session = session_record else redirect_to sign_in_path end end def set_current_request_details Current.user_agent = request.user_agent Current.ip_address = request.ip end <%- if options.lockable? %> def require_lock(wait: 1.hour, attempts: 10) counter = Kredis.counter("require_lock:#{request.remote_ip}:#{controller_path}:#{action_name}", expires_in: wait) counter.increment if counter.value > attempts redirect_to root_path, alert: "You've exceeded the maximum number of attempts" end end <%- end -%> <%- if sudoable? %> def require_sudo unless Current.session.sudo? redirect_to new_sessions_sudo_path(proceed_to_url: request.original_url) end end <%- end -%> end
Version data entries
12 entries across 12 versions & 1 rubygems