module Cased::ControllerHelpers
Private Instance Methods
cased_initial_request_context()
click to toggle source
# File lib/cased/controller_helpers.rb, line 114 def cased_initial_request_context { location: request.remote_ip, request_http_method: request.method, request_user_agent: request.headers['User-Agent'], request_url: request.original_url, request_id: request.request_id, } end
cased_setup_request_context()
click to toggle source
# File lib/cased/controller_helpers.rb, line 110 def cased_setup_request_context Cased.context.merge(cased_initial_request_context) end
current_guard_session()
click to toggle source
# File lib/cased/controller_helpers.rb, line 47 def current_guard_session @current_guard_session ||= Cased::CLI::Session.new( reason: params.dig(:guard_session, :reason), metadata: guard_session_metadata, authentication: cased_authorization, ) end
guard()
click to toggle source
# File lib/cased/controller_helpers.rb, line 63 def guard # TODO: Cancel previous session if not used return true unless guard_required? if guard_session_approved? Cased.context.merge(guard_session: current_guard_session) return true end if cased_authorization? && current_guard_session.create && current_guard_session.approved? Cased.context.merge(guard_session: current_guard_session) return true end render_guard end
guard_fallback_location()
click to toggle source
# File lib/cased/controller_helpers.rb, line 80 def guard_fallback_location if respond_to?(:root_path) root_path else '/' end end
guard_required?()
click to toggle source
# File lib/cased/controller_helpers.rb, line 18 def guard_required? true end
guard_session_approved?()
click to toggle source
# File lib/cased/controller_helpers.rb, line 55 def guard_session_approved? guard_session_id = params.dig(:guard_session, :id) return false unless guard_session_id.present? session = Cased::CLI::Session.find(guard_session_id) session.approved? end
guard_session_metadata()
click to toggle source
# File lib/cased/controller_helpers.rb, line 100 def guard_session_metadata { location: request.remote_ip, request_http_method: request.method, request_user_agent: request.headers['User-Agent'], request_url: request.original_url, request_id: request.request_id, } end
render_guard()
click to toggle source
# File lib/cased/controller_helpers.rb, line 88 def render_guard respond_to do |format| format.html do render template: 'cased/cli/sessions/new', layout: 'cased/cli' end format.json do render json: { error: true } end end end