Pundit
Minimal authorization through OO design and pure Ruby classes
...The policy_scope feature is especially helpful—it restricts index or list queries to only the records the current user can see by applying scopes defined in the policy class. Pundit encourages placing authorization logic close to the model domain without muddling controllers or views, making permissions easier to reason about and testable.