NAME¶
Catmandu::Transactional - Optional role for transactional stores
SYNOPSIS¶
# bag will be untouched
my $store->transaction(sub {
$store->bag('books')->add({title => 'Time must have a stop'});
die;
});
METHODS¶
transaction($sub)¶
"transaction" takes a coderef that will be
executed in the context of a transaction. If an error is thrown, the
transaction will rollback. If the code executes successfully, the transaction
will be committed. There is no support for nested transactions, nested calls
to "transaction" will simply be subsumed by
their parent transaction.