my %filter_spec;
sub filter {
- my ($class, $key, $value, $prefix) = @_;
+ my ($class, $key, $value, $prefix, $path, @additional_tokens) = @_;
my $filters = _get_filters($class);
- return ($prefix . $key, $value) unless $filters->{$key};
+ return ($prefix . $key, $value, $path) unless $filters->{$key};
- return $filters->{$key}->($key, $value, $prefix);
+ return $filters->{$key}->($key, $value, $prefix, @additional_tokens);
}
sub _get_filters {
=head1 NAME
-SL::Helper::Sorted - Manager mixin for filtered results.
+SL::DB::Helper::Filtered - Manager mixin for filtered results.
=head1 SYNOPSIS
In the manager:
- use SL::Helper::Filtered;
+ use SL::DB::Helper::Filtered;
__PACKAGE__->add_filter_specs(
custom_filter_name => sub {
=item C<filter $key, $value, $prefix>
-Tells the manager to pply custom filters. If none is registered for C<$key>,
+Tells the manager to apply custom filters. If none are registered for C<$key>,
returns C<$key, $value>.
Otherwise the filter code is called.
=item *
-You are expeceted to return exactly one key and one value. That can mean you
+You are expected to return exactly one key and one value. That can mean you
have to encapsulate your arguments into C<< or => [] >> or C<< and => [] >> blocks.
=item *