lib/cancan/ability.rb
def expand_actions(actions)
      actions.map do |action|
        aliased_actions[action] ? [action, *expand_actions(aliased_actions[action])] : action
      end.flatten
    end
def expand_actions(actions)
      actions.map do |action|
        aliased_actions[action] ? [action, *expand_actions(aliased_actions[action])] : action
      end.flatten
    end
Accepts an array of actions and returns an array of actions which match.
 This should be called before "matches?" and other checking methods since they
 rely on the actions to be expanded.