def apply_able(self, ability, queryset, request):
p = self.plugin_for(queryset.model)<EOL>if not hasattr(p, '<STR_LIT>' % ability):<EOL><INDENT>p = self.get_default_plugin()<EOL><DEDENT>if not hasattr(p, '<STR_LIT>' % ability):<EOL><INDENT>logger.debug("<STR_LIT>", ability, queryset.model)<EOL>return queryset<EOL><DEDENT>logger.debug("<STR_LIT>", ability, queryset.model)<EOL>m = getattr(p, '<STR_LIT>' % ability)<EOL>return m(queryset, request)<EOL>
The apply_able(ability, queryset, request) applies the ability
to the instance set determined by the queryset for the user requesting the request.

This call is passed to the resolved or default plugin if the plugin is
found and the method named apply_<ability> is found in the plugin, and returns
a value returned by the found plugin method.

A queryset restricted by only allowed objects assumed to be returned by the plugin.

Standard `visible`, `changeable`, and `deleteable` abilities are requested
by the admin.