logo
Free, Micro AI Code Reviews That Run on Git Commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, Micro AI Code Reviews That Run on Git Commit | Product Hunt git-lrc - Free, Micro AI Code Reviews That Run on Git 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