23
24
25
26
27
28
29
30
31
32
33
|
# File 'app/controllers/concerns/glib/auth/policy.rb', line 23
def policy(record)
return @__pundit_policy if defined? @__pundit_policy
if record.is_a?(Symbol) && record.to_s.ends_with?('_admin')
policy_class = CommonAdminPolicy
else
policy_class = Pundit::PolicyFinder.new(record).policy
end
raise "Policy not found for #{record.class}" unless policy_class
@__pundit_policy = policy_class.new(current_user, record, self, request, params, *policy_class.args_builder.call(self))
end
|