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