Ya_Acl - access control list (ACL) implementation for your Ruby application.
Ya_Acl provides a standalone object through which all checks are made. This means it is not tied to any framework. Note that this guide will show you only one possible way to use this component.
Keywords Resource - object to restrict access to. Privilege - action on the resource. Role - object, which can request for an access to a resource. Role(s) request for an access to the resource privileges. For example, resource “user” can have privilege “create.”
Key features Asserts - runtime checks, e.g. “whether logged in user is the owner of this object”. Checks can be assigned to specific roles of the current privilege, not just “on the privilege”. Owning multiple roles. If at least one of the user roles has access to the resource privilege, access granted. Role with global access to all resources. Passed as an argument to the
Builder::resources method. Roles inheritance. That is, we could define a role that will automatically get all resource privileges.
github link: ya_acl