module Pundit::Logger::LogControllerPolicySummary
Once a controller action completes, the names of the Pundit
policies invoked are logged to the configured logger.
Intended for mixing into Rails controllers
Functionality controlled by Pundit::Logger.log_controller_policy_summary; disable by setting that to false.
Private Instance Methods
invoked_policy_names()
click to toggle source
# File lib/pundit_logger/log_controller_policy_summary.rb, line 34 def invoked_policy_names return [] unless respond_to?(:policies) policies.map do |_, policy_obj| policy_obj.class.name end end
invoked_policy_scope_names()
click to toggle source
# File lib/pundit_logger/log_controller_policy_summary.rb, line 41 def invoked_policy_scope_names Pundit.invoked_policy_scope_names.to_a end
log_policies_invoked()
click to toggle source
# File lib/pundit_logger/log_controller_policy_summary.rb, line 22 def log_policies_invoked policy_names = invoked_policy_names + invoked_policy_scope_names message = if policy_names.empty? 'None' else policy_names.uniq.sort.join(', ') end Pundit::Logger.log 'Controller Action Policies ' \ "Invoked: #{message}" end