3 package DBIx::Class::Journal::EvalWrap;
4 use base qw(DBIx::Class::Journal);
9 foreach my $method qw(journal_log_update journal_log_insert journal_log_delete) {
11 eval "sub $method " . ' {
12 my ( $self, @args ) = @_;
14 eval { $self->next::method(@args) };
27 DBIx::Class::Journal::EvalWrap - Wrap all journal ops with an eval { }
31 __PACKAGE__->journal_component("Journal::EvalWrap");
35 This component is a wrapper for the row methods in L<DBIx:Class::Journal> that
36 aides in retrofitting a schema for journaling, by wrapping all the journal CRUD
37 operations with a C<local $@; eval { ... }}.
39 This is desirable if you'd rather lose journal data than create runtime errors
40 when retrofitting existing code.