logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

Message::Passing::Role::Filter - Simple abstraction for filtering messages

Description

       Both a producer and a consumer of messages, able to filter out messages based upon their contents, or
       permute the structure of messages.

Methods

consume
       Consumers a message, calling the filter method provided by the user with the message.

       In the case where the filter returns a message, outputs the message to the next step in the chain.

Name

       Message::Passing::Role::Filter - Simple abstraction for filtering messages

Required Attributes

output_to
       From Message::Passing::Role::Input.

Required Methods

filter
       Called to filter the message. Returns the mangled message.

       Note if you return undef then the message is not propagated further up the chain, which may be used for
       filtering out unwanted messages.

See Also

       Message::Passing
       Message::Passing::Manual::Concepts

Sponsorship

       This  module exists due to the wonderful people at Suretec Systems Ltd.  <http://www.suretecsystems.com/>
       who sponsored its development for its VoIP division called SureVoIP <http://www.surevoip.co.uk/> for  use
       with the SureVoIP API - <http://www.surevoip.co.uk/support/wiki/api_documentation>

Synopsis

           package My::Filter;
           use Moo;
           use namespace::clean -except => 'meta';

           with 'Message::Passing::Role::Filter';

           sub filter {
               my ($self, $message) = @_;
               # Do something with $message
               return $message; # Or return undef to halt message!
           }

           1;

See Also