# File lib/declarative_authorization/in_controller.rb, line 51
    def permitted_to! (privilege, object_or_sym = nil, options = {}, &block)
      context = object = nil
      if object_or_sym.nil?
        context = self.class.decl_auth_context
      elsif !object_or_sym.respond_to?(:proxy_reflection) and object_or_sym.is_a?(Symbol)
        context = object_or_sym
      else
        object = object_or_sym
      end

      non_bang = options.delete(:non_bang)
      args = [
        privilege,
        {:user => current_user,
         :object => object,
         :context => context,
         :skip_attribute_test => object.nil?}.merge(options)
      ]
      if non_bang
        authorization_engine.permit?(*args, &block)
      else
        authorization_engine.permit!(*args, &block)
      end
    end