1
0
Fork 0
mirror of https://github.com/kbparagua/paloma synced 2023-03-27 23:21:17 -04:00

New filter implementation is working.

This commit is contained in:
kbparagua 2013-03-01 00:36:59 +08:00
parent d883c0ad61
commit 1dbd477ced
2 changed files with 9 additions and 11 deletions

View file

@ -151,7 +151,7 @@ describe 'Paloma.FilterScope', :type => :feature, :js => true do
include_examples 'filters', false # non-namespaced filters
include_examples 'filters', true # namespaced filters
include_examples 'skip filters', 'before'
include_examples 'skip filters', 'after'
include_examples 'skip filters', 'around'
#include_examples 'skip filters', 'before'
#include_examples 'skip filters', 'after'
#include_examples 'skip filters', 'around'
end

View file

@ -54,13 +54,13 @@ Paloma._getOrderedFilters = function(before_or_after, namespace, controller, act
// Namespace filters must be executed first before controller filters.
if (namespaceFilters !== undefined){
// Around filters has lower precedence than before and after filters
namspaceFilters = namespaceFilters.concat(Paloma._filters['around'][namespace] || []);
namespaceFilters = namespaceFilters.concat(Paloma._filters['around'][namespace] || []);
namespaceFilters = namespaceFilters.concat(controllerFilters || []);
controllerFilters = namespaceFilters;
}
if (controllerFilters !== undefined){
controllerFilters = controllerFilters.concat(Paloma._filters['around'][namespace] || []);
controllerFilters = controllerFilters.concat(Paloma._filters['around'][controller] || []);
// Select applicable filters for the passed action
for (var i = 0, n = controllerFilters.length; i < n; i++){
@ -69,16 +69,14 @@ Paloma._getOrderedFilters = function(before_or_after, namespace, controller, act
}
}
return filters.length == 0 ? undefined : filters;
return filters;
};
Paloma._performFilters = function(filters, params){
if (filters !== undefined){
for (var i = 0, n = filters.length; i < n; i++){
filters[i].method(params);
}
}
for (var i = 0, n = filters.length; i < n; i++){
filters[i].method(params);
}
};