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