View on
MetaCPAN
search.cpan.org is shutting down
For details read Perl NOC. After June 25th this page will redirect to MetaCPAN.org
Karen Etheridge > Devel-Events > Devel::Events::Filter

Download:
Devel-Events-0.09.tar.gz

Dependencies

Annotate this POD

Website

CPAN RT

New  3
Open  1
View/Report Bugs
Module Version: 0.09   Source  

NAME ^

Devel::Events::Filter - A handler role that filters events and delegates to another

VERSION ^

version 0.09

SYNOPSIS ^

        package MyFilter;
        use Moose;

        with qw/Devel::Events::Filter/;

        sub filter_event {
                my ( $self, @event ) = @_;

                return (map { ... } @event);
        }

DESCRIPTION ^

This role allows you to build event filters easily:

USAGE ^

To use this role you must provide the filter_event method.

This role provides an optional handler attribute and a new_event method, and does the Devel::Events::Handler role implicitly.

If a sub handler was provided then the filtered event will be delegated to it, but due to the usefulness of filters as debugging aids this is currently optional.

In the future this design choice might change.

ATTRIBUTES ^

handler

A Devel::Events::Handler to delegate to.

METHODS ^

new_event @event

Filters the event through filter_event.

If handler is set, delegates the filtered event to the handler. If not no_handler_error is called instead.

no_handler_error @filtered_event

This method is called if no handler is present. It is a stub, but in the future it may raise an error.

SEE ALSO ^

Devel::Events, Devel::Events::Handler, Devel::Events::Filter::Stamp, Devel::Events::Filter::Warn

SUPPORT ^

Bugs may be submitted through the RT bug tracker (or bug-Devel-Events@rt.cpan.org).

AUTHOR ^

יובל קוג'מן (Yuval Kogman) <nothingmuch@woobling.org>

COPYRIGHT AND LICENCE ^

This software is copyright (c) 2007 by יובל קוג'מן (Yuval Kogman).

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.

syntax highlighting: