CanCanCan-Squeel 
This is an adapter for the CanCanCan authorisation library to automatically generate SQL queries from ability rules.
This differs from the default ActiveRecord implementation in that it uses squeel to generate SQL queries. This no longer uses
includes(which incurs eager loading overhead)WHEREfragments, joined lexically usingORorANDorNOT.
As a side effect of using squeel, this allows self-joins in rule definitions.