NAME

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

VERSION

version 0.10

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.