NAME
Catmandu::Addable - Base class for all Catmandu modules need to implement add
SYNOPSIS
package
My::Adder;
use
Moo;
use
Data::Dumper;
sub
add {
my
(
$self
,
$object
) =
@_
;
"So you want to add:\n"
;
Dumper(
$object
);
1;
}
sub
commit {
my
$self
=
shift
;
"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
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.