Problem: When wrapping a model using SimpleDelegator and passing to authorize! an undefined method _policy_cache_key error occurs.
This is, I think, because ActionPolicy uses refinements to add a method _policy_cache_key to Object.
However SimpleDelegator does not inherit from Object, but maybe BasicObject.
To fix this we need to pass the unwrapped model to authorize! or add the missing method, _policy_cache_key, to our wrapper object.