diff --git a/lib/action_policy/behaviours/policy_for.rb b/lib/action_policy/behaviours/policy_for.rb index 4abc54f..770f51e 100644 --- a/lib/action_policy/behaviours/policy_for.rb +++ b/lib/action_policy/behaviours/policy_for.rb @@ -11,6 +11,11 @@ module PolicyFor def policy_for(record:, with: nil, namespace: authorization_namespace, context: nil, allow_nil: false, default: default_authorization_policy_class, strict_namespace: authorization_strict_namespace) context = context ? authorization_context.merge(context) : authorization_context + if with.is_a?(String) || with.is_a?(Symbol) + record = with + with = nil + end + policy_class = with || ::ActionPolicy.lookup( record, namespace:, context:, allow_nil:, default:, strict_namespace: