Skip to content

Instantly share code, notes, and snippets.

@rafakuch
rafakuch / gist:3842277
Created October 5, 2012 20:45
Possible solution for CanCan Issue #646?
class CanCan::ModelAdapters::ActiveRecordAdapter
def conditions
if @rules.size == 1 && @rules.first.base_behavior
# Return the conditions directly if there's just one definition
dig(tableized_conditions(@rules.first.conditions).dup)
else
@rules.reverse.inject(false_sql) do |sql, rule|
merge_conditions(sql, dig(tableized_conditions(rule.conditions).dup), rule.base_behavior)