Just a bit of the background of the issue.
When there are multiple rules, CanCan does the sensible thing by merging them together. However, if one of the conditions is of type MetaWhere::Column, it fails. MetaWhere is intelligent enough to work with multiple conditions defined in any format whatsoever. So, this fix simply ensures that with multiple rules, where one of them is of type MetaWhere::Column, CanCan doesn't merge them and just pass it on to MetaWhere.
Fix to handle MetaWhere and non-MetaWhere conditions correctly.
@ryanb: Hey, can you please review? Thanks.
Temporarily lock cancan to 1.6.7
because 1.6.8 has a problem with handling of cannot directive, which was brought in by ryanb/cancan#632