# File lib/declarative_authorization/in_model.rb, line 100
        def self.with_permissions_to (*args)
          if Rails.version < "3.1"
            scopes[:with_permissions_to].call(self, *args)
          else
            options = args.last.is_a?(Hash) ? args.pop : {}
            privilege = (args[0] || :read).to_sym
            privileges = [privilege]

            parent_scope = scoped
            context =
                if options[:context]
                  options[:context]
                elsif parent_scope.klass.respond_to?(:decl_auth_context)
                  parent_scope.klass.decl_auth_context
                else
                  parent_scope.klass.name.tableize.to_sym
                end

            user = options[:user] || Authorization.current_user

            engine = options[:engine] || Authorization::Engine.instance
            engine.permit!(privileges, :user => user, :skip_attribute_test => true,
                           :context => context)

            obligation_scope_for( privileges, :user => user,
                :context => context, :engine => engine, :model => parent_scope.klass)
          end
        end