Provided by: libcatmandu-perl_1.0700-1_all bug

NAME

       Catmandu::Addable - Base class for all Catmandu modules need to implement add

SYNOPSIS

           package My::Adder;

           use Moo;
           use Data::Dumper;

           with 'Catmandu::Addable';

           sub add {
               my ($self,$object) = @_;

               print "So you want to add:\n";
               print Dumper($object);

               1;
           }

           sub commit {
               my $self = shift;

               print "And now you are done?\n";
           }

           package main;

           my $adder = My::Adder->new(fix => ['upcase(foo)']);

           # prints foo => BAR
           $adder->add({ foo => 'bar' });

           # prints:
           #  foo => BAR
           #  foo => BAR
           $adder->add_many([ { foo => 'bar' } , { foo => 'bar' }]);

           # prints a commit statement
           $adder->commit;

OPTIONS

       autocommit
           Autocommit when the exporter gets out of scope. Default 0.

METHODS

   add($hash)
       Receives a Perl hash and should return true or false.

   commit
       This method is usually called at the end of many add or add_many operations.

INHERIT

       If you provide an 'add' method, then automatically your package gets a add_many method,
       plus a fix attribute which transforms all Perl hashes provided to the add method.

SEE ALSO

       Catmandu::Fixable, Catmandu::Exporter , Catmandu::Store